fsuage: fix typo in previous change
[gnulib.git] / ChangeLog
blobc2b565073cac5d2814eb88ae5b575055b2033a29
1 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3         fsuage: fix typo in previous change
4         * lib/fsusage.c: Remove stray include of full-read.h.
5         Problem reported by Sam Steingold for macOS (Bug#28669).
7 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
9         fsusage: remove SVR2 support
10         SVR2 was obsolete by 1986 and is no longer supported by anybody,
11         and its code was getting in the way of use of this module by
12         Emacs, which has its own ‘read’ function anyway.
13         * lib/fsusage.c: Do not include sys/filsys.h.
14         (get_fs_usage): Remove SVR2-specific code.
15         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
16         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
17         * modules/fsusage (Depends-on): Do not depend on full-read.
19         Simplify autoupdate of licenses
20         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21         place.
23 2017-10-01  Bruno Haible  <bruno@clisp.org>
25         vma-iter: Add support for GNU/Hurd.
26         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
27         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
29 2017-09-30  Bruno Haible  <bruno@clisp.org>
31         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
32         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
33         fail when module 'largefile' is in use.
34         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
35         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
36         Don't test HAVE_SYS_PROCFS_H.
38 2017-09-30  Bruno Haible  <bruno@clisp.org>
40         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
41         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
42         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
43         * modules/havelib (Depends-on): Add host-cpu-c-abi.
45 2017-09-30  Bruno Haible  <bruno@clisp.org>
47         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
48         * lib/uniname/uniname.c (unicode_name_character): Add braces around
49         scope of local variables.
51 2017-09-28  Bruno Haible  <bruno@clisp.org>
53         string: code style
54         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
55         substitutable variables.
56         * modules/string (Makefile.am): Likewise.
58 2017-09-26  Bruno Haible  <bruno@clisp.org>
60         uniname/uniname-tests: Tighten code.
61         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
62         local variables into one.
64 2017-09-26  Bruno Haible  <bruno@clisp.org>
66         vma-iter: Improvements for Linux and BSD platforms.
67         - Add support for DragonFly BSD.
68         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
69         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
70         Read the entire file into memory in a single system call.
71         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
72         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
74 2017-09-26  Bruno Haible  <bruno@clisp.org>
76         vma-iter: Provide the protection flags on FreeBSD.
77         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
78         skip three fields between the addresses and the protection flags.
80 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
82         glob: remove bogus extern decl
83         * lib/glob.c (__glob_pattern_type): Remove now-spurious
84         extern declaration.  Problem reported by Adhemerval Zanella in:
85         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
87 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
89         uniname/uniname-tests: integer overflow fix
90         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
91         Check for integer overflow.
93         duplocale-tests: fix unlikely crash
94         * tests/test-duplocale.c (get_locale_dependent_values):
95         Don’t crash with absurdly long month names.
97         maint: fix overflow checking in nap.h
98         * modules/chown-tests:
99         * modules/fchownat-tests, modules/fdutimensat-tests:
100         * modules/futimens-tests, modules/lchown-tests:
101         * modules/stat-time-tests, modules/utime-tests:
102         * modules/utimens-tests, modules/utimensat-tests:
103         Depend on intprops.
104         * tests/nap.h: Include intprops.h.
105         (diff_timespec): Handle overflow properly.
107         sys_types: update URL
108         * m4/sys_types_h.m4: Use https: URL.
110         parse-datetime: fix dependency
111         * modules/parse-datetime (Depends-on): Depend
112         on nstrftime, not strftime.
114         parse-datetime, posixtm: avoid uninit access
115         * lib/parse-datetime.y (parse_datetime2):
116         * lib/posixtm.c (posixtime):
117         Do not access uninitialized storage, even though the resulting
118         value is never used.
120 2017-09-25  Bruno Haible  <bruno@clisp.org>
122         vma-iter: Improvements for BSD platforms.
123         - Add support for GNU/kFreeBSD.
124         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
125         - Speed up on OpenBSD.
126         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
127         (vma_iterate_bsd): New function.
128         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
129         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
130         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
131         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
133 2017-09-23  Bruno Haible  <bruno@clisp.org>
135         strfmon_l: New module.
136         * modules/strfmon_l: New file.
137         * lib/strfmon_l.c: New file.
138         * m4/strfmon_l.m4: New file.
139         * doc/posix-functions/strfmon_l.texi: Mention the new module.
140         * modules/strfmon_l-tests: New file.
141         * tests/test-strfmon_l.c: New file.
143         monetary: New module.
144         * modules/monetary: New file.
145         * lib/monetary.in.h: New file.
146         * m4/monetary_h.m4: New file.
147         * doc/posix-headers/monetary.texi: Mention the new module.
148         * modules/monetary-tests: New file.
149         * tests/test-monetary.c: New file.
150         * modules/monetary-c++-tests: New file.
151         * tests/test-monetary-c++.cc: New file.
152         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
154 2017-09-23  Bruno Haible  <bruno@clisp.org>
156         duplocale tests: Fix test crash on Linux/x86.
157         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
158         locale from the current thread before freeing it.
160 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
162         mktime: port to OpenVMS
163         Problem reported by John E. Malmberg in:
164         https://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00100.html
165         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
167 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
169         manywarnings: port to GCC on 64-bit MS-Windows
170         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
171         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
172         https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00392.html
174 2017-09-13  Bruno Haible  <bruno@clisp.org>
176         all: Replace many more http URLs by https URLs. Update stale URLs.
177         * users.txt: Remove mention of 'newts'.
178         * lib/localename.c: Update comment about LANG_SOTHO.
180 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
182         all: Replace many http URLs by https URLs.
184 2017-09-12  Bruno Haible  <bruno@clisp.org>
186         doc: Prefer https URLs where possible.
187         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
188         * doc/ld-output-def.texi: Remove unavailable URL.
190 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
192         maintainer-makefile: FTP -> HTTPS
193         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
194         of FTP, which is planned to be decommissioned on 2017-11-01.
196 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
198         libc-config: Fix __GNUC_PREREQ macro.
199         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
200         __GNUC_MINOR.
202 2017-09-09  Bruno Haible  <bruno@clisp.org>
204         gnulib-tool: Simplify commit from 2015-08-20.
205         * gnulib-tool (func_add_or_update): Remove local variable
206         is_binary_file.
208 2017-09-08  Bruno Haible  <bruno@clisp.org>
210         stddef: Avoid conflict with system-defined max_align_t.
211         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
212         Reported by Werner Lemberg <wl@gnu.org> in
213         <https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00185.html>.
214         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
215         (max_align_t): Define as a macro.
216         (GNULIB_defined_max_align_t): New macro. Guards against multiple
217         definitions of rpl_max_align_t in different copies of gnulib-generated
218         <stddef.h>.
220 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
222         libc-config: port to MSVC
223         Problems reported by Gisle Vanem in:
224         http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00016.html
225         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
226         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
227         * m4/__inline.m4: New file.
228         * modules/libc-config (Files): Add it.
229         (Depends-on): Use it.
231         glob: Use enum for __glob_pattern_type result
232         From a patch proposed by Adhemerval Zanella in:
233         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
234         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
235         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
236         * lib/glob_internal.h (__glob_pattern_type):
237         * lib/glob.c (glob):
238         * lib/glob_pattern_p.c (__glob_pattern_p):
239         Use them.
241         glob: fix for use in glibc
242         Problem reported by Adhemerval Zanella in:
243         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
244         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
245         Do not redefine if _LIBC.
247 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
249         glob: fix bugs with long login names
250         Problem reported by Adhemerval Zanella in:
251         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
252         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
253         (glob): Use the same scratch buffer for both getlogin_r and
254         getpwnam_r.  Don’t require preallocation of the login name.  This
255         simplifies storage allocation, and corrects the handling of
256         long login names.
258 2017-09-02  Bruno Haible  <bruno@clisp.org>
260         dirent: Update doc.
261         * doc/posix-headers/dirent.texi: More concrete list of platforms.
263 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
265         glob: fix getpwnam_r errno typo
266         * lib/glob.c (glob): Fix longstanding misuse of errno after
267         getpwnam_r, which returns an error number rather than setting
268         errno.
270         glob: fix typo in recent change
271         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
272         Fix recently-introduced typo.
274 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
276         glob: don't save and restore errno unnecessarily
277         * lib/glob.c (glob): Don't save and restore errno
278         merely because we have getpwnam_r.
280         glob: don't assume getpwnam_r
281         * lib/glob.c (glob): Port recent patches to platforms
282         lacking getpwnam_r.
284         scratch_buffer: don’t use private glibc API
285         Suggested by Florian Weimer in:
286         http://lists.gnu.org/archive/html/bug-gnulib/2017-09/msg00004.html
287         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
288         * lib/scratch_buffer_grow.c: Rename to
289         lib/malloc/scratch_buffer_grow.c.
290         * lib/scratch_buffer_grow_preserve.c: Rename to
291         lib/malloc/scratch_buffer_grow_preserve.c.
292         * lib/scratch_buffer_set_array_size.c: Rename to
293         lib/malloc/scratch_buffer_set_array_size.c.
294         * lib/scratch_buffer.h: New file.
295         * modules/scratch_buffer (Files, Makefile.am):
296         Adjust to source-file renaming.
298 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
300         glob: use scratch_buffer instead of extend_alloca
301         Much of the lib/glob.c part of this patch comes from a glibc patch
302         proposed by Adhemerval Zanella in:
303         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
304         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
305         included via glob.h, does this for us now.
306         (__set_errno): Remove, as libc-config does this for us now.
307         Include <scratch_buffer.h>.
308         (GETPW_R_SIZE_MAX): Remove.
309         (glob): Use struct scratch_buffer instead of extend_alloca.
310         * lib/glob.in.h: Include libc-config.h rather than
311         including <sys/cdefs.h> conditionally.
312         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
313         (__glibc_unlikely, __restrict, weak_alias):
314         Remove, as libc-config does this for us now.
315         * m4/glob.m4 (gl_PREREQ_GLOB):
316         Remove sys/cdefs.h tests; no longer needed.
317         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
318         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
320         scratch_buffer: new module
321         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
322         * lib/scratch_buffer_grow_preserve.c:
323         * lib/scratch_buffer_set_array_size.c:
324         New files, copied from glibc with very minor changes that can be
325         copied back.
326         * modules/scratch_buffer: New file.
328         libc-config: new module
329         * MODULES.html.sh: Add libc-config.
330         * lib/cdefs.h: New file, copied from the GNU C Library with very
331         minor changes that can be copied back.
332         * lib/libc-config.h, modules/libc-config: New files.
334 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
336         glob: match dangling symlinks
337         This fixes a bug I inadvertently introduced to Gnulib when I
338         merged glibc glob back into gnulib on 2007-10-16.  This fix is
339         inspired by a patch proposed for glibc by Adhemerval Zanella in:
340         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
341         * doc/posix-functions/glob.texi: Update list of affected platforms.
342         * lib/glob.c (__lstat64): New macro.
343         (is_dir): New function.
344         (glob, glob_in_dir): Match symlinks even if they are dangling.
345         (link_stat, link_exists_p): Remove.  All uses removed.
346         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
347         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
348         * modules/glob-tests (Depends-on): Add symlink.
349         * tests/test-glob.c: Include errno.h, unistd.h.
350         (BASE): New macro.
351         (main): Test dangling symlinks, if symlinks are supported.
353         glob, backupfile: inode 0 is a valid inode number
354         * doc/posix-functions/readdir.texi (readdir):
355         * doc/posix-headers/dirent.texi (dirent.h):
356         Document more readdir portability issues.
357         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
358         (numbered_backup): Don’t treat inode 0 any differently from
359         other inode values.
360         * lib/glob.c (struct readdir_result): Remove skip_entry member.
361         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
362         All uses removed.
363         * modules/glob (Depends-on): Remove d-ino.
365         glob: simplify symlink detection
366         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
367         uint8_t, as C99 does not require uint8_t.
368         (struct readdir_result): Use it.  Do not define skip_entry unless
369         it is needed; this saves a byte on platforms lacking d_ino.
370         (readdir_result_type, readdir_result_skip_entry):
371         New functions, replacing ...
372         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
373         ... these functions, which were removed.  This makes the callers
374         easier to read.  All callers changed.
375         (D_INO_TO_RESULT): Now empty if there is no d_ino.
377 2017-08-30  Pádraig Brady  <P@draigBrady.com>
379         fts-tests: tag as a longrunning-test so not included by default
380         * modules/fts-tests: This test takes about 20s on current systems,
381         and uses about 285M of space on ext4.
383 2017-08-30  Pádraig Brady  <P@draigBrady.com>
385         renameat2: fix compilation on alpine linux
386         * m4/renameat.m4: Check for <linux/fs.h> presence.
387         * lib/renameat2.h: Only include <linux/fs.h> if present.
388         Reported by Assaf Gordon on Alpine Linux.
390 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
392         glob: try to port recent changes to MS-Windows
393         Problem reported by Bruno Haible in:
394         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00170.html
395         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
396         * lib/glob.in.h (__glob_pattern_p): ... to here.
398 2017-08-24  Eric Blake  <eblake@redhat.com>
400         warnings: fix compilation with old autoconf
401         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
402         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
403         AC_DEFUN.
404         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
405         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
407 2017-08-24  Bruno Haible  <bruno@clisp.org>
409         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
410         * modules/glob (Depends-on): Add c99.
412 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
414         glob: fix typo that broke platforms lacking d_ino
415         This typo also hurt performance on GNU/Linux and similar hosts.
416         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
417         in previous change.
419 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
421         glob: merge from glibc with Zanella glob changes
422         Merge glob from glibc, with changes for glob proposed
423         by Adhemerval Zanella in the thread starting here:
424         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
425         plus some fixes for this merge.
426         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
427         New files, ported from glibc.
428         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
429         with __restrict.
430         (__size_t): Remove.  All uses replaced by size_t.
431         (size_t): Define by defining __need_size_t and including <stddef.h>.
432         This should work even in non-glibc platforms, where any name
433         pollution is OK.
434         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
435         (struct stat64): Don’t worry about __GLOB_GNULIB.
436         (glob, globfree, glob_pattern_p): Remove macros for
437         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
438         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
439         but set errno.
440         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
441         removed since the glibc behavior works on null pointers.
442         Do not include stdio.h; old SunOS is irrelevant now.
443         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
444         Include glob_internal.h.
445         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
446         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
447         worked only coincidentally.
448         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
449         Remove macros; now done in glob.in.h.
450         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
451         (glob): Properly initialize glob structure with
452         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
453         Remove old code using SHELL since Bash no longer
454         uses this.
455         (glob, prefix_array): Separate MS code better.
456         (glob, glob_in_dir): Use C99 decls before statements when glibc
457         does.
458         (glob_in_dir): Remove old Amiga and VMS code.
459         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
460         separate files.
461         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
462         (__glibc_unlikely):
463         Move here from glob.c.
464         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
465         (weak_alias): New macro.
466         (__size_t): Remove.  All uses replaced by size_t.
467         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
468         * modules/glob (Files): Add +lib/glob_internal.h,
469         lib/glob_pattern_p.c, lib/globfree.c.
470         (Depends-on): Remove snippet/arg-nonnull.
472 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
474         glob: port to clang's Undefined Sanitizer
475         Problem reported by Tim Rühsen in:
476         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00144.html
477         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
478         (glob_in_dir): Do not rely on undefined behavior in accessing
479         struct members beyond their bounds.  Use a flexible array member
480         instead.
482 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
484         vc-list-files: port to Solaris 10
485         * build-aux/vc-list-files: Don't assume test -e works.
487 2017-08-21  Karl Berry  <karl@freefriends.org>
489         * doc/posix-functions/srandom.texi (srandom): typo }.
491 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
493         git-version-gen: port to Solaris 10
494         Problem reported by Dagobert Michelsen in:
495         http://lists.gnu.org/archive/html/grep-devel/2017-08/msg00002.html
496         * build-aux/git-version-gen (v_from_git):
497         Use expr instead of shell substitution.
499 2017-08-19  Bruno Haible  <bruno@clisp.org>
501         host-cpu-c-abi: Improve detection of MIPS ABI.
502         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
503         _MIPS_SIM.
505 2017-08-17  Bruno Haible  <bruno@clisp.org>
507         hypot tests: Fix test failure on FreeBSD 11.0/x86.
508         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
510 2017-08-17  Bruno Haible  <bruno@clisp.org>
512         float: Fix LDBL_MIN value on FreeBSD/x86.
513         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
515 2017-08-17  Bruno Haible  <bruno@clisp.org>
517         random: Fix test compilation failure on Cygwin 1.5.25.
518         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
519         HAVE_DECL_SETSTATE.
520         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
521         declared.
522         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
523         HAVE_DECL_SETSTATE.
524         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
525         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
526         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
527         * doc/posix-functions/random.texi: Likewise.
528         * doc/posix-functions/setstate.texi: Likewise.
529         * doc/posix-functions/srandom.texi: Likewise.
531 2017-08-16  Bruno Haible  <bruno@clisp.org>
533         stdnoreturn: Fix test compilation failure on Cygwin.
534         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
535         <stdnoreturn.h> replacement.
536         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
537         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
539 2017-08-16  Bruno Haible  <bruno@clisp.org>
541         thread: Fix conflict with pthread_sigmask module.
542         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
543         it's defined as a macro.
544         * modules/thread (Depends-on): Add pthread_sigmask.
546 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
548         rename: port better to NetBSD
549         * doc/posix-functions/rename.texi (rename): NetBSD 7
550         does not have the link-count bug.
551         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
552         broken merely because rename ("a", "b") removes "a" when the two
553         names are hard links to the same file.
555 2017-08-16  Bruno Haible  <bruno@clisp.org>
557         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
558         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
559         the target file names with '$(srcdir)/'.
560         * modules/unicase/locale-language (Makefile.am): Likewise.
561         * modules/unicase/special-casing (Makefile.am): Likewise.
562         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
563         * modules/unictype/category-byname (Makefile.am): Likewise.
564         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
565         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
566         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
567         * modules/unictype/property-byname (Makefile.am): Likewise.
568         * modules/unictype/scripts (Makefile.am): Likewise.
569         * modules/uninorm/composition (Makefile.am): Likewise.
571 2017-08-16  Bruno Haible  <bruno@clisp.org>
573         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
574         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
575         value for OpenBSD.
577 2017-08-16  Bruno Haible  <bruno@clisp.org>
579         rename, renameat: Update doc regarding NetBSD.
580         * doc/posix-functions/rename.texi: Clarify that when using
581         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
582         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
583         version.
585 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
587         renameat2: port better to macOS
588         * lib/renameat2.c (renameat2): Use renameatx_np if available.
590         futimens: don’t assume struct timespec layout
591         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
592         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
593         * tests/test-fdutimensat.c (main):
594         * tests/test-futimens.h (test_futimens):
595         * tests/test-lutimens.h (test_lutimens):
596         * tests/test-utimens.h (test_utimens):
597         * tests/test-utimensat.c (main):
598         Don’t assume that struct timespec is a two-member structure in
599         tv_sec, tv_nsec order.  Although this is true on all platforms we
600         know about, POSIX does not guarantee it.
602         rename: document+test NetBSD rename
603         Test failure reported by Bruno Haible in:
604         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00104.html
605         This is an area where NetBSD is better-behaved than POSIX,
606         so allow the NetBSD behavior in tests.
607         * doc/posix-functions/rename.texi:
608         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
609         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
611 2017-08-15  Bruno Haible  <bruno@clisp.org>
613         renameat: Ensure declaration in <stdio.h> on NetBSD.
614         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
615         * doc/posix-functions/renameat.texi: Mention this problem.
617 2017-08-15  Bruno Haible  <bruno@clisp.org>
619         duplocale: Work around NetBSD 7.0 bug.
620         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
621         * lib/duplocale.c: Add comment about NetBSD problem.
622         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
624 2017-08-15  Bruno Haible  <bruno@clisp.org>
626         duplocale tests: Verify use with *_l functions.
627         * modules/duplocale-tests (configure.ac): Test for uselocale and
628         some *_l functions.
629         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
630         from main.
631         (get_locale_dependent_values_from, test_with_locale_parameter): New
632         functions.
633         (main): Test both test_with_uselocale and test_with_locale_parameter.
635 2017-08-15  Bruno Haible  <bruno@clisp.org>
637         extensions: Enable NetBSD specific extensions.
638         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
640 2017-08-14  Bruno Haible  <bruno@clisp.org>
642         open, openat: Update doc about O_CLOEXEC.
643         * doc/posix-functions/open.texi: More concrete list of platforms.
644         * doc/posix-functions/openat.texi: Likewise.
646 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
648         open: support O_CLOEXEC
649         * NEWS, doc/posix-functions/open.texi:
650         * doc/posix-functions/openat.texi: Document this.
651         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
652         (GNULIB_defined_O_CLOEXEC): New symbol.
653         * lib/open.c: Include cloexec.h.
654         (open): Support O_CLOEXEC.
655         * lib/openat.c: Include cloexec.h.
656         (rpl_openat): Support O_CLOEXEC.
657         * lib/popen-safer.c: Do not include cloexec.h.
658         (open_noinherit): Remove.
659         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
660         * lib/save-cwd.c: Do not include cloexec.h.
661         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
662         * m4/open-cloexec.m4: New file.
663         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
664         Replace 'open' if O_CLOEXEC is not present.
665         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
666         Replace 'openat' if O_CLOEXEC is not present.
667         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
668         * modules/open (Files): Add m4/open-cloexec.m4.
669         (Depends-on): Depend on cloexec if replacing 'open'.
670         * modules/openat (Files): Add m4/open-cloexec.m4.
671         (Depends-on): Depend on cloexec if replacing openat.
672         * modules/popen-safer (Depends-on): Remove cloexec.
673         * modules/save-cwd (Depends-on): Remove cloexec, and add
674         fd-safer-flag and 'open'.
676 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
678         reallocarray: minor fixes
679         * doc/glibc-functions/reallocarray.texi: Update version numbers.
680         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
681         * modules/reallocarray (License): Change from GPL to LGPL.
682         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
683         Indent properly and don't use tabs.
685 2017-08-13  Darshit Shah  <darnir@gnu.org>
687         reallocarray: New module
688         reallocarray is a new function in glibc 2.26 to safely allocate an array
689         of memory locations with integer overflow protection.
690         * MODULES.html.sh: Add reallocarray.
691         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
692         * lib/reallocarray.c: New file to implement module reallocarray.
693         * lib/stdlib.in.h: Add function declarations for reallocarray.
694         * m4/reallocarray.m4: New file.
695         * m4/stdlib_h.m4: Declare reallocarray.
696         * modules/reallocarray: New file.
697         * modules/reallocarray-test: New file.
698         * modules/stdlib: Coerce stdlib.h to export reallocarray.
699         * tests/test-reallocarray.c: New test.
701 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
703         dirent-safer: fix cloexec race
704         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
705         (opendir_safer): Use F_DUPFD_CLOEXEC.
706         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
707         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
708         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
709         instead of dup_safer.
711         fts: fix cloexec races
712         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
713         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
714         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
715         (fd_ring_check): Set cloexec flag on new file descriptors.
716         (fts_build, fd_ring_check): While we’re at it, make sure the
717         resulting file descriptor is not 0, 1, or 2, since that is easy.
719 2017-08-11  Bruno Haible  <bruno@clisp.org>
721         fts tests: Fix link error.
722         Reported by Tom G. Christensen in
723         https://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00078.html
724         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
726 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
728         fts: port recent changes to CentOS 6
729         Problem reported by Tom G. Christensen in:
730         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00064.html
731         * lib/fts.c (fsword): New type.
732         (struct dev_type, filesystem_type): Use it.
733         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
734         Also, check for f_type only if fstatfs and sys/vfs.h work.
736 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
738         tempname: do not depend on secure_getenv
739         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
740         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
741         * modules/tempname (Depends-on): Remove secure_getenv.
743 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
745         extensions: add _OPENBSD_SOURCE
746         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
748 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
749             Bruno Haible  <bruno@clisp.org>
751         manywarnings: Add support for C++.
752         * build-aux/g++-warning.spec: New file.
753         * m4/manywarnings-c++.m4: New file.
754         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
755         redirects to manywarnings-c++.m4.
756         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
758 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
760         git-version-gen: another fix for tags with "-"
761         * build-aux/git-version-gen: Improve fix for tags containing "-".
762         Suggested by Markus Armbruster in:
763         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00034.html
765 2017-08-06  Bruno Haible  <bruno@clisp.org>
767         warnings, manywarnings: Add support for multiple languages, not just C.
768         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
769         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
770         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
771         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
772         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
773         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
774         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
775         of the current language. If C++ is the current language, modify
776         WARN_CXXFLAGS instead of WARN_CFLAGS.
777         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
778         gl_MANYWARN_ALL_GCC.
779         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
781 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
783         git-version-gen: Fix for tags containing '-'
785         Really old versions of git-describe (before v1.5.0, Feb 2007)
786         don't have the number of commits in their long format output,
787         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
788         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
789         recognizes both patterns, and normalizes the old format to the new one.
791         Unfortunately, this normalization code gets confused when the tag
792         contains '-'.  Reproducer:
794             $ git-tag -m test v0.2-rc1
795             $ build-aux/git-version-gen .tarball-version; echo
796             build-aux/git-version-gen: WARNING: git rev-list failed
797             UNKNOWN
799         We take exact tag "v0.2-rc1" for the old format, extract the presumed
800         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
801         commits since tha tag.  Fails, because tag "v0.2" does not exist.
803         * git-version-gen: We could perhaps drop support for versions from
804         more than a decade ago.  But tightening the pattern match is easy
805         enough, so do that.  Still breaks when you use version tags ending in
806         something matching -g????, but you arguably get what you deserve then.
808 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
810         valgrind-tests: use ls, and cache
811         * m4/valgrind-tests.m4: Test ls, not bash.
812         Problem reported by Reuben Thomas.
813         Also, cache the result so that it can be overridden.
815 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
817         manywarnings: port to 64-bit GCC builds of Emacs
818         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
819         object size rather than hardwiring 2147483647.  This is needed to
820         build GNU Emacs, which has one conditional (and used
821         only-in-theory) call to malloc with a literal greater than
822         2147483647.
824 2017-08-04  Bruno Haible  <bruno@clisp.org>
826         Relax the license of some modules with no runtime code.
827         * modules/std-gnu11 (License): Set to 'unlimited'.
828         * modules/c99 (License): Likewise.
829         Reported by Reuben Thomas <rrt@sc3d.org>.
830         * modules/d-ino (License): Set to 'LGPL'.
831         * modules/host-os (License): Likewise.
832         * modules/longlong (License): Likewise.
834 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
836         renameat2: port to RHEL 7 + NFS
837         * lib/renameat2.c (renameat2) [SYS_renameat2]:
838         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
839         http://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00082.html
841 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
843         renameat2: port to non-renameat platforms
844         Problem reported for MSVC-2015 by Gisle Vanem in:
845         http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00001.html
846         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
847         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
849 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
851         manywarnings: port to 32-bit GCC bug
852         Problem reported by Pino Toscano in:
853         http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00150.html
854         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
855         not 2**63 - 1, to work around the following GCC bug:
856         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
858 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
860         backupfile: new function to validate backup suffix
861         * lib/backupfile.c (set_simple_backup_suffix): New function.
862         (backupfile_internal): Use it.
864         canonicalize: fix EOVERFLOW commentary
865         Problem reported by Bruno Haible in:
866         http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00147.html
867         * lib/canonicalize.c (canonicalize_filename_mode):
868         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
870         Don't interpret EOVERFLOW to mean nonexistence
871         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
872         may be EOVERFLOW; this is likely more useful than reporting the
873         stat errno.
874         * lib/glob.c (link_stat): Rename from link_exists2_p and
875         return -1/0 instead of 0/1.  Caller changed.
876         * lib/glob.c (link_exists_p):
877         * lib/renameat2.c (rename_noreplace, renameat2):
878         * lib/tempname.c (try_nocreate):
879         If errno == EOVERFLOW then the directory entry exists, so do not
880         act as if it does not exist.
882         backup-rename: new module
883         It is like backupfile, except it avoids some race conditions,
884         and it does not output to stderr or exit.
885         * MODULES.html.sh: Add backup-rename.
886         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
887         * modules/backup-rename: New files.
888         * lib/backupfile.c: Turn this into an internals file, which
889         contains code common to backupfile and backup_rename.  Include
890         backupfile-internal.h instead of backupfile.h.  Do not include
891         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
892         renameat2.h and fcntl.h.
893         (BACKUP_NOMEM): New constant.
894         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
895         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
896         (backupfile_internal): Rename from find_backup_file_name.
897         Support new arg RENAME.
898         (backup_args, backup_types, get_version, xget_version):
899         Move to lib/backup-find.c.
900         * lib/backupfile.h (backup_file_rename): New decl.
901         * modules/backupfile (Files): Add lib/backup-internal.h,
902         lib/backup-find.c.
903         (Depends-on): Add dirfd, fcntl, renameat2.
904         (lib_SOURCES): Add backup-find.c.
906         renameat2: port better to older Solaris
907         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
908         Add goto to use a label, to silence picky compilers.
910         fts-tests: port to gcc -Wwrite-strings
911         * tests/test-fts.c (base, base_d): New static vars.
912         (argv, remove_tree, main): Use them.
914 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
916         relocatable-lib{,-lgpl}: improve documentation
917         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
918         Various other updates.
920 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
921             Bruno Haible  <bruno@clisp.org>
923         relocatable-lib{,-lgpl}: add Valgrind suppressions
924         * lib/relocatable.valgrind: New file.
925         * modules/relocatable-lib (Files): Add relocatable.valgrind.
926         * modules/relocatable-lib-lgpl: Likewise.
928 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
930         relocatable: Make the license on the sources the GPL.
931         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
932         LGPL, which was a special case so that the relocatable source files
933         could be used without gnulib-tool, to GPL. They can still be used under
934         the LGPL, using the --lgpl option to gnulib-tool.
936 2017-07-30  Bruno Haible  <bruno@clisp.org>
938         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
939         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
940         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
941         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
942         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
944 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
946         faccessat: document AT_SYMLINK_NOFOLLOW issue
947         * doc/posix-functions/faccessat.texi: Modernize platform list.
948         Document AT_SYMLINK_NOFOLLOW limitation.
950         renameat2: port to Solaris 10
951         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
952         with AT_SYMLINK_NOFOLLOW (which is not portable).
953         (renameat): Undef before using, to avoid endless recursion when
954         the replacement renameat calls renameat2 which calls the
955         replacement renameat.
956         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
957         * modules/renameat2 (Depends-on): Remove faccessat.
958         * modules/renameat-tests (test_renameat_LDADD):
959         * modules/renameat2-tests (test_renameat2_LDADD):
960         Remove $(LIB_EACCESS).
962         renameat2: new module
963         Although the Linux syscall renameat2 is not in glibc (yet?), it is
964         useful to have access to its RENAME_NOREPLACE flag.
965         * MODULES.html.sh (func_all_modules): Add renameat2.
966         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
967         * modules/renameat2-tests, tests/test-renameat2.c: New files.
968         * lib/renameat.c (renameat): Move most of the implementation
969         to renameat2, and just call renameat2.
970         * modules/renameat (Files): Remove lib/at-func2.c.
971         (Depends-on): Depend only on renameat2.
972         (Include): Remove <fcntl.h>.
973         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
974         since renameat (via renameat2) might use faccessat.
976 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
978         vc-list-files: Adjust the script to support git worktrees
979         * build-aux/vc-list-files: Require existence, not directory.
981 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
983         doc: bring MODULES.html.sh up to date
984         Somehow a few months ago we stopped updating MODULES.html.sh.
985         I don’t recall explicitly deciding this, so I updated it now.
986         Alternatively I suppose we could remove it.
987         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
988         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
989         truncate, utime, utime-h, windows-stat-inodes,
990         windows-stat-override, windows-stat-timespec, year2038.  Sort.
992 2017-07-26  Jim Meyering  <meyering@fb.com>
994         fprintftime: fix build-break caused by recent renaming
995         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
996         "strftime.c".
997         * modules/fprintftime: Depend directly on nstrftime.
999 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
1001         regex: work with GCC7's -Werror=implicit-fallthrough=
1002         * lib/regex_internal.h (FALLTHROUGH): New macro.
1003         * lib/regcomp.c (peek_token_bracket, parse_expression):
1004         * lib/regexec.c (check_node_accept): Use it.
1006 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
1008         fts: simplify fts_build
1009         * lib/fts.c (fts_build): Simplify, and be lazier about
1010         calling leaf_optimization.
1012         fts: three levels of leaf optimization
1013         * lib/fts.c (enum leaf_optimization): New type with three values.
1014         (S_MAGIC_AFS): New macro.  Sort them.
1015         (leaf_optimization): Rename from leaf_optimization_applies, and
1016         return enum leaf_optimization instead of bool.  All uses changed.
1017         Add cases for unknown type and for AFS.
1018         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
1020         fts: cache dirent_inode_sort_may_be_useful too
1021         * lib/fts.c (struct dev_type): New struct.
1022         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
1023         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
1024         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
1025         Now takes FTSENT const *, not int.  All uses changed.  Use
1026         filesystem_type to cache.
1027         (link_count_optimize_ok): Remove.  Caller changed to use
1028         leaf_optimization_applies, which now uses shared cache.
1030         fts: introduce MIN_DIR_NLINK
1031         * lib/fts.c (MIN_DIR_NLINK): New constant.
1032         Use it instead of 2, whenever we are talking about link counts.
1034         fts: nlink_t signedness fixups
1035         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
1036         so that root need not be a special case later.
1037         (fts_read): Remove now-redundant test for fts_level.
1038         Do not assume that nlink_t is signed.
1039         (fts_build): Remove useless decrement of nlinks.
1040         (fts_stat): Avoid unlikely signed integer overflow later, if
1041         nlink_t is signed.
1043         fts-tests: new module
1044         * modules/fts-tests, tests/test-fts.c: New files.
1046 2017-07-23  Bruno Haible  <bruno@clisp.org>
1048         Rename module 'strftime' to 'nstrftime'.
1049         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
1050         * lib/nstrftime.c: Renamed from lib/strftime.c.
1051         * modules/nstrftime: Renamed from modules/strftime.
1052         (Files, Makefile.am): Update.
1053         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
1054         Fix comment.
1055         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
1056         (Files, Makefile.am): Update.
1057         * modules/strftime: New file, an obsolete indirection.
1058         * doc/posix-functions/strftime.texi: Update reference.
1059         * config/srclist.txt: Update info.
1060         * NEWS: Mention the change.
1062 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
1064         malloca: Silence a warning from clang's memory sanitizer.
1065         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
1066         (freea): Use it.
1068 2017-07-18  Bruno Haible  <bruno@clisp.org>
1070         host-cpu-c-abi: Fix detection of MIPS ABI.
1071         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
1072         ABI, not the CPU instruction set.
1074 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1076         explicit_bzero: new module
1077         The explicit_bzero function has been added to glibc.
1078         This module is intended to supports its use in GNU programs.
1079         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
1080         * m4/explicit_bzero.m4, modules/explicit_bzero:
1081         New files.
1082         * doc/gnulib.texi (Glibc string.h): Link to new doc.
1083         * lib/string.in.h (explicit_bzero): Declare.
1084         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
1085         * modules/string (string.h): Substitute its vars.
1087 2017-07-16  Bruno Haible  <bruno@clisp.org>
1089         threadlib: Support static linking.
1090         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
1091         set gl_cv_have_weak to 'no'.
1093 2017-07-16  Bruno Haible  <bruno@clisp.org>
1095         unicase/locale-language: Fix link dependencies.
1096         * modules/unicase/locale-language (Link): New section.
1097         * modules/unicase/locale-language-tests (Makefile.am): Link
1098         test-locale-language program with $(LIBTHREAD).
1100 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
1102         sys_socket: Add support for OpenVMS.
1103         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
1104         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
1106 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
1108         sys_resource: Add support for OpenVMS.
1109         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
1110         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
1112 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
1113             Bruno Haible  <bruno@clisp.org>
1115         math: Add support for OpenVMS.
1116         * lib/math.in.h [__VMS]: Include <fp.h>.
1117         * doc/posix-headers/math.texi: Mention OpenVMS issues.
1119 2017-07-15  Bruno Haible  <bruno@clisp.org>
1121         getdtablesize: Add minimal support for OpenVMS.
1122         Reported by John E. Malmberg <wb8tyw@qsl.net>.
1123         * modules/getdtablesize (Description): Fix.
1124         * lib/getdtablesize.c: Fix comment.
1125         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
1126         getdtablesize() function, even though the test fails.
1127         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
1128         limitation on OpenVMS.
1130 2017-07-13  Bruno Haible  <bruno@clisp.org>
1132         Revisit cross-compilation guesses.
1133         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
1135 2017-07-13  Bruno Haible  <bruno@clisp.org>
1137         Improve cross-compilation guesses for native Windows.
1138         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
1139         Windows.
1140         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
1141         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
1142         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
1143         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
1144         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
1145         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
1146         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
1147         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
1148         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
1149         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
1150         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1151         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
1152         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
1153         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
1154         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
1155         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
1156         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
1157         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
1158         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
1159         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
1160         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
1161         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
1162         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
1163         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
1164         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
1165         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
1166         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
1167         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
1168         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1169         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
1170         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1171         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
1172         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
1173         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
1174         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
1175         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
1176         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
1177         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
1178         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
1179         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1180         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1181         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1182         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
1183         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
1184         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
1185         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
1186         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
1187         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
1188         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
1189         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
1190         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
1191         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
1192         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
1193         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
1194         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
1195         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
1196         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
1197         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
1198         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
1199         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
1200         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
1201         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
1202         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
1203         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
1204         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1205         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1206         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
1207         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
1208         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
1209         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
1210         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
1211         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
1212         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
1213         * m4/regex.m4 (gl_REGEX): Likewise.
1214         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
1215         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
1216         gl_FUNC_REMAINDERF_WORKS): Likewise.
1217         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
1218         gl_FUNC_REMAINDERL_WORKS): Likewise.
1219         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1220         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
1221         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1222         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1223         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1224         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
1225         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1226         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
1227         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
1228         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1229         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
1230         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
1231         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
1232         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
1233         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1234         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1235         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1236         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1237         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
1238         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
1239         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
1240         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1241         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1242         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
1243         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
1244         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1245         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
1246         Likewise.
1247         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1248         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
1249         Windows. Enable also on Autoconf 2.70.
1250         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1251         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1252         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
1253         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
1254         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
1255         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
1256         for native Windows.
1257         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
1258         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
1260 2017-07-13  Bruno Haible  <bruno@clisp.org>
1262         Improve cross-compilation guesses for native Windows.
1263         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
1264         Windows.
1265         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
1266         memchr.m4.
1267         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
1269 2017-07-13  Bruno Haible  <bruno@clisp.org>
1271         Improve cross-compilation guesses for native Windows.
1272         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
1273         native Windows.
1274         (gl_FUNC_FFLUSH): Update accordingly.
1275         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
1276         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
1278 2017-07-11  Bruno Haible  <bruno@clisp.org>
1280         More systematic m4 quoting and indentation.
1281         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
1282         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
1283         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
1284         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1285         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1286         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
1287         gl_WINSIZE_IN_PTEM): Likewise.
1288         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
1289         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
1290         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
1291         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
1292         Correct indentation.
1293         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
1294         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1295         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
1296         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
1297         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
1298         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1300 2017-07-10  Bruno Haible  <bruno@clisp.org>
1302         round, roundf: Avoid compiler warning in configure test.
1303         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
1304         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1306 2017-07-10  Bruno Haible  <bruno@clisp.org>
1308         getlogin tests: Avoid #ifdefs when sharing code between modules.
1309         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
1310         * modules/getlogin-tests (Files): Likewise. Remove
1311         tests/test-getlogin_r.c.
1312         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
1313         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
1314         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
1315         getlogin().
1317 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
1319         getlogin: don’t assume one name per uid
1320         Problem reported by Wolfgang F. Muthmann (Bug#27640).
1321         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
1322         (ttyname): Remove test.
1323         * modules/getlogin_r-tests (ttyname): Remove test.
1324         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
1325         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
1326         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
1327         getlogin rather than getlogin_r.  This avoids code duplication.
1328         (main): Use isatty and fstat rather than ttyname and stat.
1329         Use getpwnam instead of getpwuid, to be portable to test platforms
1330         that have multiple login names for the same uid.
1332 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
1333             Bruno Haible  <bruno@clisp.org>
1335         glob: Fix more memory leaks.
1336         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
1337         returning.
1338         Reported by Tim Rühsen.
1340 2017-07-10  Bruno Haible  <bruno@clisp.org>
1342         Make sure $host and $host_os are defined when used.
1343         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
1344         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
1345         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
1346         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
1347         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1348         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
1349         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
1350         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
1351         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
1352         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
1353         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
1354         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
1355         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
1356         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
1357         m4_ifdef block.
1359 2017-07-09  Bruno Haible  <bruno@clisp.org>
1361         *printf: Fix cross-compilation guess for Solaris.
1362         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
1363         2010-12-21.
1365 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
1366             Bruno Haible  <bruno@clisp.org>
1368         vasnprintf: port to macOS 10.13
1369         Problem reported by comex in:
1370         http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00056.html
1371         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
1373 2017-07-06  Bruno Haible  <bruno@clisp.org>
1375         imaxdiv tests: Fix logic.
1376         * tests/test-imaxdiv.c (main): Use == instead of =.
1377         Reported by Coverity.
1379 2017-07-06  Bruno Haible  <bruno@clisp.org>
1381         uninorm/filter: Fix use-after-free bug.
1382         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
1383         sortbuf == filter->sortbuf invariant.
1384         Reported by Coverity.
1386 2017-07-06  Bruno Haible  <bruno@clisp.org>
1388         glob: Fix more memory leaks.
1389         * lib/glob.c (glob): Free dirname before returning.
1390         Reported by Coverity and Tim Rühsen.
1392 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1394         parse-datetime: fix uninit var bug
1395         Reported by Bruno Haible in:
1396         http://lists.gnu.org/archive/html/bug-gnulib/2017-07/msg00038.html
1397         * lib/parse-datetime.y (parse_datetime2): Do not use
1398         uninitialized.
1400 2017-07-05  Bruno Haible  <bruno@clisp.org>
1402         doc: Update for MSVC 14.
1403         * doc/posix-headers/*.texi: Add info about MSVC 14.
1404         * doc/posix-functions/*.texi: Likewise.
1405         * doc/pastposix-functions/*.texi: Likewise.
1406         * doc/glibc-headers/*.texi: Likewise.
1407         * doc/glibc-functions/*.texi: Likewise.
1409 2017-07-05  Bruno Haible  <bruno@clisp.org>
1411         sched: Fix build failure on native Windows (regression from 2017-06-19).
1412         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
1414 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
1416         stdioext: Port to OpenVMS.
1417         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
1418         * lib/fpending.c (fpending): Remove non-working VMS specific code.
1419         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
1420         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
1421         * lib/fpurge.c (fpurge): Likewise.
1422         * lib/freadable.c (freadable): Likewise.
1423         * lib/freadahead.c (freadahead): Likewise.
1424         * lib/freading.c (freading): Likewise.
1425         * lib/freadptr.c (freadptr): Likewise.
1426         * lib/freadseek.c (freadseek): Likewise.
1427         * lib/fseeko.c (fseeko): Likewise.
1428         * lib/fseterr.c (fseterr): Likewise.
1429         * lib/fwritable.c (fwriteable): Likewise.
1430         * lib/fwriting.c (fwriting): Likewise.
1432 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
1434         glob: Declare variables at the very start of their scope.
1435         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
1436         its separate scope, so the functions will compile on Haiku.
1438 2017-07-01  Bruno Haible  <bruno@clisp.org>
1440         logbl: Work around a glibc bug on PowerPC64LE.
1441         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
1442         numbers.
1443         * doc/posix-functions/logbl.texi: Update.
1445 2017-06-29  Bruno Haible  <bruno@clisp.org>
1447         stat, fstat: Compile stat-w32.c only on platforms that need it.
1448         Suggested by Paul Eggert.
1449         * modules/stat (configure.ac): Request stat-w32.o only on native
1450         Windows.
1451         * modules/fstat (configure.ac): Likewise.
1453 2017-06-25  Bruno Haible  <bruno@clisp.org>
1455         stat: Improve last change.
1456         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
1458 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1460         stat: port to xlc 12.01
1461         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
1462         12.01 complains "Compilation unit is empty."
1464 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1466         xalloc-oversized: port to icc
1467         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
1468         __builtin_mul_overflow if ICC is defined, as this results in
1469         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
1470         20170213.
1472 2017-06-19  Bruno Haible  <bruno@clisp.org>
1474         classpath: Avoid including config.h twice, as it produces warnings.
1475         Reported by John E. Malmberg <wb8tyw@gmail.com>.
1476         * lib/classpath.h: Conditionalize the include of config.h.
1478 2017-06-19  Bruno Haible  <bruno@clisp.org>
1479             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
1481         sched: Fix compilation failure on OpenVMS.
1482         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
1483         test whether <pthread.h> exists and defines struct sched_param.
1484         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
1486 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1488         diffseq: port to GCC 7 with --enable-gcc-warnings
1489         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
1490         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
1491         not complain about big_snake being defined but not used.
1493 2017-06-15  Bruno Haible  <bruno@clisp.org>
1495         gettext-h: Update theoretical condition for use of variable size arrays.
1496         Reported by Paul Eggert.
1497         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
1498         to include the theoretical condition for availability of variable size
1499         arrays, if we could trust the value of __STDC_VERSION__.
1501 2017-06-12  Bruno Haible  <bruno@clisp.org>
1503         Relicense some modules under LGPLv2+.
1504         Daiki Ueno's approval is in
1505         https://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00058.html.
1506         * modules/uniwidth/base (License): Change to LGPLv2+.
1507         * modules/uniwidth/width (License): Likewise.
1509 2017-06-11  Bruno Haible  <bruno@clisp.org>
1511         localename: Fix test failure on DragonFly BSD.
1512         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
1513         like FreeBSD.
1515 2017-06-11  Bruno Haible  <bruno@clisp.org>
1517         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
1518         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
1519         * lib/float.in.h: Likewise.
1520         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
1522 2017-06-11  Bruno Haible  <bruno@clisp.org>
1524         gnulib-tool: Clean up after autotools.
1525         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
1526         useless directory left over by the Autotools.
1528 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1530         getopt-posix: port to glibc 2.25.90
1531         Problem reported by Daniel P. Berrange in:
1532         http://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00003.html
1533         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
1534         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
1535         #undef if __GETOPT_PREFIX is defined.
1537 2017-06-11  Bruno Haible  <bruno@clisp.org>
1539         strtod-obsolete: Fix license.
1540         * modules/strtod-obsolete (License): Change to LGPL.
1542 2017-06-10  Jim Meyering  <meyering@fb.com>
1544         maint: update to work with GCC7's -Werror=implicit-fallthrough=
1545         * lib/savewd.c (FALLTHROUGH): Define.
1546         (savewd_save, savewd_restore): Use this, rather than a comment,
1547         whenever one switch case falls through into the next.
1549 2017-06-08  Bruno Haible  <bruno@clisp.org>
1551         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
1552         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
1553         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
1554         case.
1556 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
1558         doc: remove robots, add prereqs
1559         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
1560         builds.  Simon's robot site does not seem to be up, so remove
1561         mentions of it for now.
1563 2017-06-08  Bruno Haible  <bruno@clisp.org>
1565         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
1566         * gnulib-tool (func_symlink_target): New function, extracted from
1567         func_symlink.
1568         (func_symlink, func_symlink_if_changed): Use it.
1570 2017-06-08  Bruno Haible  <bruno@clisp.org>
1572         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
1573         * gnulib-tool (func_ln_s): Determine cp_src correctly.
1575 2017-06-07  Bruno Haible  <bruno@clisp.org>
1577         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
1578         Reported by John E. Malmberg <wb8tyw@gmail.com> in
1579         <https://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00029.html>.
1580         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
1581         override, pass 2 arguments to getcwd, not 3.
1583 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
1585         same-inode: port better to VMS 8.2 and later
1586         Problem reported by John E. Malmberg in:
1587         http://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00005.html
1588         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
1589         Use the usual POSIX definition.
1590         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
1592 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
1594         error: fix POSIX violation for va_end
1595         Problem reported by Bruno Haible in:
1596         http://lists.gnu.org/archive/html/bug-gnulib/2017-06/msg00001.html
1597         * lib/error.c (error_tail): Do not call va_end here.
1598         (error, error_at_line): Call it here instead.
1600 2017-05-28  Bruno Haible  <bruno@clisp.org>
1602         c-strtod: Make it usable in C++ mode.
1603         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
1605 2017-05-25  Jim Meyering  <meyering@fb.com>
1607         quotearg: fix compilation failure due to FALLTHROUGH misuse
1608         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
1609         macro back to /* fall through */ comment.  The macro can apply only
1610         to a following case statement.  Reported by Assaf Gordon.
1612 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
1614         intprops: port to recent icc
1615         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
1616         but does not support __builtin_add_overflow etc.
1617         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
1618         Define to 0.
1620 2017-05-23  Karl Berry  <karl@freefriends.org>
1622         * config/srclist.txt (iconv.m4): sync broken, comment out
1623         until (hopefully) the next gettext release.
1625 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
1627         Remove repeated words in comments.
1629 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
1631         fallthrough: reinstate a FALLTHROUGH instance in quotearg
1632         quotearg.c: Reinstate this instance which is significant
1633         when the if branch is not taken.
1635 2017-05-21  Bruno Haible  <bruno@clisp.org>
1637         gnulib-tool: Add options to create hard links.
1638         * gnulib-tool (func_usage): Document options --hardlink,
1639         --local-hardlink, --more-hardlinks.
1640         (func_symlink): Renamed from func_ln.
1641         (func_symlink_if_changed): Renamed from func_ln_if_changed.
1642         (func_hardlink): New function.
1643         (copymode, lcopymode): New variables.
1644         (symbolic, lsymbolic): Remove variables.
1645         (Options): Implement options --hardlink, --local-hardlink,
1646         --more-hardlinks.
1647         (func_should_link): Renamed from func_should_symlink. Set copyaction.
1648         (func_add_file, func_update_file): Update invocation of
1649         func_should_link. Invoke func_hardlink when appropriate.
1650         (func_import): Update comments.
1651         (func_create_testdir): Update invocation of func_should_link. Invoke
1652         func_hardlink when appropriate.
1653         Finally, invoke 'git update-index --refresh' to mitigate the effects of
1654         the hard links on git.
1656 2017-05-20  Bruno Haible  <bruno@clisp.org>
1658         argp: Simplify bit manipulation.
1659         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
1660         on a signed integer type.
1662 2017-05-20  Bruno Haible  <bruno@clisp.org>
1664         Avoid wrong configure results with gcc -fsanitize=address.
1665         This completes the work done on 2016-02-06 on this topic.
1666         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
1667         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
1668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1669         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1670         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
1671         returning.
1672         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
1673         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
1674         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1675         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
1676         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
1677         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
1678         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
1679         free allocated memory before returning.
1680         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1681         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
1682         objects before returning.
1683         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
1684         returning.
1686 2017-05-20  Bruno Haible  <bruno@clisp.org>
1688         gnulib-tool: Don't create hard links between gnulib and its testdirs.
1689         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
1691 2017-05-20  Bruno Haible  <bruno@clisp.org>
1693         argp, tsearch tests: Fix file list.
1694         * modules/argp-tests (Files): Add tests/macros.h.
1695         * modules/tsearch-tests (Files): Likewise.
1697 2017-05-20  Bruno Haible  <bruno@clisp.org>
1699         getopt-posix tests: Remove redundant include.
1700         * tests/test-getopt.h: Don't include "macros.h". It's already included
1701         by tests/test-getopt-main.h.
1703 2017-05-19  Jim Meyering  <meyering@fb.com>
1705         dfa: two small simplifications
1706         * lib/dfa.c (build_state): Avoid repeating longer expressions.
1708 2017-05-18  Jim Meyering  <meyering@fb.com>
1710         fallthrough: update for GCC 7/8
1711         * lib/quotearg.c (FALLTHROUGH): New macro.
1712         Use it whenever one switch case falls through into the next,
1713         replacing "/* Fall through */" comments.  This exposed one
1714         instance of an unwarranted "fall through" comment: unwarranted
1715         because it preceded a "goto" label not a case statement.
1716         * lib/freopen-safer.c (freopen_safer): Likewise.
1717         * lib/fts.c (leaf_optimization_applies): Likewise.
1718         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
1719         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
1720         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
1721         tests/macros.h for the definition.
1722         * tests/test-argp.c (group1_parser): Likewise.
1723         * tests/test-getopt.h (getopt_loop): Likewise.
1725 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1727         argp: fix shift bug
1728         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
1729         behavior on shift overflow, caught by gcc -fsanitize=undefined.
1731         argp: fix pointer-subtraction bug
1732         * lib/argp-help.c (hol_append): Don’t subtract pointers to
1733         different arrays, as this can run afoul of -fcheck-pointer-bounds.
1734         See the thread containing Bruno Haible’s report in:
1735         http://lists.gnu.org/archive/html/bug-gnulib/2017-05/msg00171.html
1737 2017-05-19  Bruno Haible  <bruno@clisp.org>
1739         printf-posix tests: Avoid test failure with "gcc --coverage".
1740         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
1741         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
1742         than 5000000.
1743         * tests/test-fprintf-posix2.c (main): Likewise.
1745 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
1747         closeout: don’t close stderr when sanitizing
1748         * NEWS: Document this.
1749         * lib/closeout.c (__has_feature): New macro, if not already defined.
1750         (SANITIZE_ADDRESS): New constant.
1751         (close_stdout): Don’t close stderr if sanitizing addresses.
1753 2017-05-19  Bruno Haible  <bruno@clisp.org>
1755         get-rusage-data tests: Avoid failure on Linux/glibc.
1756         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
1757         on glibc systems.
1759 2017-05-18  Bruno Haible  <bruno@clisp.org>
1761         localename: Include necessary header files on Cygwin.
1762         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
1763         where NL_LOCALE_NAME is defined.
1765 2017-05-18  Bruno Haible  <bruno@clisp.org>
1767         gettext: Update macros from gettext git.
1768         * m4/intldir.m4: Require Autoconf >= 2.60.
1769         * m4/progtest.m4: Fix typos in copyright notice.
1771 2017-05-18  Bruno Haible  <bruno@clisp.org>
1773         copy-file tests: Fix link error (regression from 2017-05-01).
1774         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1775         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
1776         $(LIB_CLOCK_GETTIME).
1778 2017-05-18  Bruno Haible  <bruno@clisp.org>
1780         unicase/special-casing: Fix incompatibility with gperf-3.0.4
1781         (regression from 2017-02-13).
1782         * lib/unicase/special-casing.in.h: Renamed from
1783         lib/unicase/special-casing.h.
1784         * modules/unicase/special-casing (Files): Add
1785         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
1786         (Makefile.am): Add rule for generating unicase/special-casing.h.
1787         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
1788         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
1789         not "special-casing.h".
1790         * lib/unicase/u*.c: Likewise.
1792 2017-05-17  Bruno Haible  <bruno@clisp.org>
1794         README: Don't ask people to read a TeXinfo file.
1795         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
1796         * README: Tell people how to read the HTML formatted manual.
1798 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
1800         parse-datetime: Fix memleak
1801         * lib/parse-datetime.y (parse_datetime2): Cleanup on
1802         localtime_rz() failure.
1804 2017-05-16  Bruno Haible  <bruno@clisp.org>
1806         javacomp: Fix handle leak.
1807         Found by Coverity.
1808         * lib/javacomp.c (get_classfile_version): Close fd before returning.
1810 2017-05-16  Bruno Haible  <bruno@clisp.org>
1812         relocate: Make it easier to reclaim allocated memory.
1813         * lib/relocatable.h (relocate2): New declaration/macro.
1814         * lib/relocatable.c (relocate2): New function.
1815         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
1816         relocate2 function.
1817         * lib/localcharset.c (relocate2): Define fallback.
1818         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
1819         allocated memory.
1820         * lib/javaversion.c (relocate2): Define fallback.
1821         (javaexec_version): Invoke relocate2 instead of relocate. Free the
1822         allocated memory.
1824 2017-05-16  Bruno Haible  <bruno@clisp.org>
1826         relocate: Simplify EMX specific code.
1827         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
1828         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
1830 2017-05-16  Bruno Haible  <bruno@clisp.org>
1832         sigpipe tests: Fix file list.
1833         * modules/sigpipe-tests (Files): Add tests/macros.h.
1835 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
1837         manywarnings: update for GCC 7
1838         * build-aux/gcc-warning.spec:
1839         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
1840         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
1841         requires a non-comment fallthrough attribute.  This is a bit
1842         cleaner than the comment versions.
1843         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
1844         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
1845         Use it whenever one switch case falls through into the next.
1846         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
1847         Use FALLTHROUGH macro.
1849 2017-05-15  Bruno Haible  <bruno@clisp.org>
1851         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
1852         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
1853         @ALLOCA@, not @LTALLOCA@.
1855 2017-05-15  Bruno Haible  <bruno@clisp.org>
1857         sys_select: Avoid "was expanded before it was required" warning.
1858         * modules/sys_select (configure.ac): Require, not invoke,
1859         gl_HEADER_SYS_SELECT.
1861 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1863         gnulib-tool: improve GNU Make debugging
1864         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
1865         Report autoconf diagnostics when it fails, in the output makefile.
1867 2017-05-14  Bruno Haible  <bruno@clisp.org>
1869         stat-time tests: Improve comment.
1870         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
1872 2017-05-14  Bruno Haible  <bruno@clisp.org>
1874         same-inode: Adapt for windows-stat-inodes.
1875         * lib/same-inode.h: Include <sys/types.h>.
1876         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
1877         * modules/same-inode (Depends-on): Add sys_types.
1879 2017-05-14  Bruno Haible  <bruno@clisp.org>
1881         windows-stat-inodes: New module.
1882         * m4/windows-stat-inodes.m4: New file.
1883         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
1884         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
1885         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
1886         (_GL_WINDOWS_STAT_INODES): New macro.
1887         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
1888         (GetFileInformationByHandleExFunc): New variable.
1889         (initialize): Initialize it.
1890         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
1891         st_ino appropriately.
1892         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
1893         a fallback, because it does not provide st_dev and st_ino values.
1894         * modules/fstat (Depends-on): Add 'verify'.
1895         * modules/windows-stat-inodes: New file.
1896         * doc/windows-stat-inodes.texi: New file.
1897         * doc/gnulib.texi: Include it.
1898         * doc/posix-headers/sys_stat.texi: Mention the new module.
1900 2017-05-14  Bruno Haible  <bruno@clisp.org>
1902         stat-time tests: Workaround for native Windows.
1903         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
1904         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
1905         New variables.
1906         (initialize_filenames): New function.
1907         (main): Invoke it.
1908         (cleanup, prepare_test): Update.
1910 2017-05-14  Bruno Haible  <bruno@clisp.org>
1912         stat-time: Adapt for windows-stat-timespec.
1913         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
1914         entire st_ctim field.
1916 2017-05-13  Jim Meyering  <meyering@fb.com>
1918         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
1919         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
1920         file that uses the assume macro, claiming that verify.h is unused.
1922 2017-05-13  Bruno Haible  <bruno@clisp.org>
1924         Use symbolic values for _WIN32_WINNT.
1925         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
1926         * lib/sethostname.c (_WIN32_WINNT): Likewise.
1928 2017-05-13  Bruno Haible  <bruno@clisp.org>
1930         year2038: New module.
1931         * m4/year2038.m4: New file.
1932         * modules/year2038: New file.
1933         * doc/year2038.texi: New file.
1934         * doc/gnulib.texi: Include it.
1936 2017-05-13  Bruno Haible  <bruno@clisp.org>
1938         largefile: Simplify.
1939         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
1940         of _GL_WINDOWS_64_BIT_ST_SIZE.
1942 2017-05-13  Bruno Haible  <bruno@clisp.org>
1944         largefile: Improve and document.
1945         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
1946         the mingw headers already define 'stat' appropriately.
1947         * modules/largefile (Description): Clarify.
1948         * doc/largefile.texi: New file.
1949         * doc/gnulib.texi: Include it.
1950         * doc/posix-headers/sys_types.texi: Update.
1952 2017-05-13  Bruno Haible  <bruno@clisp.org>
1954         truncate: New module.
1955         * lib/unistd.in.h (truncate): New declaration.
1956         * lib/truncate.c: New file.
1957         * m4/truncate.m4: New file.
1958         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
1959         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
1960         REPLACE_TRUNCATE.
1961         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
1962         HAVE_TRUNCATE, REPLACE_TRUNCATE.
1963         * modules/truncate: New file.
1964         * tests/test-unistd-c++.cc (truncate): Test signature.
1965         * doc/posix-functions/truncate.texi: Mention the new module.
1967         * tests/test-truncate.c: New file.
1968         * modules/truncate-tests: New file.
1970 2017-05-13  Bruno Haible  <bruno@clisp.org>
1972         windows-stat-timespec: New module.
1973         * modules/windows-stat-timespec: New file.
1974         * m4/windows-stat-timespec.m4: New file.
1975         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
1976         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
1977         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
1978         fields st_atim, st_mtim, st_ctim.
1979         (st_atime, st_mtime, st_ctime): Define as macros.
1980         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
1981         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
1982         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
1983         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
1984         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
1985         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
1986         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
1987         FILETIME to 'struct timespec', not 'time_t'.
1988         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
1989         FILETIME to 'struct timespec', not 'time_t'.
1990         * lib/stat-time.h (STAT_TIMESPEC): Define also if
1991         _GL_WINDOWS_STAT_TIMESPEC.
1992         * doc/windows-stat-timespec.texi: New file.
1993         * doc/gnulib.texi: Include it.
1995 2017-05-13  Bruno Haible  <bruno@clisp.org>
1997         windows-stat-override: New module.
1998         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
1999         definition. Define GNULIB_defined_struct_stat.
2000         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
2001         link error if this symbol is used and the corresponding module is not
2002         in use.
2003         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
2004         GNULIB_OVERRIDES_STRUCT_STAT.
2005         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
2006         GNULIB_OVERRIDES_STRUCT_STAT.
2007         * modules/sys_stat (Makefile.am): Substitute
2008         GNULIB_OVERRIDES_STRUCT_STAT.
2009         * modules/windows-stat-override: New file.
2011 2017-05-13  Bruno Haible  <bruno@clisp.org>
2013         fstat: Fix module dependency conditions.
2014         * modules/fstat (Depends-on): Fix typo.
2016 2017-05-13  Bruno Haible  <bruno@clisp.org>
2018         stat, fstat: Complete removal of old native Windows code.
2019         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
2020         * lib/fstat.c: Likewise.
2021         * lib/stat-w32.c: Likewise.
2023 2017-05-13  Bruno Haible  <bruno@clisp.org>
2025         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
2026         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
2028 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2030         getopt-posix: port to mingw
2031         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
2032         Problem reported by Daniel P. Berrage in:
2033         http://lists.gnu.org/archive/html/bug-gnulib/2017-05/msg00086.html
2035 2017-05-11  Bruno Haible  <bruno@clisp.org>
2037         gettimeofday: Increase precision on mingw.
2038         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
2039         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
2040         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
2041         GetSystemTimePreciseAsFileTime based implementation always.
2042         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
2043         mingw.
2045 2017-05-11  Bruno Haible  <bruno@clisp.org>
2047         poll: Fix confusion between SOCKETs and FDs on native Windows.
2048         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
2049         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
2051 2017-05-11  Bruno Haible  <bruno@clisp.org>
2053         doc: Clarify doc about socket functions on native Windows.
2054         This reworks doc that was added on 2008-09-29.
2055         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
2056         clearer wording.
2057         * doc/posix-functions/accept.texi: Use clearer wording.
2058         * doc/posix-functions/bind.texi: Likewise.
2059         * doc/posix-functions/connect.texi: Likewise.
2060         * doc/posix-functions/getpeername.texi: Likewise.
2061         * doc/posix-functions/getsockname.texi: Likewise.
2062         * doc/posix-functions/getsockopt.texi: Likewise.
2063         * doc/posix-functions/ioctl.texi: Likewise.
2064         * doc/posix-functions/listen.texi: Likewise.
2065         * doc/posix-functions/recv.texi: Likewise.
2066         * doc/posix-functions/recvfrom.texi: Likewise.
2067         * doc/posix-functions/send.texi: Likewise.
2068         * doc/posix-functions/sendto.texi: Likewise.
2069         * doc/posix-functions/setsockopt.texi: Likewise.
2070         * doc/posix-functions/shutdown.texi: Likewise.
2071         * doc/posix-functions/socket.texi: Likewise.
2073 2017-05-10  Bruno Haible  <bruno@clisp.org>
2075         poll: Fix link error on native Windows.
2076         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
2078 2017-05-10  Bruno Haible  <bruno@clisp.org>
2080         time: Fix missing initialization of HAVE_TIMEZONE_T.
2081         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
2082         here...
2083         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
2084         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
2085         gl_HEADER_SYS_TIME_H_DEFAULTS.
2086         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
2087         (configure.ac): Remove useless quoting.
2089 2017-05-10  Bruno Haible  <bruno@clisp.org>
2091         Implement a way to opt out from MSVC support, part 2.
2092         * modules/msvc-inval (Include): Document recommended idiom.
2093         * modules/msvc-nothrow (Include): Likewise.
2095         Implement a way to opt out from MSVC support.
2096         This is useful for Emacs.
2097         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
2098         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
2099         * lib/error.c: Likewise.
2100         * lib/fcntl.c: Likewise.
2101         * lib/flock.c: Likewise.
2102         * lib/fstat.c: Likewise.
2103         * lib/fsync.c: Likewise.
2104         * lib/ioctl.c: Likewise.
2105         * lib/isapipe.c: Likewise.
2106         * lib/lseek.c: Likewise.
2107         * lib/nonblocking.c: Likewise.
2108         * lib/poll.c: Likewise.
2109         * lib/select.c: Likewise.
2110         * lib/sockets.h: Likewise.
2111         * lib/sockets.c: Likewise.
2112         * lib/stdio-read.c: Likewise.
2113         * lib/stdio-write.c: Likewise.
2114         * lib/utimens.c: Likewise.
2115         * lib/w32sock.h: Likewise.
2116         * lib/w32spawn.h: Likewise.
2117         * tests/test-cloexec.c: Likewise.
2118         * tests/test-dup-safer.c: Likewise.
2119         * tests/test-dup2.c: Likewise.
2120         * tests/test-dup3.c: Likewise.
2121         * tests/test-fcntl.c: Likewise.
2122         * tests/test-pipe.c: Likewise.
2123         * tests/test-pipe2.c: Likewise.
2124         * lib/ftruncate.c: Likewise.
2125         (chsize_nothrow): Renamed from chsize.
2126         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
2127         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
2128         * lib/close.c: Likewise.
2129         * lib/dup.c: Likewise.
2130         * lib/fclose.c: Likewise.
2131         * lib/raise.c: Likewise.
2132         * tests/test-fgetc.c: Likewise.
2133         * tests/test-fputc.c: Likewise.
2134         * tests/test-fread.c: Likewise.
2135         * tests/test-fwrite.c: Likewise.
2136         * lib/getdtablesize.c: Likewise.
2137         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
2138         * lib/isatty.c: Don't include msvc-inval.h if
2139         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
2140         Include <io.h> as an alternative to msvc-nothrow.h.
2141         * lib/read.c: Likewise.
2142         * lib/write.c: Likewise.
2143         * lib/dup2.c: Likewise.
2144         (dup2_nothrow): New function.
2145         (ms_windows_dup2): Use it.
2146         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
2147         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
2148         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
2149         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
2150         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
2151         * m4/read.m4 (gl_FUNC_READ): Likewise.
2152         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
2153         * doc/windows-without-msvc.texi: New file.
2154         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
2155         section.
2157 2017-05-10  Bruno Haible  <bruno@clisp.org>
2159         wait-process: Adjust native Windows support.
2160         * lib/wait-process.c: Use the usual condition for recognizing a native
2161         Windows platform.
2163 2017-05-10  Bruno Haible  <bruno@clisp.org>
2165         doc: New chapter "Native Windows Support".
2166         * doc/gnulib.texi (Native Windows Support): New chapter.
2167         * doc/windows-libtool.texi: Small wording changes.
2168         * doc/windows-sockets.texi: Small wording and formatting changes.
2170 2017-05-10  Bruno Haible  <bruno@clisp.org>
2172         doc: Move section "Library version handling".
2173         * doc/gnulib.texi: Move section "Library version handling"
2174         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
2176 2017-05-10  Bruno Haible  <bruno@clisp.org>
2178         doc: Move section "Running self-tests under valgrind".
2179         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
2180         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
2182 2017-05-10  Bruno Haible  <bruno@clisp.org>
2184         doc: New chapter "Build Infrastructure Modules".
2185         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
2187 2017-05-10  Bruno Haible  <bruno@clisp.org>
2189         Prepare for reordering sections in the manual.
2190         * doc/gnulib.texi: Move several sections to separate files. Include
2191         these files.
2192         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
2193         * doc/obsolete.texi: Likewise.
2194         * doc/extra-tests.texi: Likewise.
2195         * doc/transversal.texi: Likewise.
2196         * doc/namespace.texi: Likewise.
2197         * doc/check-version.texi: Likewise.
2198         * doc/windows-sockets.texi: Likewise.
2199         * doc/windows-libtool.texi: Likewise.
2200         * doc/licenses-texi.texi: Likewise.
2201         * doc/build-automation.texi: Likewise.
2202         * doc/c-locale.texi: Likewise.
2204 2017-05-10  Bruno Haible  <bruno@clisp.org>
2206         Fix instructions how to update manual on www.gnu.org.
2207         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
2209 2017-05-09  Bruno Haible  <bruno@clisp.org>
2211         tzset: Expand comment about TZ problem on native Windows.
2212         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
2213         Paul Eggert.
2214         * lib/ctime.c (rpl_ctime): Likewise.
2215         * lib/localtime.c (rpl_localtime): Likewise.
2216         * lib/mktime.c (mktime): Likewise.
2217         * lib/strftime-fixes.c (rpl_strftime): Likewise.
2218         * lib/wcsftime.c (rpl_wcsftime): Likewise.
2220 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
2222         intprops: don’t depend on ‘verify’
2223         Problem reported by Ævar Arnfjörð Bjarmason in:
2224         http://lists.gnu.org/archive/html/bug-gnulib/2017-05/msg00054.html
2225         * lib/intprops.h: Do not include verify.h, and move compile-time
2226         checks from here ...
2227         * tests/test-intprops.c (main): ... to here, if they’re not here
2228         already.  Check widths of other standard integer types.
2229         * modules/intprops (Depends-on): Remove ‘verify’.
2231 2017-05-07  Bruno Haible  <bruno@clisp.org>
2233         utimens: On native Windows, support 100ns resolution also if fd < 0.
2234         * lib/utime.in.h: Include <time.h>.
2235         (_gl_utimens_windows): New declaration.
2236         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
2237         (utime): Invoke it.
2238         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
2239         instead of utime.
2240         * modules/utime (Depends-on): Add 'time'.
2242 2017-05-07  Bruno Haible  <bruno@clisp.org>
2244         utimens: Improve error code on native Windows.
2245         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
2246         error code EACCES, not EINVAL.
2248 2017-05-07  Bruno Haible  <bruno@clisp.org>
2250         utime: Handle more Windows error codes.
2251         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
2252         Based on explanations by Billy O'Neal.
2254 2017-05-05  Bruno Haible  <bruno@clisp.org>
2256         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
2257         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
2258         union.
2259         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
2260         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
2261         value of cipher->IV.
2263 2017-05-05  Bruno Haible  <bruno@clisp.org>
2265         wctype-h-c++-tests: Update.
2266         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
2268 2017-05-05  Bruno Haible  <bruno@clisp.org>
2270         wchar-c++-tests: Update.
2271         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
2273 2017-05-05  Bruno Haible  <bruno@clisp.org>
2275         utime-h-c++-tests: New module.
2276         * tests/test-utime-h-c++.cc: New file.
2277         (utime): Declare, missing since 2017-04-30.
2278         * modules/utime-h-c++-tests: New file.
2280 2017-05-05  Bruno Haible  <bruno@clisp.org>
2282         unistd-c++-tests: Update.
2283         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
2284         (read): Declare, missing since 2011-04-15.
2285         (sethostname): Declare, missing since 2011-12-03.
2287 2017-05-05  Bruno Haible  <bruno@clisp.org>
2289         time-c++-tests: Update.
2290         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
2291         (localtime, gmtime): Declare, missing since 2017-04-30.
2292         (ctime): Declare, missing since 2017-04-30.
2293         (strftime): Declare, missing since 2017-04-30.
2294         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
2295         2015-07-24.
2297 2017-05-05  Bruno Haible  <bruno@clisp.org>
2299         sys_resource-c++-tests: New module.
2300         * tests/test-sys_resource-c++.cc: New file.
2301         (getrusage): Declare, missing since 2012-04-13.
2302         * modules/sys_resource-c++-tests: New file.
2304 2017-05-05  Bruno Haible  <bruno@clisp.org>
2306         strings-c++-tests: New module.
2307         * tests/test-strings-c++.cc: New file.
2308         (ffs): Declare, missing since 2011-07-12.
2309         * modules/strings-c++-tests: New file.
2311 2017-05-05  Bruno Haible  <bruno@clisp.org>
2313         string-c++-tests: Update.
2314         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
2315         (ffsll): Declare, missing since 2011-07-15.
2317 2017-05-05  Bruno Haible  <bruno@clisp.org>
2319         stdlib-c++-tests: Update.
2320         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
2321         2011-10-18.
2322         (ptsname_r): Declare, missing since 2011-11-07.
2323         (qsort_r): Declare, missing since 2014-08-29.
2324         (random, srandom, initstate, setstate): Declare, missing since
2325         2012-01-14.
2326         (secure_getenv): Declare, missing since 2013-02-05.
2328 2017-05-05  Bruno Haible  <bruno@clisp.org>
2330         stdio-c++-tests: Update.
2331         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
2333 2017-05-05  Bruno Haible  <bruno@clisp.org>
2335         signal-h-c++-tests: Update.
2336         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
2338 2017-05-05  Bruno Haible  <bruno@clisp.org>
2340         math-c++-tests: Update.
2341         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
2342         (fma): Declare, missing since 2011-10-17.
2343         (fmal): Declare, missing since 2011-10-17.
2345 2017-05-05  Bruno Haible  <bruno@clisp.org>
2347         locale-c++-tests: Update.
2348         * tests/test-locale-c++.cc (localeconv): Declare, missing since
2349         2012-03-25.
2351 2017-05-05  Bruno Haible  <bruno@clisp.org>
2353         inttypes-c++-tests: New module.
2354         * tests/test-inttypes-c++.cc: New file.
2355         (strtoimax): Declare, missing since 2012-01-05.
2356         (strtoumax): Declare, missing since 2012-01-05.
2357         * modules/inttypes-c++-tests: New file.
2359 2017-05-05  Bruno Haible  <bruno@clisp.org>
2361         dirent-c++-tests: Update.
2362         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
2363         (rewinddir): Declare, missing since 2011-09-13.
2364         (dirfd): Declare, missing since 2010-03-08.
2366 2017-05-04  Bruno Haible  <bruno@clisp.org>
2368         argp: Fix mistake in 2017-04-23 commit.
2369         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
2370         assume that strerror_r returns 'int', not 'char *'.
2372 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
2374         argp: Fix typo.
2375         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
2377 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
2379         utimens: port to Emacs + MS-Windows
2380         Skip the new MS-Windows-specific code if Emacs.
2381         * lib/utimens.c [EMACS_CONFIGUATION]:
2382         Avoid new MS-Windows-specific code.
2383         (USE_SETFILETIME): New macro.
2384         (fdutimens): Use it.
2386 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
2388         tzset: update doc for TZ problems on MS-Windows
2389         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
2390         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
2391         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
2392         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
2393         * doc/posix-functions/wcsftime.texi:
2394         Mention some issues with TZ under MS-Windows.
2396 2017-05-01  Bruno Haible  <bruno@clisp.org>
2398         copy-file: Fix build error on mingw.
2399         * modules/copy-file (Depends-on): Add 'close'.
2401 2017-05-01  Bruno Haible  <bruno@clisp.org>
2403         tzset: Work around TZ problem on native Windows.
2404         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
2405         Windows, set REPLACE_TZSET to 1.
2406         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
2407         invoke '_tzset' instead of 'tzset'.
2408         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
2410         * modules/time_rz (Depends-on): Add tzset.
2411         * lib/time_rz.c (tzset): Remove fallback definition.
2412         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
2414 2017-05-01  Bruno Haible  <bruno@clisp.org>
2416         mktime: Fix dependencies.
2417         * modules/mktime (Depends-on): Add 'time'.
2419 2017-05-01  Bruno Haible  <bruno@clisp.org>
2421         New module 'localtime-buffer', split off from module 'gettimeofday'.
2422         * lib/localtime-buffer.h: New file.
2423         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
2424         * lib/time.in.h (tzset): New declaration.
2425         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
2426         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
2427         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
2428         moved to lib/localtime-buffer.c or lib/tzset.c.
2429         * m4/localtime-buffer.m4: New file.
2430         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
2431         HAVE_TZSET, REPLACE_TZSET.
2432         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
2433         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
2434         gl_LOCALTIME_BUFFER_NEEDED.
2435         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
2436         since 2007-01-18.
2437         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
2438         tzset.
2439         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
2440         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
2441         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
2442         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
2443         * modules/localtime-buffer: New file.
2444         * modules/time (Depends-on): Remove 'gettimeofday'.
2445         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
2446         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
2447         * modules/tzset (Description): Enable hyperlink to POSIX spec.
2448         (Files): Add lib/tzset.c.
2449         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
2450         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
2451         gl_TIME_MODULE_INDICATOR.
2452         * modules/gettimeofday (Depends-on): Add localtime-buffer.
2454 2017-05-01  Bruno Haible  <bruno@clisp.org>
2456         copy-file: Preserve sub-second time stamps.
2457         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
2458         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
2459         transport the time stamps from the original file to the destination
2460         file.
2461         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
2462         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
2463         utime-h.
2465 2017-05-01  Bruno Haible  <bruno@clisp.org>
2467         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
2468         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
2469         also on MSVC.
2470         Reported by Eli Zaretskii <eliz@gnu.org>.
2472 2017-05-01  Bruno Haible  <bruno@clisp.org>
2474         wchar: Fix compilation error with the original mingw.org mingw.
2475         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
2476         <stddef.h> instead.
2477         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
2478         gl_WCTYPE_H.
2479         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
2480         gl_TYPE_WINT_T_PREREQ instead.
2481         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
2482         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
2483         Reported by Eli Zaretskii <eliz@gnu.org>.
2485 2017-04-30  Bruno Haible  <bruno@clisp.org>
2487         utimecmp: Add support for native Windows.
2488         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
2490 2017-04-30  Bruno Haible  <bruno@clisp.org>
2492         utimens: Add support for native Windows.
2493         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
2494         (fdutimens): Provide a native Windows implementation, like utime.c with
2495         added tv_nsec support.
2496         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
2497         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
2499 2017-04-30  Bruno Haible  <bruno@clisp.org>
2501         wcsftime: New module.
2502         * lib/wchar.in.h (wcsftime): New declaration.
2503         * lib/wcsftime.c: New file.
2504         * m4/wcsftime.m4: New file.
2505         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
2506         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
2507         HAVE_WCSFTIME, REPLACE_WCSFTIME.
2508         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
2509         HAVE_WCSFTIME, REPLACE_WCSFTIME.
2510         * modules/wcsftime: New file.
2511         * doc/posix-functions/wcsftime.texi: Mention the new module.
2513 2017-04-30  Bruno Haible  <bruno@clisp.org>
2515         strftime-fixes: New module.
2516         * lib/time.in.h (strftime): New declaration.
2517         * lib/strftime-fixes.c: New file.
2518         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
2519         (gl_FUNC_STRFTIME): Remove macro.
2520         * m4/strftime-fixes.m4: New file.
2521         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
2522         REPLACE_STRFTIME.
2523         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
2524         REPLACE_STRFTIME.
2525         * modules/strftime-fixes: New file.
2526         * doc/posix-functions/strftime.texi: Mention the new module.
2528 2017-04-30  Bruno Haible  <bruno@clisp.org>
2530         mktime: Work around TZ problem on native Windows.
2531         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
2532         from the native Windows workaround.
2533         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
2534         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
2535         'guessing no'.
2536         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
2537         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
2538         NEED_MKTIME_WINDOWS.
2539         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
2540         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
2541         NEED_MKTIME_INTERNAL.
2542         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
2543         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
2544         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
2545         not REPLACE_MKTIME.
2546         * doc/posix-functions/mktime.texi: Mention the native Windows
2547         workaround.
2549 2017-04-30  Bruno Haible  <bruno@clisp.org>
2551         localtime: New module.
2552         * lib/time.in.h (localtime): Declare also if requested by module
2553         'localtime'.
2554         * lib/localtime.c: New file.
2555         * m4/localtime.m4: New file.
2556         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
2557         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
2558         * modules/localtime: New file.
2559         * doc/posix-functions/localtime.texi: Mention the new module.
2561 2017-04-30  Bruno Haible  <bruno@clisp.org>
2563         ctime: New module.
2564         * lib/time.in.h (ctime): New declaration.
2565         * lib/ctime.c: New file.
2566         * m4/ctime.m4: New file.
2567         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
2568         REPLACE_CTIME.
2569         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
2570         * modules/ctime: New file.
2571         * doc/posix-functions/ctime.texi: Mention the new module.
2573 2017-04-30  Bruno Haible  <bruno@clisp.org>
2575         gettimeofday: Provide higher resolution on native Windows.
2576         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
2577         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
2578         (initialize): Initialize it.
2579         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
2580         'struct timeval'. Don't use _ftime().
2581         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
2582         <sys/timeb.h> and _ftime.
2584 2017-04-30  Bruno Haible  <bruno@clisp.org>
2586         Document the problem with the Cygwin environment variable TZ.
2587         * doc/posix-functions/tzset.texi: Add note about TZ.
2588         * doc/posix-functions/ctime.texi: Likewise.
2589         * doc/posix-functions/localtime.texi: Likewise.
2590         * doc/posix-functions/mktime.texi: Likewise.
2591         * doc/posix-functions/strftime.texi: Likewise.
2592         * doc/posix-functions/wcsftime.texi: Likewise.
2593         * doc/pastposix-functions/ftime.texi: Likewise.
2595 2017-04-30  Bruno Haible  <bruno@clisp.org>
2597         utime-tests: New module.
2598         * tests/test-utime.c: New file, based on tests/test-utimens.h.
2599         * tests/test-utimens-common.h: Include <sys/stat.h>.
2600         * modules/utime-tests: New file.
2602 2017-04-29  Bruno Haible  <bruno@clisp.org>
2604         utime: New module.
2605         * lib/utime.in.h: Add comment for snippets.
2606         (utime): New declaration.
2607         * lib/utime.c: New file.
2608         * m4/utime.m4: New file.
2609         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
2610         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
2611         REPLACE_UTIME.
2612         * modules/utime-h (Depends-on): Add snippets.
2613         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
2614         Insert snippets.
2615         * modules/utime: New file.
2616         * doc/posix-functions/utime.texi: Mention the new module.
2618 2017-04-29  Bruno Haible  <bruno@clisp.org>
2620         utime-h: Modernize handling of 'struct utimbuf'.
2621         * lib/utime.in.h: Include next <utime.h> if it exists.
2622         (utimbuf): Define to _utimbuf on native Windows.
2623         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
2624         Set UTIME_H on native Windows.
2625         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
2626         * modules/utime-h (Depends-on): Add include_next.
2627         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
2628         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
2630         * lib/utimens.c (utimbuf): Remove fallback definition.
2631         * m4/utimens.m4 (gl_UTIMENS): Don't require
2632         gl_CHECK_TYPE_STRUCT_UTIMBUF.
2633         * m4/utimbuf.m4: Remove file.
2634         * modules/utimens (Files): Remove m4/utimbuf.m4.
2636 2017-04-29  Bruno Haible  <bruno@clisp.org>
2638         Make use of module 'utime-h'.
2639         * modules/copy-file (Depends-on): Add utime-h.
2640         * lib/copy-file.c: Assume that <utime.h> exists.
2641         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
2643         * modules/utimens (Depends-on): Add utime-h.
2644         * lib/utimens.c: Assume that <utime.h> exists.
2646 2017-04-29  Bruno Haible  <bruno@clisp.org>
2648         utime-h: New module.
2649         * m4/utime_h.m4: New file.
2650         * lib/utime.in.h: New file.
2651         * modules/utime-h: New file.
2652         * doc/posix-headers/utime.texi: Mention the new module.
2654         * tests/test-utime-h.c: New file.
2655         * modules/utime-h-tests: New file.
2657 2017-04-30  Bruno Haible  <bruno@clisp.org>
2659         Fix a few typos.
2660         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
2661         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
2662         * doc/posix-functions/fstat.texi: Fix a plural typo.
2663         * doc/posix-functions/stat.texi: Likewise.
2664         * m4/include_next.m4: Update comments.
2666 2017-04-29  Bruno Haible  <bruno@clisp.org>
2668         error: Fix mistake in 2017-04-23 commit.
2669         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
2670         assume that strerror_r returns 'int', not 'char *'.
2672 2017-04-29  Bruno Haible  <bruno@clisp.org>
2674         stat: Fix time_t values and other problems on native Windows platforms.
2675         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
2676         implementations of stat().
2677         * lib/stat.c: Include filename.h instead of dosname.h. Include
2678         malloca.h, stat-w32.h.
2679         (is_unc_root): New function.
2680         (rpl_stat): New implementation for native Windows. Remove
2681         REPLACE_FUNC_STAT_DIR code.
2682         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
2683         Don't define REPLACE_FUNC_STAT_DIR.
2684         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
2685         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
2686         (Depends-on): Remove dosname. Add filename, malloca.
2687         (configure.ac): Also compile lib/stat-w32.c.
2689 2017-04-29  Bruno Haible  <bruno@clisp.org>
2691         fstat: Fix time_t values on native Windows platforms.
2692         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
2693         * lib/stat-w32.h: New file.
2694         * lib/stat-w32.c: New file.
2695         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
2696         stat-w32.h instead.
2697         (fstat_nothrow): Remove function.
2698         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
2699         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
2700         always.
2701         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
2702         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
2703         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
2704         (configure.ac): Also compile lib/stat-w32.c.
2706 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
2708         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
2709         Problem reported by Assaf Gordon and Gavin Smith in:
2710         http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00157.html
2711         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
2712         #define this, too.
2714 2017-04-29  Bruno Haible  <bruno@clisp.org>
2716         strerror_r-posix: Fixes for MSVC 14.
2717         * lib/strerror_r.c: Include <stdarg.h>.
2718         (strerror_r): Provide error messages for errno values 100...140.
2719         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
2721 2017-04-28  Bruno Haible  <bruno@clisp.org>
2723         noreturn: New module.
2724         * lib/noreturn.h: New file.
2725         * modules/noreturn: New file.
2726         * tests/test-noreturn.c: New file.
2727         * modules/noreturn-tests: New file.
2728         * tests/test-noreturn-c++.cc: New file.
2729         * modules/noreturn-c++-tests: New file.
2731 2017-04-27  Bruno Haible  <bruno@clisp.org>
2733         wctype-h: Fix compilation error with the original mingw.org mingw.
2734         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
2735         HAVE_CRTDEFS_H.
2736         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
2737         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
2738         <stddef.h> instead.
2739         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
2741 2017-04-26  Pádraig Brady  <P@draigBrady.com>
2743         nap.h: Fix compilation on non windows platforms
2744         * tests/nap.h: Move misplaced endif.
2746 2017-04-26  Pádraig Brady  <P@draigBrady.com>
2747         and Paul Eggert  <eggert@cs.ucla.edu>
2749         time_rz: fix heap buffer overflow vulnerability
2750         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
2751         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
2752         whether there is enough buffer space available, thus avoiding
2753         the problematic promotion of signed to unsigned causing an invalid
2754         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
2755         the start of the buffer.
2756         * tests/test-parse-datetime.c (main): Add a test case written by
2757         Paul Eggert, which overwrites enough of the heap so that
2758         standard glibc will fail with "free(): invalid pointer"
2759         without the patch applied.
2761 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
2763         xalloc: add missing integer overflow check
2764         * lib/xalloc.h (x2nrealloc): Also check for multiplication
2765         overflow when P is null.
2767 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
2769         parse-datetime: make it standalone
2770         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
2771         (_GL_ATTRIBUTE_FORMAT): New macro.
2772         These are needed to get './gnulib-tool --test parse-datetime' to work.
2774 2017-04-23  Bruno Haible  <bruno@clisp.org>
2776         nap.h: Port to native Windows.
2777         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
2778         use nap_fd instead. On native Windows, close and reopen nap_fd.
2779         (nap_works): Don't compare the ctimes, because on native Windows, these
2780         are the creation times.
2781         (nap): Update.
2783 2017-04-23  Bruno Haible  <bruno@clisp.org>
2785         nap.h: Fix logic.
2786         * tests/nap.h (nap): Avoid signed integer overflow in loop.
2788 2017-04-23  Bruno Haible  <bruno@clisp.org>
2790         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
2791         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
2792         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
2793         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
2794         * lib/argp-help.c (__argp_failure): Likewise.
2796 2017-04-23  Bruno Haible  <bruno@clisp.org>
2798         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
2799         * m4/strerror_r.m4: Revert changes since 2016-10-16.
2800         * lib/strerror_r.c: Likewise.
2802 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
2804         Target a C99 subset, not a C89 subset
2805         For many years Gnulib has targeted C89 and has resisted using C99
2806         features, as some Gnulib-using programs still wanted to target
2807         C89.  As this no longer seems to be the case, relax the porting
2808         requirements to allow some C99 features.  This is merely a change
2809         to the documentation, to give other Gnulib developers a chance to
2810         weigh in on the topic.
2811         * doc/extern-inline.texi (extern inline):
2812         * doc/gnulib-readme.texi (Portability guidelines):
2813         * doc/gnulib-tool.texi (Initial import):
2814         * doc/gnulib.texi (Header files):
2815         Modernize to talk about C99 and C11 instead of C89 and C99.
2816         * doc/gnulib-readme.texi (Portability guidelines):
2817         Now a section, not merely a subsection, so that it
2818         can be split up.  Modernize a bit.
2819         (C language versions, C99 features assumed)
2820         (C99 features avoided):
2821         New sections.
2823 2017-04-23  Bruno Haible  <bruno@clisp.org>
2825         doc: New section "Modules that modify the way other modules work".
2826         * doc/gnulib.texi (Modules that modify the way other modules work): New
2827         section.
2829 2017-04-23  Bruno Haible  <bruno@clisp.org>
2831         stat-time: Update comments.
2832         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
2833         * tests/test-utimens-common.h: Add reference regarding st_ctime on
2834         Windows.
2836 2017-04-01  Bruno Haible  <bruno@clisp.org>
2838         glob: Fix more memory leaks.
2839         * lib/glob.c (glob): Free allocated memory before returning.
2840         Reported by Coverity via Tim Rühsen.
2842 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2844         poll: improve fast check for out-of-range NFD
2845         * lib/poll.c: Do not include intprops.h.
2846         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
2847         * modules/poll (Depends-on): Remove intprops.
2849         ftoastr: cite a newer paper
2850         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
2851         instead of Loitsch 2010.
2853 2017-04-22  Bruno Haible  <bruno@clisp.org>
2855         poll: Enable argument check also in the Windows implementation.
2856         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
2857         Reported by Paul Eggert.
2859 2017-04-22  Bruno Haible  <bruno@clisp.org>
2861         getlogin_r: Work around bug in Mac OS X 10.12.
2862         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
2863         bug.
2864         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
2865         given size minus 1, call getlogin_r a second time, on a larger buffer.
2866         * modules/getlogin_r (Depends-on): Add malloca.
2867         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
2869 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2871         parse-datetime: fix %z and prefer signed int
2872         %z problem reported by Pádraig Brady in:
2873         http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00103.html
2874         While fixing it, I decided to prefer signed ints to size_t, as
2875         they are less error-prone (e.g., ubsan catches overflow).
2876         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
2877         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
2878         counts, since signed integers make for better debugging.
2879         (date): Don’t assume %z works in printf formats.
2880         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
2881         sizes of buffers known to be small, e.g., because we’re using snprintf.
2882         (parse_datetime2): Simplify call to debug_mktime_not_ok.
2884 2017-04-22  Bruno Haible  <bruno@clisp.org>
2886         *printf: Work around rounding bug on Mac OS X.
2887         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
2888         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
2889         Mac OS X and FreeBSD.
2890         * doc/glibc-functions/*printf.texi: Likewise.
2892 2017-04-22  Bruno Haible  <bruno@clisp.org>
2894         vasnprintf tests: Avoid warnings.
2895         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
2896         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
2897         test.
2899 2017-04-22  Bruno Haible  <bruno@clisp.org>
2901         sys_file tests: Avoid warning.
2902         * tests/test-sys_file.c (main): Add a default clause to the switch
2903         statement.
2905 2017-04-22  Bruno Haible  <bruno@clisp.org>
2907         sethostname: Update doc.
2908         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
2909         Mac OS X.
2911 2017-04-22  Bruno Haible  <bruno@clisp.org>
2913         quotearg tests: Avoid warnings.
2914         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
2915         false.
2917 2017-04-22  Bruno Haible  <bruno@clisp.org>
2919         poll: Enable argument check.
2920         * lib/poll.c: Include intprops.h.
2921         (poll): Check value of nfd correctly.
2922         * modules/poll (Depends-on): Add intprops.
2924 2017-04-22  Bruno Haible  <bruno@clisp.org>
2926         get-rusage-data: Avoid warnings on Mac OS X.
2927         * lib/get-rusage-data.c: On Mac OS X, don't define
2928         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
2929         (get_rusage_data) [Mac OS X]: Just return 0.
2931 2017-04-22  Bruno Haible  <bruno@clisp.org>
2933         xbinary-io: Fix build error.
2934         * modules/xbinary-io (Depends-on): Add gettext-h.
2935         * lib/xbinary-io.c: Include gettext.h and define _().
2936         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
2937         <https://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00089.html>.
2939 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
2941         parse-datetime: overflow and debug cleanups
2942         This long patch was triggered by this bug report from Ruediger Meier:
2943         http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00028.html
2944         I fixed the bug he noted, then found some others nearby, and then
2945         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
2946         up some of the code to follow GNU standards while I was at it.
2947         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
2948         use c_isdigit.
2949         (EPOCH_YEAR): Remove; unused.
2950         (TM_YEAR_BASE): Now an enum rather than a macro.
2951         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
2952         time zone offset, since timezones now are in terms of seconds and
2953         not minutes.
2954         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
2955         appropriate.  Verify that intmax_t is wide enough.
2956         (time_overflow, time_zone_str): New functions, used to deal
2957         more reliably with overflow.
2958         (dbg_printf): Add printf attribute, to help catch integer width errors.
2959         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
2960         (%union, to_hour, yylex, parse_datetime2):
2961         Use intmax_t instead of long int and/or long_time_t.
2962         All uses changed.
2963         (DBGBUFSIZE): Move earlier.
2964         (relative_time, set_hhmmss, parser_control):
2965         Just use int for nanoseconds and for time zones; that’s wide enough.
2966         (parser_control): Use bool for members like year_seen that can
2967         be booleans instead of counters.  All uses changed.
2968         Remove debug_default_input_timezone; no longer needed.
2969         All uses removed.
2970         (apply_relative_time): Return a bool overflow flag.
2971         All uses changed to check for overflow.
2972         (apply_relative_time, zone, date, relunit, relunit_snumber)
2973         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
2974         Check for integer overflow portably.
2975         (str_days): Use just int for N, as it’s wide enough.
2976         Prefer 2D char arrays to arrays of char * when it looks like
2977         2D is a win on typical platforms.
2978         Prefer snprintf to strncpy/strncat, for simplicity;
2979         all buffers are smaller than INT_MAX so this is safe.
2980         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
2981         (debug_print_current_time): Don’t assume tv_nsec is of type long,
2982         as this is not true on x32.  Output "." before any nanoseconds.
2983         (debug_print_current_time, parse_datetime2):
2984         Output local zones using a more-consistent format.
2985         (debug_print_current_time, date, parse_datetime2):
2986         (main) [TEST]:
2987         Don’t assume time_t is the same width as long.
2988         (print_rel_part): New function, replacing ...
2989         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
2990         (debug_print_relative_time): Use bool for boolean.
2991         (local_zone): dsts_seen now counts only tDST instances.
2992         (date): Fix printf of size_t to use %z.  Do not assume numeric
2993         tokens have negative values merely because the context suggests
2994         a syntax with "-" separating tokens.
2995         (time_zone_hhmm): Return bool success indicator, which checks for
2996         overflow.  Store result into PC->time_zone instead.  All callers
2997         changed.
2998         (tm_year_str): New function.  Return a bool success indicator and
2999         store the result into a buffer.  All callers changed.  Output the
3000         numerically correct string even if adding 1900 to the year would
3001         overflow.
3002         (to_tm_year): New function, replacing the old to_year.  All
3003         callers changed.
3004         (tm_diff): Sync with glibc.
3005         (lookup_word): Use to_uchar instead of doing it by hand.
3006         (TZBUFSIZE): Now local to the only function that needs it.
3007         (debug_strfdatetime): Simplify now that time zones are int seconds.
3008         (debug_strfdate): Work even if tm_year + 1900 would overflow.
3009         (get_effective_timezone): Remove.  All uses removed.
3010         (parse_datetime2): Use fprintf in pieces instead of snprintfing
3011         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
3012         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
3013         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
3014         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
3015         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
3016         * modules/parse-datetime (Depends-on): Add inttypes.
3018 2017-04-21  Bruno Haible  <bruno@clisp.org>
3020         gettext-h: Avoid -Wundef warning.
3021         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
3022         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
3023         <https://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00022.html>.
3025 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
3027         error: Avoid "function declaration isn't a prototype" warning.
3028         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
3030 2017-04-21  Bruno Haible  <bruno@clisp.org>
3032         vasnprintf: Fix for MSVC 14.
3033         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
3034         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
3035         of !HAVE_SNPRINTF_RETVAL_C99.
3037 2017-04-21  Bruno Haible  <bruno@clisp.org>
3039         mbrtowc tests: Fix test failures on MSVC 14.
3040         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
3041         behaviour for invalid input.
3043 2017-04-21  Bruno Haible  <bruno@clisp.org>
3045         mbsinit: Fix for MSVC 14.
3046         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
3047         implementation that is in sync with mbrtowc.c. On other platforms, use
3048         an adequate ad-hoc implementation.
3050 2017-04-21  Bruno Haible  <bruno@clisp.org>
3052         Fix test-mbrtowc5.sh failure on native Windows.
3053         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
3054         "C".
3056 2017-04-21  Bruno Haible  <bruno@clisp.org>
3058         Avoid accidental use of native Windows APIs on Cygwin.
3059         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
3060         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
3061         * lib/localename.c (WINDOWS_NATIVE): Likewise.
3063 2017-04-20  Bruno Haible  <bruno@clisp.org>
3065         Remove red warnings from the generated MODULES.html.
3066         * modules/fcntl (Description): Disambiguate function references.
3067         * modules/getcwd-lgpl (Description): Likewise.
3068         * modules/hostent (Description): Likewise.
3069         * modules/servent (Description): Likewise.
3070         * modules/tempname (Description): Likewise.
3072 2017-04-20  Bruno Haible  <bruno@clisp.org>
3074         verify tests: Fix spurious failure with parallel make.
3075         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
3076         EXTRA_PROGRAMS.
3077         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
3078         * tests/test-verify-try.c: New file.
3079         * modules/verify-tests (Files): Add it.
3080         (EXTRA_PROGRAMS): Add test-verify-try.
3081         (MOSTLYCLEANFILES): Update accordingly.
3082         Reported by Adam James Stewart <ajstewart@anl.gov>.
3084 2017-04-18  Bruno Haible  <bruno@clisp.org>
3086         vma-iter: Fix compilation error on Solaris 7.
3087         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
3088         like on IRIX, OSF/1.
3089         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3091 2017-04-18  Bruno Haible  <bruno@clisp.org>
3093         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
3094         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
3095         included.
3096         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
3097         <sys/procfs.h>.
3098         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
3099         <sys/procfs.h> cannot be included.
3100         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3102 2017-04-18  Bruno Haible  <bruno@clisp.org>
3104         getopt-gnu: Add comments.
3105         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
3106         * modules/getopt-gnu (configure.ac): Likewise.
3108 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
3110         regex: port better to Solaris 10
3111         Solaris 10 <locale.h> includes <libintl.h>, which #defines
3112         gettext, and this causes a double #define.
3113         Problem reported by Gavin Smith in:
3114         http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00056.html
3115         * lib/regex_internal.h (gettext): #undef before #defining.
3117 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3119         intprops: improve comments
3120         * lib/intprops.h: Improve and shorten commentary.
3121         For the record, if we ever run into a pedantic compiler that
3122         behaves differently from GCC when converting an out-of-range value
3123         to a signed integer, we can work around the problem with something
3124         like the following code, where UCT is the signed counterpart of T
3125         (UCT is sometimes narrower than UT) and all callers are changed
3126         accordingly:
3127         #if __SUNPRO_C <= 0x5120
3128         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
3129            ((t) ((ut) (a) op (ut) (b)))
3130         #else
3131         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
3132            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
3133             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
3134                + TYPE_MINIMUM (t)) \
3135             : (t) (uct) ((ut) (a) op (ut) (b)))
3136         #endif
3138 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
3140         intprops: try to avoid tickling similar bugs
3141         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
3142         needs to be the same width as T; it can be wider.
3143         Change callers so that UT is at least as wide as unsigned int,
3144         as I suspect that this is less likely to run into compiler bugs.
3146         intprops: port to Oracle Studio 12.3 x86
3147         Problem reported by Gavin Smith in:
3148         http://lists.gnu.org/archive/html/bug-gnulib/2017-04/msg00049.html
3149         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
3150         Convert unsigned to signed via the usual rather than the standard way,
3151         to avoid a compiler bug in Oracle Studio 12.3 x86.
3153 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
3155         getopt: prefer - to _ in new file names
3156         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
3157         * lib/getopt-core.h: Rename from lib/getopt_core.h.
3158         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
3159         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
3160         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
3161         All uses changed.
3163         getopt: port recent getopt changes to macOS
3164         Problem reported by Harald Maier (Bug#26398).
3165         The macOS C compiler uses __nonnull for its own purposes and that
3166         clashes with glibc's __nonnull.
3167         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
3168         * lib/getopt_cdefs.in.h (__nonnull): Remove.
3169         * lib/getopt_core.h (getopt):
3170         * lib/getopt_ext.h (getopt_long, getopt_long_only):
3171         Use _GL_ARG_NONNULL, not __nonnull.
3172         * lib/unistd.in.h: Move snippet hooks to before where the getopt
3173         .h files are included, so that _GL_ARG_NONNULL is defined in time.
3174         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
3175         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
3177 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
3179         getopt-gnu: omit some duplicate code
3180         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
3181         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
3182         gnulib-tool already does this.
3183         * modules/getopt-gnu (configure.ac): Omit code duplicated from
3184         getopt-posix, which we depend on.
3186         getopt-posix: use angle-bracket include
3187         * lib/getopt1.c: Include <config.h>, not "config.h".
3189 2017-04-06  Zack Weinberg  <zackw@panix.com>
3191         getopt: annotate files with relationship to glibc
3193         As the final act in this patchset, adjust the message at the top of
3194         each file to indicate which files are synced with glibc.  (This has
3195         already been done for most of the headers.)
3197         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
3198         Mention in top-of-file boilerplate that these files are shared
3199         between glibc and gnulib.
3202         getopt: split up getopt.in.h and eliminate __need_getopt
3204         Over in glibc, all of the __need macros are being phased out in favor
3205         of small headers that declare only the necessary components, as this
3206         is much simpler and less prone to bugs.  As getopt is shared with
3207         glibc, gnulib needs to do the same for __need_getopt.
3209         __need_getopt is misnamed; what it really means is "we want only the
3210         getopt features specified in POSIX, not the GNU extensions".  glibc
3211         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
3212         these files can be shared verbatim with gnulib.  The portability
3213         wrapper, on the other hand, they have renounced altogether; glibc's
3214         getopt.h will no longer be shared with gnulib at all.  In exchange,
3215         certain glibc-specific quirks (having to do with __posix_getopt) no
3216         longer need appear in gnulib's headers at all.
3218         This patch merges getopt_core.h and getopt_ext.h from glibc, and
3219         splits up the current gnulib-side portability wrapper into three
3220         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
3221         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
3222         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
3223         unistd.in.h just use them.  All new files are clearly marked with
3224         whether they are shared with glibc.
3226         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
3227         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
3228         with glibc, and ...
3229         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
3230         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
3231         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
3232         instead of defining __need_getopt and including the full getopt.h.
3234         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
3235         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
3236         * modules/getopt-posix (Files): Add new headers and sort list.
3237         (Depends-on): No longer need snippet/arg-nonnull.
3238         (Makefile.am): Generate getopt_cdefs.h.
3241         getopt: better handling of ambiguous options
3243         glibc's getopt uses alloca to construct a linked list of possibilities
3244         for an "ambiguous" long option.  In gnulib, malloc should be used
3245         instead.  Providing for both cases complicates things a fair bit.
3247         This patch rewrites ambiguous-option handling to use a boolean vector
3248         instead of a linked list.  There is then only one allocation that
3249         might need freeing; in glibc it can honor __libc_use_alloca as usual,
3250         and in gnulib we define __libc_use_alloca to always be false, so we
3251         don't need ifdefs in the middle of the function.  This should also be
3252         slightly more efficient in the normal case of long options being fully
3253         spelled out -- I think most people aren't even aware they _can_
3254         sometimes abbreviate long options.
3256         One interesting consequence is that the list of possibilities is now
3257         printed in exactly the order they appear in the list of long options,
3258         instead of the first possibility being shuffled to the end.
3260         (The patch looks bigger than it really is because there's a fair bit
3261         of reindentation and code rearrangement.)
3263         * lib/getopt.c: When used standalone, define __libc_use_alloca
3264         as always false and alloca to abort if called.
3265         (process_long_option): Rewrite handling of ambiguous long options
3266         to use a single boolean vector, not a linked list; use
3267         __libc_use_alloca to decide whether to allocate this using alloca.
3270         getopt: refactor long-option handling
3272         There were two copies of the bulk of the code to handle long options.
3273         Now there is only one.
3275         This change temporarily removes the logic to avoid using alloca when
3276         standalone; the next patch in the series will restore it.
3278         * lib/getopt.c (process_long_option): New function split out
3279         from _getopt_internal_r.
3280         (_getopt_internal_r): Replace both copies of the long-option
3281         processing code with calls to process_long_option.
3284         getopt: tidy up _getopt_initialize a bit
3286         _getopt_data.__posixly_correct is completely redundant to
3287         _getopt_data.__ordering, and some work that logically belongs in
3288         _getopt_initialize was being done by _getopt_internal_r, making the
3289         code harder to understand.
3291         As a side effect, getenv will no longer be called if the first
3292         character of the options string is '+' or '-', which is probably a
3293         Good Thing.  (Perhaps we should have a flag character that
3294         specifically asks for the permutation behavior?)
3296         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
3297         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
3298         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
3301         getopt: merge from glibc: repetition reduction
3303         The definitions of the entry point functions 'getopt' and
3304         '__posix_getopt' can be made substantially less repetitive with a
3305         helper macro.
3307         While I was merging the const-correctness changes from gnulib into
3308         glibc I noticed there are still some unnecessary casts in
3309         _getopt_internal_r.
3311         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
3312         a macro.  Consistently cast 'argv' to 'char **' when calling
3313         _getopt_internal.
3314         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
3317         getopt: clean up error reporting
3319         getopt can print a whole bunch of error messages, and when used
3320         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
3321         cancellation point and getopt isn't, and also applying fprintf to a
3322         stream in wide-character mode is not allowed.  So every single error
3323         reporting case has an #ifdef _LIBC block in which it calls internal
3324         libc functions instead.  The counterpart patch series in glibc makes
3325         it possible to simplify all of that down to a set of #defines at the
3326         top of the file; core code is written as if it is safe to just call
3327         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
3328         call any *other* stdio functions.)
3330         * lib/getopt.c: When _LIBC is defined, define fprintf to
3331         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
3332         to _IO_funlockfile.  When neither _LIBC nor
3333         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
3334         funlockfile as no-ops.
3335         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
3336         standalone error-printing code can now be used for libc as well.
3337         Add an flockfile/funlockfile pair around one case where the error
3338         message is printed in several chunks.  Don't use fputc.
3341         getopt: fix fencepost error in ambiguous-W-option handling
3343         getopt_long contains an undocumented (AFAICT) feature in which, if you
3344         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
3345         treated as equivalent to '--foo'.  This is implemented with a partial
3346         second copy of the code for handling long options, and that code
3347         increments optind one too many times when recovering from an ambiguous
3348         abbreviated option, which can cause the main loop to walk past the end
3349         of argv and crash.
3351         I discovered this while writing a test case that tries to exercise all
3352         of getopt's error reporting paths; I wouldn't be surprised to learn
3353         that this feature is never used by real applications.
3355         * lib/getopt.c (_getopt_internal_r): Don't increment
3356         d->optind a second time when reporting ambiguous -W options.
3359         getopt: clean up getopt.c and getopt1.c file headers
3361         In getopt.c, there is no need to include wchar.h at all, and it is
3362         safe nowadays to assume that stdlib.h does declare getenv (several
3363         other gnulib modules make this assumption).
3365         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
3366         by using "" inclusions consistently, and there is no actual need to
3367         include stdlib.h (except in the #ifdef TEST block, where it should be
3368         unconditional), nor to provide a backup definition of NULL at all.
3370         * lib/getopt1.c: Simplify #ifdeffage at top of file.
3371         Move inclusion of stdlib.h to #ifdef TEST block and make
3372         unconditional.  Do not define NULL.
3373         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
3374         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
3375         * modules/getopt-gnu, modules/getopt-posix: Don't call
3376         gl_PREREQ_GETENV.
3379         getopt: harmonize comments with glibc
3381         The comments explaining how the behavior of 'getopt' varies depending
3382         on whether it's the standalone version and whether there are special
3383         characters at the beginning of the options string were inconsistent
3384         between gnulib and glibc, and also out of sync with the code.
3386         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
3389         getopt: remove USE_NONOPTION_FLAGS
3391         getopt includes code to parse an environment variable named
3392         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
3393         in decimal); but all of it has been #ifdefed out since 2001, with no
3394         official way to turn it back on.
3396         According to commentary in glibc's config.h.in, bash version 2.0
3397         set this environment variable to indicate argv elements that were
3398         the result of glob expansion and therefore should not be treated
3399         as options, but the feature was "disabled later" because "it
3400         caused problems".  According to bash's CHANGES file, "later" was
3401         release 2.01; it gives no more detail about what the problems
3402         were.
3404         Version 2.0 of bash was released on the last day of 1996, and version
3405         2.01 in June of 1997.  Twenty years later, I think it is safe to
3406         assume that this environment variable isn't coming back.
3408         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
3409         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
3410         __libc_argc and __libc_argv externs, which were only used by
3411         #ifdef USE_NONOPTION_FLAGS blocks.
3414         getopt: tabify, in preparation for merge with glibc
3416         glibc sticks to the GNU default of indenting with a mix of
3417         8-column tabs and spaces; make the gnulib copy match.
3419         getopt.h is not included because it is *not* going to be merged in its
3420         present form.
3422         * getopt.c, getopt1.c, getopt_int.h: Tabify.
3424 2017-04-02  Bruno Haible  <bruno@clisp.org>
3426         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
3427         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
3428         like it was done in modules/relocatable-lib on 2011-05-21 and in
3429         modules/relocatable-prog on 2011-08-15.
3430         Reported by Reuben Thomas <rrt@sc3d.org>.
3432 2017-03-31  Bruno Haible  <bruno@clisp.org>
3434         glob: Fix invalid free() call.
3435         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
3436         static storage to home_dir.
3437         Reported by Coverity via Tim Rühsen.
3439 2017-03-31  Bruno Haible  <bruno@clisp.org>
3441         glob: Fix memory leaks.
3442         * lib/glob.c (glob): Free allocated memory before returning.
3443         Reported by Coverity via Tim Rühsen.
3445 2017-03-31  Bruno Haible  <bruno@clisp.org>
3447         md5, sha1, sha256, sha512: Add comments regarding correctness.
3448         * lib/md5.h (buflen): Add comments regarding range.
3449         * lib/sha1.h (buflen): Likewise.
3450         * lib/sha256.h (buflen): Likewise.
3451         * lib/sha512.h (buflen): Likewise.
3452         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
3453         * lib/sha1.c (sha1_process_bytes): Likewise.
3454         * lib/sha256.c (sha256_process_bytes): Likewise.
3455         * lib/sha512.c (sha512_process_bytes): Likewise.
3456         Reported by Coverity via Tim Rühsen.
3458 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
3460         getopt: merge from glibc
3461         This does not change anything substantial; it merely simplifies
3462         hypothetical merges back to glibc.
3463         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
3464         Change copyright notice to match what is in glibc.
3465         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
3466         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
3467         __open_memstream rather than open_memstream and __glibc_likely
3468         instead of __builtin_expect.
3469         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
3471 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
3473         dfa: make [0-9] faster in non-C locales
3474         Problem reported by John P. Linderman (Bug#26193).
3475         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
3476         If both ends of the range are ASCII digits, do not worry about
3477         multi-character collating sequences and the like.  Be consistent
3478         about using isalpha as a precondition for setbit_case_fold_c.
3480 2017-03-19  Bruno Haible  <bruno@clisp.org>
3482         lock: Fix compilation error with HP-UX IA64 cc.
3483         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
3484         weak on non-glibc platforms.
3486 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3488         stdalign: tweak version# and test for HP-UX IA64
3489         Problems reported by Bruno Haible in:
3490         http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00078.html
3491         * lib/stdalign.in.h (_Alignas):
3492         * m4/stdalign.m4 (gl_STDALIGN_H):
3493         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
3494         used octal (as that is how they document it), but it is decimal in
3495         practice now and the ancient implementations no longer matter.
3496         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
3498 2017-03-19  Bruno Haible  <bruno@clisp.org>
3500         vma-iter: Add support for Solaris.
3501         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
3502         approach.
3503         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
3504         * lib/get-rusage-as.c: Update comment about Solaris.
3505         * lib/get-rusage-data.c: Likewise.
3507 2017-03-19  Bruno Haible  <bruno@clisp.org>
3509         vma-iter: Prefer HP-UX specific API on HP-UX.
3510         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
3511         * lib/vma-iter.h: Update.
3512         Just in case HP-UX ever implements mquery().
3514 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
3516         stdalign: restore previous behavior for HP-UX IA64
3517         See Bruno Haible's email in:
3518         http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00066.html
3519         which cites p 150 of a manual saying that 'aligned' works on Itanium.
3520         * lib/stdalign.in.h (_Alignas):
3521         Assume the '061200' applies to Itanium, not to PA-RISC.
3522         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
3524 2017-03-17  Bruno Haible  <bruno@clisp.org>
3526         stat-time, timespec: Support use of the header files in C++ mode.
3527         * lib/stat-time.h: Add "C" linkage declaration.
3528         * lib/timespec.h: Likewise.
3530 2017-03-17  Bruno Haible  <bruno@clisp.org>
3532         stdalign: Make it work with HP-UX cc.
3533         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
3534         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
3535         for HP-UX cc.
3537 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
3539         flexmember: try to detect HP-UX 11.31 cc bug
3540         Problem reported by Bruno Haible in:
3541         http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00066.html
3542         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3543         Attempt to detect bug in HP-UX 11.31 cc.
3545 2017-03-16  Bruno Haible  <bruno@clisp.org>
3547         stdint: Fix test compilation failure with HP-UX 11 cc.
3548         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
3549         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
3550         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
3551         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
3553 2017-03-14  Bruno Haible  <bruno@clisp.org>
3555         gnulib-tool: Don't produce a tests directory with only snippet .h files.
3556         * gnulib-tool (func_modules_transitive_closure_separately): If
3557         testsrelated_modules ends up with no "real" modules, aside from
3558         modules with applicability 'all', set it to empty.
3560 2017-03-14  Bruno Haible  <bruno@clisp.org>
3562         vma-iter: Add support for HP-UX.
3563         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
3564         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
3565         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
3566         * lib/get-rusage-as.c: Update comment about HP-UX.
3567         * lib/get-rusage-data.c: Likewise.
3568         (get_rusage_data): Use get_rusage_data_via_setrlimit.
3570 2017-03-14  Bruno Haible  <bruno@clisp.org>
3572         limits-h: Make it work with HP-UX cc.
3573         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
3574         defined.
3576 2017-03-14  Bruno Haible  <bruno@clisp.org>
3578         Fix test failures on DragonFlyBSD.
3579         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
3580         * tests/test-select.h (test_bad_fd): Likewise.
3581         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
3583 2017-03-14  Bruno Haible  <bruno@clisp.org>
3585         freadahead: Silence warning on DragonFlyBSD.
3586         * lib/freadahead.c (__sreadahead): Declare ourselves.
3588 2017-03-14  Bruno Haible  <bruno@clisp.org>
3590         vma-iter: Add comment about AIX.
3591         * lib/vma-iter.c: Add comment about why this module is not implemented
3592         on AIX.
3594 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
3596         snippets: move unadjusted snippet sources to lib
3597         Problem reported by Michal Privoznik in:
3598         http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00039.html
3599         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
3600         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
3601         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
3602         * lib/unused-parameter.h: Rename from
3603         build-aux/snippet/unused-parameter.h.
3604         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
3605         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
3606         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
3607         * modules/snippet/c++defs (Files:, CXXDEFS_H):
3608         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
3609         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
3610         Adjust to file renamings.
3612 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
3614         gnulib-tool: don't automatically distribute files from top/
3615         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
3616         not distribute top/README-release by default, don't distribute files
3617         from top/ unconditionally.
3618         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
3619         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
3621 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
3623         gnulib-tool: fix typo in comment output
3624         * gnulib-tool (func_import): Fix typo with previous change.
3626         snippets: work around GNU Make 3.82 VPATH
3627         When using 'gnulib-tool --gnu-make' on Emacs, and building
3628         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
3629         an out-of-source (VPATH) build failed because the sans-copyright
3630         snippet file was not built before the file that used it.
3631         Presumably this is some sort of VPATH thing.  Work around the
3632         problem by using the original snippet, i.e., don’t bother to
3633         remove its copyright notice.
3634         * modules/snippet/_Noreturn, modules/snippet/link-warning:
3635         Don’t assume Automake in comments.  Omit long-incorrect comment.
3636         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
3637         (MOSTLYCLEANFILES):
3638         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
3639         (MOSTLYCLEANFILES):
3640         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
3641         (MOSTLYCLEANFILES):
3642         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
3643         (MOSTLYCLEANFILES):
3644         Remove.
3645         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
3646         * modules/snippet/c++defs (CXXDEFS_H):
3647         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
3648         * modules/snippet/warn-on-use (WARN_ON_USE_H):
3649         Don’t bother to remove the copyright notice; just use the
3650         original snippet as-is.
3652 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
3654         gnulib-tool: minor --gnu-make fixups
3655         * gnulib-tool (func_emit_lib_Makefile_am):
3656         Remove useless code that was a blind alley during implementation.
3657         Problem reported by Thien-Thi Nguyen in:
3658         http://lists.gnu.org/archive/html/bug-gnulib/2017-03/msg00029.html
3659         (func_import): Note the "--gnu-make" option in the output comment.
3661 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
3663         gnulib-tool: new option --gnu-make
3664         This is for applications like GNU Emacs that use GNU Make
3665         features instead of Automake.
3666         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
3667         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
3668         Do not assume Automake.
3669         * gnulib-tool (func_determine_path_separator)
3670         (func_modules_transitive_closure, func_update_file)
3671         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
3672         (func_import): Add support for --gnu-make.
3674 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
3676         gnulib-common.m4: avoid aclocal.m4 bloat
3677         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
3678         Hide AM_PROG_AR from aclocal, so that aclocal does not
3679         install irrelevant macro definitions into aclocal.m4.
3681 2017-03-10  Bruno Haible  <bruno@clisp.org>
3683         vma-iter: Let callers know about error.
3684         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
3685         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
3687 2017-03-05  Bruno Haible  <bruno@clisp.org>
3689         Fix value of LD for 64-bit compilers on AIX.
3690         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
3691         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
3693 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
3695         dtotimespec: simplify
3696         * lib/dtotimespec.c (dtotimespec): Simplify.
3698 2017-03-04  Bruno Haible  <bruno@clisp.org>
3700         test-calloc-gnu: Reenable test also for GCC 7.
3701         * tests/test-calloc-gnu.c (eight): New function.
3702         (main): Don't skip test; use eight() instead.
3704 2017-03-04  Jim Meyering  <meyering@fb.com>
3706         test-calloc-gnu: port to GCC7
3707         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
3708         that attempts to calloc more than SIZE_MAX bytes, because GCC7
3709         and newer would detect that at compilation time.
3711 2017-03-04  Bruno Haible  <bruno@clisp.org>
3713         tests: Avoid compiler warning about uses of null_ptr.
3714         * tests/null-ptr.h: New file.
3715         * tests/test-canonicalize.c: Include null-ptr.h.
3716         (null_ptr): Remove function.
3717         * tests/test-canonicalize-lgpl.c: Likewise.
3718         * tests/test-memmem.c: Likewise.
3719         * tests/test-ptsname_r.c: Likewise.
3720         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
3721         * modules/canonicalize-lgpl-tests: Likewise.
3722         * modules/memmem-tests: Likewise.
3723         * modules/ptsname_r-tests: Likewise.
3724         Reported by Jim Meyering.
3726 2017-03-03  Bruno Haible  <bruno@clisp.org>
3728         doc: Mention Mac OS X deficiencies regarding semaphores.
3729         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
3730         * doc/posix-functions/sem_destroy.texi: Likewise.
3731         * doc/posix-functions/sem_getvalue.texi: Likewise.
3733 2017-03-03  Bruno Haible  <bruno@clisp.org>
3735         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
3736         Reported by Assaf Gordon <assafgordon@gmail.com> via
3737         Pádraig Brady <P@draigBrady.com>.
3738         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
3739         semaphores.
3740         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
3741         (atomic_int_semaphore): New macro.
3743 2017-02-28  Bruno Haible  <bruno@clisp.org>
3745         perror tests: Tweak for z/OS.
3746         Reported by Daniel Richard G. <skunk@iskunk.org>.
3747         * tests/test-perror.sh: Don't fail z/OS style perror output.
3749 2017-02-26  Bruno Haible  <bruno@clisp.org>
3751         nproc: Refactor large function.
3752         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
3753         from num_processors.
3754         (num_processors): In this function, only deal with OMP.
3756 2017-02-26  Pádraig Brady  <P@draigBrady.com>
3758         nproc: adjust handling of OpenMP environment variables
3759         to match the return value from omp_get_num_threads(), i.e.:
3760          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
3761          - Treat 0 as an invalid value and ignore
3762         Also remove the call to omp_get_num_threads() because
3763         it's ineffective without the omp pragmas in place.
3764         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
3765         so that it can be ignored.
3766         (num_processors): Honor OMP_THREAD_LIMIT even without
3767         OMP_NUM_THREADS being set.  Also fix a typo in the environment
3768         variable being checked, from the previous recent commit.
3770 2017-02-26  Pádraig Brady  <P@draigBrady.com>
3772         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
3773         * lib/nproc.c (parse_omp_threads): A new function refactored
3774         from num_processors() to support parsing both of the
3775         above environment variables.
3776         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
3777         to accurately reflect the current OpenMP nesting level.
3778         Also support the OMP_THREAD_LIMIT environment variable
3779         to limit the max value determined from OMP_NUM_THREADS.
3780         * modules/nproc: Depend on minmax header.
3781         Suggested by Oliver Heimlich.
3783 2017-02-25  Bruno Haible  <bruno@clisp.org>
3785         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
3786         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
3788 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3790         ftoastr: port to -Wdouble-promotion
3791         Work around -Wdouble-promotion false alarm in recent GCCs.
3792         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
3793         (ftoastr_snprintf, FTOASTR): Use it.
3795 2017-02-21  Bruno Haible  <bruno@clisp.org>
3797         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
3798         Reported by Rene Saavedra <rennes@openmailbox.org> in
3799         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
3800         * lib/glthread/lock.h: On glibc systems without
3801         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
3802         implementation of rwlocks.
3803         * lib/glthread/lock.c: Likewise.
3805 2017-02-20  Bruno Haible  <bruno@clisp.org>
3807         lock tests: Fix build failure on z/OS.
3808         Reported by Daniel Richard G. <skunk@iskunk.org>.
3809         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
3810         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
3811         exist.
3813 2017-02-19  Bruno Haible  <bruno@clisp.org>
3815         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
3816         This helps when CC=clang.
3817         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
3818         of /usr/bin/gcc.
3820         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
3821         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
3823 2017-02-19  Bruno Haible  <bruno@clisp.org>
3825         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
3826         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
3827         --with-tests --single-configure is specified.
3829 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
3831         users.txt: Update links, use HTTPS where possible
3832         * users.txt: Updated to HTTPS where possible,
3833         fixed some links to new locations.
3835 2017-02-16  Bruno Haible  <bruno@clisp.org>
3837         xbinary-io: Fix inlining.
3838         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
3840 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3842         xbinary-io: rename from xsetmode
3843         This patch is taken from suggestions by Bruno Haible in:
3844         http://lists.gnu.org/archive/html/bug-gnulib/2017-02/msg00060.html
3845         http://lists.gnu.org/archive/html/bug-gnulib/2017-02/msg00061.html
3846         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
3847         not ENOTTY, when it is an inappropriate device.
3848         * lib/binary-io.h (SET_BINARY): Resurrect.
3849         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
3850         (xset_binary_mode_error): Rename from xsetmode_error.
3851         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
3852         (xset_binary_mode): Rename from xsetmode.
3853         All uses changed.
3854         * modules/xbinary-io: Rename from modules/xsetmode.
3855         Update file names.
3856         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
3857         * NEWS: Update to match revised behavior.
3859 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3861         tests: Adjust to recent SET_BINARY change
3862         * tests/test-binary-io.c (main):
3863         * tests/test-binary-io.sh: Remove test for SET_BINARY.
3864         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
3865         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
3866         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
3868         xsetmode: new module
3869         This is to fix a problem noted by Eric Blake.
3870         Code was using xfreopen to change files to binary mode, but this
3871         fails for stdout when in append mode.  Such code should use
3872         xsetmode instead.
3873         * NEWS: Document incompatible changes to binary-io module.
3874         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
3875         New function.
3876         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
3877         (set_binary_mode): New function, which also checks for tty.
3878         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
3880 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
3882         headers: fix begin-end typos
3883         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
3884         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
3886         selinux-h: port to PGI 16.10
3887         * lib/se-selinux.in.h: Don't assume that include_next skips over
3888         duplicate -I DIR options.
3890         argp: port to PGI 16.10
3891         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
3893 2017-02-13  Darshit Shah  <darnir@gnu.org>
3895         unicase: Update function protoype to match definition.
3896         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
3897         uses 'size_t' as the datatype for the 'len' parameter in the functions
3898         it generates. Update the prototype specified here to match the newly
3899         generated function.
3901 2017-02-12  Bruno Haible  <bruno@clisp.org>
3903         times test: Avoid gcc warnings on Linux/x32.
3904         * tests/test-times.c (main): Really cast printf arguments from clock_t
3905         to 'long int'.
3907 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3909         glob: port better to emscripten
3910         Problem reported by Bruno Haible in:
3911         http://lists.gnu.org/archive/html/bug-gnulib/2017-02/msg00031.html
3912         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
3914 2017-02-11  Bruno Haible  <bruno@clisp.org>
3916         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
3917         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
3918         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
3919         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
3920         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
3921         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
3922         Distinguish hppa64 from hppa.
3924 2017-02-10  Bruno Haible  <bruno@clisp.org>
3926         search: Don't assume that tsearch() exists if 'VISIT' is defined.
3927         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
3928         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
3929         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
3931 2017-02-09  Bruno Haible  <bruno@clisp.org>
3933         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
3934         * doc/gnulib.texi (Libtool and Windows): Recommend
3935         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
3936         Reported by Reuben Thomas <rrt@sc3d.org>.
3938 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3940         stddef-tests: port to SIZE_MAX <= INT_MAX
3941         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
3942         Do not assume that INT_MAX < SIZE_MAX.
3944 2017-02-01  Bruno Haible  <bruno@clisp.org>
3946         lock tests: Fix link error.
3947         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
3948         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3950 2017-01-31  Bruno Haible  <bruno@clisp.org>
3952         lock: Fix link error (regression from 2017-01-05).
3953         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
3954         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
3955         pthread_rwlockattr_destroy weak.
3956         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3958 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
3960         Port to PGI 16.10 x86-64
3961         This patch fixes one real bug in gl_anylinked_list2.h, along with
3962         some minor glitches that are not bugs.  It does not silence PGI’s
3963         thousands of bogus warnings when compiling test-intprops.c.
3964         Fortunately, the warnings do not cause a failure.
3965         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
3966         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
3967         My goodness, PGI goes back a long ways - this predates C89!
3968         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
3969         For example, ASYNCSAFE (const void *) should expand to
3970         ‘const void *volatile’, not to ‘volatile const void *’.
3971         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
3972         * lib/verify.h (verify) [!__GNUC__]:
3973         Use shorter albeit meaningless string to bypass silly compiler limits.
3974         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
3975         * tests/nan.h (NaNf, NaNd, NaNl):
3976         Use static functions to avoid misguided compiler diagnostics.
3977         Is there some reason we don’t use static functions on all platforms?
3979 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
3981         parse-datetime: handle timezones reentrantly
3982         This API change was prompted by a report by Pádraig Brady in:
3983         https://bug.debian.org/851934#10
3984         To help fix the bug, make parse_datetime2 more reentrant.
3985         * NEWS: Document this incompatible change.
3986         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
3987         Add two arguments, the timezone and the timezone name.
3988         All callers changed.  If TZ="..." is specified, use it for
3989         calculating defaults.
3990         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
3991         this code should be usable in a library.
3992         (mktime_ok, get_effective_timezone):
3993         Accept timezone arg too.  All callers changed.
3994         (get_tz): Remove.
3995         (get_effective_timezone): Check for failures.
3997 2017-01-20  Eric Blake  <eblake@redhat.com>
3999         localename: port to cygwin 2.6
4000         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
4001         Cygwin.
4002         * modules/localename (Depends-on): Add extensions, since
4003         NL_LOCALE_NAME() is not visible without it.
4005 2017-01-17  Pádraig Brady  <P@draigBrady.com>
4007         parse-datetime: fix dependence on AC_PROG_SED
4008         * modules/parse-datetime: Use `sed` directly like all other modules.
4009         Reported by J William Piggott
4011 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
4013         intprops: update doc URLs
4014         * doc/intprops.texi (Integer Range Overflow): Update URLs.
4016 2017-01-16  Bruno Haible  <bruno@clisp.org>
4018         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
4019         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
4020         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
4021         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
4022         distinguish s390 and s390x.
4023         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
4024         * NEWS: Mention the change regarding 'armel'.
4026 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
4028         localeinfo: case_folded_counterparts and WEOF
4029         * NEWS: Document this.
4030         * lib/localeinfo.c (case_folded_counterparts):
4031         First arg is now wint_t, not wchar_t.  This generalizes the
4032         function to also work on WEOF, where it returns 0.
4034         dfa: port to gcc -fsanitize=undefined
4035         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
4036         as this runs afoul of gcc -fsanitize=undefined.
4038 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
4040         strftime: %z is -00 if unknown
4041         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
4042         the caller's responsibility to set 'negative_number'.  All uses changed.
4043         (__strftime_internal): Put '-' before a zero UTC offset if the time
4044         zone abbreviation starts with "-", which is the recently-introduced
4045         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
4046         * tests/test-strftime.c: Test for this.
4048 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4050         dfa: port to older GCC
4051         Problem reported by Assaf Gordon in:
4052         http://lists.gnu.org/archive/html/bug-gnulib/2017-01/msg00103.html
4053         * modules/c99: New module.  This merely attempts to use the latest
4054         C version, which should be enough to solve this particular problem.
4055         The idea is to document which Gnulib modules assume C99 or later.
4056         * modules/dfa (Depends-on): Add it.
4058 2017-01-10  Bruno Haible  <bruno@clisp.org>
4060         Update DEPENDENCIES.
4061         * DEPENDENCIES: List only https URLs. Update recommended version for
4062         autoconf, automake, gperf.
4064 2017-01-10  Jim Meyering  <meyering@fb.com>
4066         maint.mk: enforce spelling of "timestamp" (i.e., no space)
4067         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4068         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
4070 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
4072         dfa: minor simplification with emptyset
4073         * lib/dfa.c (build_state): Simplify by using emptyset.
4075 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
4077         dfa: shrink constraints from 4 bits to 3
4078         * lib/dfa.c (newline_constraint, letter_constraint)
4079         (other_constraint, prev_newline_dependent)
4080         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
4081         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
4082         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
4083         Constraints need only 3 bits, not 4.  Using smaller integers
4084         shrinks the code a bit and makes grep a tad faster on x86-64.
4086         dfa: omit unnecessary ptrdiff_t check
4087         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
4088         overflow, since xnmalloc does that now.
4090         dfa: omit unnecessary allocation
4091         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
4092         an all-zero follow set works just fine.
4094         dfa: omit unused local
4095         * lib/dfa.c (build_state): Fix up recent change.
4097         maint: remove stray .texi files
4098         Although these were superseded by other files like
4099         doc/posix-functions/ctime.texi, the old files were not removed.
4100         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
4102 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
4104         getprogname: fix port to IRIX
4105         * lib/getprogname.c (getprogname) [__sgi]:
4106         Don't dump core if malloc returns NULL.
4108         dfa: fix reallocation bug when matching newlines
4109         Problem reported for sed by S. Gilles (Bug#25390).
4110         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
4111         (dfastate): Reallocate before moving any newline transition ...
4112         (build_state): ... instead of reallocating here, where it is too late.
4114 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4116         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
4117         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
4119 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
4121         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
4122         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
4124 2017-01-07  Bruno Haible  <bruno@clisp.org>
4126         stdioext: Port to Minix 3.2 and newer.
4127         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
4128         * lib/fseeko.c (fseeko): Likewise.
4129         Reported by Nelson Beebe via Paul Eggert.
4131 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
4133         getprogname: port to IRIX
4134         * lib/getprogname.c (getprogname): Port to IRIX.
4135         Based on an idea by Bastien Roucariès at:
4136         http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00096.html
4137         via code from Bruno Haible at:
4138         https://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00249.html
4140         localename-tests: port to NetBSD 7
4141         Problem reported by Nelson H. F. Beebe.
4142         * tests/test-localename.c:
4143         Test newlocale and uselocale only if both exist.
4145         glob, intprops, xalloc: work around Clang bug
4146         Work around LLVM bug 16404, which is still not fixed.
4147         https://llvm.org/bugs/show_bug.cgi?id=16404
4148         Problem reported by Nelson H. F. Beebe.
4149         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
4150         Remove.
4151         * lib/glob.c (size_add_wrapv):
4152         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
4153         * lib/xalloc-oversized.h (xalloc_oversized):
4154         Do not use overflow builtins if Clang.
4156         dfa: fix 'return' typo
4157         Problem reported by Nelson H. F. Beebe.
4158         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
4160 2017-01-05  Pádraig Brady  <P@draigBrady.com>
4162         parse-datetime: fix generated paths for coverage files
4163         * modules/parse-datetime: Adjust the paths for parse-datetime.y
4164         within parse-datetime.c, so that gcc generates appropriate .gcno
4165         files, allowing lcov to proceed without error.  Previously it
4166         would error trying to find "lib/lib/parse-datetime.y".
4168 2017-01-05  Pádraig Brady  <P@draigBrady.com>
4170         maint.mk: support parallel execution of coverage
4171         * top/maint.mk (coverage): Run dependencies serially,
4172         thus supporting parallel processing of each one,
4173         particularly build-coverage, which builds and runs tests.
4175 2017-01-05  Bruno Haible  <bruno@clisp.org>
4177         lock tests: Prefer semaphore over mutex.
4178         * tests/test-lock.c (USE_SEMAPHORE): New constant.
4179         (struct atomic_int, init_atomic_int, get_atomic_int_value,
4180         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
4181         Suggested by Torvald Riegel <triegel@redhat.com>.
4183 2017-01-05  Bruno Haible  <bruno@clisp.org>
4185         lock: Provide guarantee to avoid writer starvation for rwlocks.
4186         The rationale is: 1) Read-preferring read-write locks are prone to
4187         writer starvation if the number of reader threads multiplied by the
4188         percentage of time they have the lock held is too high. 2) Write-
4189         preferring read-write locks are the only reliable way to avoid this.
4190         3) There have been reports of 'test-lock' hanging on glibc systems
4191         http://lists.gnu.org/archive/html/bug-gnulib/2017-01/msg00009.html,
4192         and glibc indeed implements read-preferring rwlocks by default, see
4193         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
4194         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
4195         * m4/pthread_rwlock_rdlock.m4: New file.
4196         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
4197         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
4198         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
4199         of rwlock initialization on glibc systems without
4200         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
4201         of rwlocks altogether on non-glibc systems without
4202         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
4203         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
4204         * lib/glthread/lock.c [USE_POSIX_THREADS]
4205         (glthread_rwlock_init_for_glibc): New function.
4206         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
4207         comment.
4208         [USE_PTH_THREADS]: New implementation of rwlocks.
4209         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
4210         readers.
4211         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
4212         (Depends-on): Add 'extensions'.
4213         * tests/test-rwlock1.c: New file.
4214         * lock-tests (Files): Add it.
4215         (Depends-on): Add usleep.
4216         (Makefile.am): Add test-rwlock1 to the tests.
4218 2017-01-05  Bruno Haible  <bruno@clisp.org>
4220         thread: Fix pth port.
4221         * lib/glthread/thread.h (pth_init): Declare weak.
4222         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
4223         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
4224         function.
4226 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
4228         parse-datetime: fix debug message on lone year number
4229         Input dates such as
4230           date -d "Apr 11 22:59:00 2011"
4231         are parsed as date (Apr 11, with default year 2016), then time, then a
4232         number (2011). Based on the combination of previously seen tokens,
4233         'digits_to_date_time' determines 2011 to be a year value.
4234         This fixes the debug messages to correctly show the updated year.
4235         Before:
4236             $ date --debug -d 'Apr 11 22:59:00 2011'
4237             date: parsed date part: (Y-M-D) 2016-04-11
4238             date: parsed time part: 22:59:00
4239             date: parsed number part: today/this/now
4240         After:
4241             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
4242             date: parsed date part: (Y-M-D) 2016-04-11
4243             date: parsed time part: 22:59:00
4244             date: parsed number part: year: 2011
4245         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
4246         'debug_year_seen' member fields.
4247         (digits_to_date_time): Update 'year_seen' as needed.
4248         (debug_print_current_time): Inform about year updates.
4249         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
4251         parse-datetime: fix local timezone debug messages
4252         "Local timezones" are strings that affect only DST relative to the
4253         default timezone. The debug messages in parse-datetime.y printed
4254         wrong information when encountering local timezones.
4255         Examples:
4256         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
4257              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
4258              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
4259         When the default timezone relates to the zone strings, EET/EEST are
4260         parsed as local timezones (tLOCAL_ZONE), and only change the DST
4261         value (0/1, respectively):
4262              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
4263              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
4264         * lib/parse-datetime.y (debug_print_current_time): If local timezone
4265         was seen, inform about DST change, don't print actual timezone.
4266         (debug_strfdatetime): If local timezone was seen, use default timezone
4267         (and adjust as needed) instead of using incorrect timezone.
4268         (parse_datetime2): Use correct time-zone source string, and adjust
4269         default timezone as needed.
4271         parse-datetime: add debug warning about DST changes
4272         Incorrect date arithmetic due to daylight saving time (DST) are a
4273         common (false) bug report in coreutils.
4274         Detect two such cases and print a warning:
4275         1. year/month/day adjustments (performed on 'struct tm'),
4276            where 'mktime' returns a different isdst value.
4277         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
4278            where the result of 'localtime(3)' on the value will return a
4279            different isdst value.
4280         Note: DST changes could be harmless or unnoticeable.
4281         Examples (with 'TZ=America/New_York'):
4282         Unnoticeable: result is 2016-Dec-14
4283            $ date -d '2016-06-15 EDT + 6 months' +%b
4284            Dec
4285         Unnoticeable: result is 2016-Dec-15 11:00:00
4286            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
4287            2016-12-15
4288         This is unexpected:
4289            $ date -d '2016-06-01 EDT + 6 months' +%F
4290            2016-11-30
4291         The new debug warnings will show:
4292            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
4293            ...
4294            date: warning: daylight saving time changed after date adjustment
4295            ...
4296         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
4297         print an appropriate warning message.
4299         parse-datetime: add debug warning about date arithmetic
4300         Date arithmetic are done directly on the fields of 'struct tm',
4301         which can result in invalid dates. Normalization with 'mktime(3)'
4302         will then produce a different date - which might cause unexpected
4303         results.
4304         Examples:
4305           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
4306           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
4307         Note that date normalization is not inherently wrong and not rejected,
4308         as it has legitimate uses:
4309           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
4310         If the user asked to adjust months but 'mday' changed,
4311         or user asked to adjust years but 'month' changed - warn about it.
4312             $ ./src/date --debug -d '2016-10-31 - 1 month'
4313             ...
4314             date: warning: when adding relative months/years, \
4315                            it is recommended to specify the 15th of the month
4316             ...
4317             date: warning: month/year adjustment resulted in shifted dates:
4318             date:      adjusted Y M D: 2016 09 31
4319             date:    normalized Y M D: 2010 10 01
4320             ...
4321         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
4322         a warning message. Improve recommendation of when to use 15 of the
4323         month or noon for date arithmetic.
4325         parse-datetime: fix debug message of relative part after timezone
4326         Relative part (e.g '+8 days') after a timezone string was not
4327         reported (was only reported after a timezone number). Due to the
4328         parser's structure, timezone strings with numbers were handled
4329         separately.
4330         before:
4331              # Timezone number + relative part: OK
4332              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
4333              ...
4334              date: parsed relative part: -8 day(s)
4335              # Timezone string + relative part: missing
4336              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
4337              [ missing message ]
4338         After: messages are printed in both cases.
4339         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
4341         parse-datetime: fix incorrect debug message on lone number
4342         A lone number is an absolute value, not a relative time part.
4343         before:
4344            $ date --debug -d '20130101'
4345            date: parsed number part: today/this/now
4346         After:
4347            $ ./src/date --debug -d '20130101'
4348            date: parsed number part: (Y-M-D) 2013-01-01
4349         * lib/parse-datetime.y ('item'/'number' tokens): Call
4350         'debug_print_current_time' instead of 'debug_print_relative_time'.
4352 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
4354         doc: modernize for C11 etc.
4355         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
4356         for C11, MinGW, etc.  This responds to Paul Smith's question in:
4357         http://lists.gnu.org/archive/html/bug-gnulib/2017-01/msg00014.html
4359         dfa: prefer functions to FETCH_WC macro
4360         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
4361         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
4362         wint_t result into DFA->lex.wctok instead of to a separate arg.
4363         All callers changed.  Move more local decls closer to where
4364         they're used.
4366         dfa: narrow more local var scopes
4367         * lib/dfa.c: Move more local decls to be more local.
4369         dfa: remove duplicate assignment
4370         Problem reported by Bruno Haible in:
4371         http://lists.gnu.org/archive/html/bug-gnulib/2017-01/msg00007.html
4372         * lib/dfa.c (parse_bracket_exp): Simplify.
4374 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4376         dfa: simplify constraint-dependency checking
4377         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
4378         (prev_other_constraint): Remove.
4379         (prev_newline_dependent, prev_letter_dependent):
4380         Simplify, to avoid an unnecessary bitwise AND operation.
4382         dfa: prefer functions and constants to macros
4383         * lib/dfa.c: Prefer constants to macros where either will do.
4384         (streq, isasciidigit, newline_constraint)
4385         (letter_constraint, other_constraint, succeeds_in_context)
4386         (prev_newline_constraint, prev_letter_constraint)
4387         (prev_other_constraint, prev_newline_dependent)
4388         (prev_letter_dependent, accepting, accepts_in_context):
4389         Now static functions instead of function-like macros.
4390         Use lower-case names accordingly.  All uses changed.
4392         dfa: narrow more local var scopes
4393         * lib/dfa.c: Move some more local decls down to nearer where
4394         they're needed.
4396 2016-12-31  Jim Meyering  <meyering@fb.com>
4398         dfa: narrow the scope of many local variables
4399         * lib/dfa.c: Now that we are no longer constrained to c89, move
4400         declarations of many variables (often indices) "down" into the
4401         scope(s) where used or to the point of definition.  This is a
4402         no-semantic-change diff.
4404 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
4406         version-etc: new year
4407         * build-aux/gendocs.sh (version):
4408         * doc/gendocs_template:
4409         * doc/gendocs_template_min:
4410         * doc/gnulib.texi:
4411         * lib/version-etc.c (COPYRIGHT_YEAR):
4412         Update copyright dates by hand in templates and the like.
4413         * all files: Run 'make update-copyright'.
4415 2016-12-31  Eric Blake  <eblake@redhat.com>
4417         do-release-commit-and-tag: avoid shell syntax error
4418         * build-aux/do-release-commit-and-tag (curr_br): $branch can
4419         contain spaces when rebasing.
4421         maint.mk: hoist gnulib_dir definition earlier
4422         * top/maint.mk (gnulib_dir): Move near top of file.
4424 2016-12-31  Jim Meyering  <meyering@fb.com>
4426         maint.mk: do not always evaluate intprops-related shell
4427         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
4428         using gnulib_dir undefined (gnulib_dir is defined later in the
4429         file, which will be fixed separately), and besides, there is no
4430         need to incur the cost of this shell invocation for every single
4431         use of this .mk file.  Reported by Eric Blake in
4432         https://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00137.html
4434 2016-12-30  Jim Meyering  <meyering@fb.com>
4436         maint.mk: improve sc_prohibit_intprops_without_use
4437         * top/maint.mk (_intprops_names): Don't hard-code the list of
4438         symbol names.  Instead, derive it on the fly.
4440 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
4442         dfa: shorten sbit, success
4443         * lib/dfa.c (struct regex_syntax.sbit):
4444         (struct dfa.success): Use char, not int, for array elements, since
4445         they are all in the range 0..7.
4447         dfa: simplify multibyte_prop etc.
4448         This follows up on a change made when dfa.c was in grep, namely grep
4449         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
4450         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
4451         That earlier simplification allows for some more simplification
4452         and trimming down here.
4453         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
4454         (struct lexer_state): New mamber brack.
4455         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
4456         since they must be in the range 0..3 now.
4457         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
4458         the brack member now supersedes them.
4459         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
4460         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
4461         (dfaparse): Remove unnecessary initializations of already-0 storage.
4462         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
4463         (dfassbuild): No need to clear sup->mbcsets.
4465         dfa: minor performance tweak
4466         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
4468         dfa: wrap charclass inside a struct
4469         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
4470         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
4471         about 5% faster, where list.txt is generated by 'aspell dump
4472         master | head -n 100000 >list.txt'.  See Bug#22239.
4473         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
4474         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
4475         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
4476         Adjust to this, e.g., by using charclass * rather than charclass.
4477         All callers changed as needed.
4478         (copyset): Remove.  All uses changed to simple assignment.
4479         (parse_bracket_exp): Use zeroset instead of memset.
4481 2016-12-30  Jim Meyering  <meyering@fb.com>
4483         maint.mk: update list of intprops.h symbol names
4484         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
4485         This avoids a false failure of the sc_prohibit_intprops_without_use
4486         rule in grep.
4488 2016-12-29  Eric Blake  <eblake@redhat.com>
4490         getopt: fix parallel test failure
4491         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
4492         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
4493         * tests/test-getopt-main.h (main): Use different file names
4494         in case test-getopt-gnu and test-getopt-posix run in parallel.
4496 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
4498         xalloc: x2nrealloc check for ptrdiff_t overflow
4499         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
4500         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
4502 2016-12-24  Bruno Haible  <bruno@clisp.org>
4504         lock test: Fix performance problem on multi-core machines.
4505         * tests/test-lock.c (USE_VOLATILE): New macro.
4506         (struct atomic_int): New type.
4507         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
4508         functions.
4509         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
4510         as 'struct atomic_int'.
4511         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
4512         reclock_checker_thread, test_recursive_lock): Use the new functions.
4513         Reported by Eric Blake in
4514         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
4515         and by Pádraig Brady in
4516         http://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00117.html.
4518 2016-12-19  Bruno Haible  <bruno@clisp.org>
4520         vma-iter: Fix endless loop on 64-bit Windows.
4521         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
4522         'unsigned long'.
4524 2016-12-19  Bruno Haible  <bruno@clisp.org>
4526         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
4527         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
4528         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
4529         Invoke gt_TYPE_WINT_T instead.
4530         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
4531         * modules/stdint (Files): Add m4/wint_t.m4.
4532         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
4533         * modules/wctype-h (Makefile.am): Likewise.
4534         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
4535         not only on MSVC.
4536         * lib/wctype.in.h (wint_t): Likewise.
4538 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
4540         getopt-posix-tests: fix Makefile typo
4541         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
4542         Fix typo: the last ‘_’ was missing in the name.
4543         I suspect that the typo explains this build failure:
4544         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
4545         although I can’t reproduce the problem on Solaris 10 sparc.
4547 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
4549         dfa: improve worst-case 'replace' performance
4550         See my note in Bug#22357#71.
4551         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
4552         (merge_constrained): New function, which is like
4553         the old 'merge' function, except with a new argument C2.
4554         Simplify the body by avoiding the need for different sections
4555         of code depending on whether one input is exhausted.
4556         (merge): Use the new function.
4557         (delete): Return the constraint of the deleted position,
4558         not the entire position.  Caller changed.
4559         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
4561 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
4563         dfa: performance improvement for removal of epsilon closure
4564         See Bug#22357#32.
4565         * lib/dfa.c (delete): Use binary search to find deleted index.
4566         (replace): New function.  It replaces a position with the followed set.
4567         (epsclosure): Replace it with a new algorithm.  Update caller.
4569 2016-12-18  Bruno Haible  <bruno@clisp.org>
4571         Split tests for getopt-posix and getopt-gnu.
4572         * tests/test-getopt-posix.c: New file.
4573         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
4574         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
4575         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
4576         GNULIB_TEST_GETOPT_GNU.
4577         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
4578         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
4579         (Makefile.am): Test test-getopt-posix instead of test-getopt.
4580         * modules/getopt-gnu-tests: New file.
4581         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
4583 2016-12-18  Bruno Haible  <bruno@clisp.org>
4585         posix-modules: Add options for specific platforms.
4586         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
4587         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
4588         Invoke func_tmpdir. Filter out the excludes.
4590 2016-12-18  Bruno Haible  <bruno@clisp.org>
4592         getopt: Fix link error for users of getopt() in <unistd.h>.
4593         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
4594         __need_getopt is defined. Undefine all macros before defining them.
4595         * modules/getopt (Include): Clarify that including <unistd.h> is also
4596         OK.
4597         * tests/test-getopt.c: Add comment.
4599 2016-12-17  Bruno Haible  <bruno@clisp.org>
4601         getaddrinfo tests: Avoid compilation error on MSVC.
4602         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
4603         getaddrinfo on native Windows.
4605 2016-12-17  Bruno Haible  <bruno@clisp.org>
4607         getlogin, getlogin_r: Fix link errors on MSVC.
4608         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
4609         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
4610         (Link): New section.
4611         * modules/getlogin_r (Files): Add m4/getlogin.m4.
4612         (configure.ac): Require gl_LIB_GETLOGIN.
4613         (Link): New section.
4614         * NEWS: Mention the new link requirements.
4615         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
4616         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
4618 2016-12-17  Bruno Haible  <bruno@clisp.org>
4620         Un-deprecate the 'progname' module.
4621         * NEWS: Describe the appropriate use-cases of 'progname' versus
4622         'getprogname'. Based on discussion summary at
4623         http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00105.html
4625 2016-12-17  Bruno Haible  <bruno@clisp.org>
4627         Reorganize NEWS a bit.
4628         * NEWS: Move some not so important changes away from section
4629         "Important Notes".
4631 2016-12-17  Bruno Haible  <bruno@clisp.org>
4633         tanhf: Avoid redefinition error on MSVC.
4634         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
4635         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
4636         may be defined as an inline function.
4637         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
4638         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
4640 2016-12-17  Bruno Haible  <bruno@clisp.org>
4642         tanf: Avoid redefinition error on MSVC.
4643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
4644         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
4645         may be defined as an inline function.
4646         * modules/math (Makefile.am): Substitute REPLACE_TANF.
4647         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
4649 2016-12-17  Bruno Haible  <bruno@clisp.org>
4651         sqrtf: Avoid redefinition error on MSVC.
4652         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
4653         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
4654         may be defined as an inline function.
4655         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
4656         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
4658 2016-12-17  Bruno Haible  <bruno@clisp.org>
4660         sinhf: Avoid redefinition error on MSVC.
4661         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
4662         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
4663         may be defined as an inline function.
4664         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
4665         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
4667 2016-12-17  Bruno Haible  <bruno@clisp.org>
4669         sinf: Avoid redefinition error on MSVC.
4670         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
4671         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
4672         may be defined as an inline function.
4673         * modules/math (Makefile.am): Substitute REPLACE_SINF.
4674         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
4676 2016-12-17  Bruno Haible  <bruno@clisp.org>
4678         logf: Avoid redefinition error on MSVC.
4679         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
4680         may be defined as an inline function.
4682 2016-12-17  Bruno Haible  <bruno@clisp.org>
4684         log10l: Avoid redefinition error on MSVC.
4685         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
4686         may be defined as an inline function.
4688 2016-12-17  Bruno Haible  <bruno@clisp.org>
4690         log10f: Avoid redefinition error on MSVC.
4691         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
4692         may be defined as an inline function.
4694 2016-12-17  Bruno Haible  <bruno@clisp.org>
4696         hypotl: Avoid redefinition error on MSVC.
4697         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
4698         may be defined as an inline function.
4700 2016-12-17  Bruno Haible  <bruno@clisp.org>
4702         hypotf: Avoid redefinition error on MSVC.
4703         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
4704         may be defined as an inline function.
4706 2016-12-17  Bruno Haible  <bruno@clisp.org>
4708         fmodl: Avoid redefinition error on MSVC.
4709         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
4710         may be defined as an inline function.
4712 2016-12-17  Bruno Haible  <bruno@clisp.org>
4714         fmodf: Avoid redefinition error on MSVC.
4715         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
4716         may be defined as an inline function.
4718 2016-12-17  Bruno Haible  <bruno@clisp.org>
4720         expf: Avoid redefinition error on MSVC.
4721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
4722         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
4723         may be defined as an inline function.
4724         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
4725         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
4727 2016-12-17  Bruno Haible  <bruno@clisp.org>
4729         coshf: Avoid redefinition error on MSVC.
4730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
4731         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
4732         may be defined as an inline function.
4733         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
4734         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
4736 2016-12-17  Bruno Haible  <bruno@clisp.org>
4738         cosf: Avoid redefinition error on MSVC.
4739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
4740         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
4741         may be defined as an inline function.
4742         * modules/math (Makefile.am): Substitute REPLACE_COSF.
4743         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
4745 2016-12-17  Bruno Haible  <bruno@clisp.org>
4747         atan2f: Avoid redefinition error on MSVC.
4748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
4749         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
4750         may be defined as an inline function.
4751         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
4752         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
4754 2016-12-17  Bruno Haible  <bruno@clisp.org>
4756         atanf: Avoid redefinition error on MSVC.
4757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
4758         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
4759         may be defined as an inline function.
4760         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
4761         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
4763 2016-12-17  Bruno Haible  <bruno@clisp.org>
4765         asinf: Avoid redefinition error on MSVC.
4766         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
4767         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
4768         may be defined as an inline function.
4769         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
4770         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
4772 2016-12-17  Bruno Haible  <bruno@clisp.org>
4774         acosf: Avoid redefinition error on MSVC.
4775         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
4776         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
4777         may be defined as an inline function.
4778         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
4779         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
4781 2016-12-17  Bruno Haible  <bruno@clisp.org>
4783         Avoid redefinition errors on MSVC.
4784         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
4785         the function may be defined as an inline function.
4786         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
4787         the function may be defined as an inline function.
4789 2016-12-17  Bruno Haible  <bruno@clisp.org>
4791         Avoid redefinition errors on MSVC.
4792         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
4793         * lib/unistd.in.h: Include <stdio.h> when necessary.
4795 2016-12-17  Bruno Haible  <bruno@clisp.org>
4797         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
4798         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
4799         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
4800         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
4801         WINT_MAX.
4803 2016-12-17  Bruno Haible  <bruno@clisp.org>
4805         Avoid autoconf warning.
4806         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
4807         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
4809 2016-12-17  Bruno Haible  <bruno@clisp.org>
4811         fpending: Revert workaround against Emacs bug.
4812         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
4813         The Emacs bug is fixed by Eli Zaretskii in
4814         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00715.html
4816 2016-12-17  Bruno Haible  <bruno@clisp.org>
4818         getlogin_r tests: Port to mingw.
4819         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
4820         regression introduced on 2014-05-19.
4822 2016-12-17  Bruno Haible  <bruno@clisp.org>
4824         getlogin: Port to newer mingw.
4825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
4826         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
4827         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
4828         HAVE_GETLOGIN.
4829         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
4830         HAVE_GETLOGIN.
4831         * doc/posix-functions/getlogin.texi: Mention the issue.
4832         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
4833         regression introduced on 2014-05-14.
4835 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
4837         builtin-expect: improve port to IBM XL C
4838         Problem reported for z/OS by Daniel Richard G. in:
4839         http://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00079.html
4840         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
4841         Test for <builtins.h> directly.
4843         builtin-expect: port to IBM XL C
4844         Problem reported for z/OS by Daniel Richard G. in:
4845         http://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00074.html
4846         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
4847         Also allow __builtin_expect defined via a standard include file.
4849         regex: fix dependency
4850         Problem reported by Bruno Haible in:
4851         http://lists.gnu.org/archive/html/bug-gnulib/2016-12/msg00073.html
4852         * modules/regex: Depend on builtin-expect.
4854         builtin-expect: new module
4855         Fix fnmatch to use it.
4856         Problem reported for z/OS by Daniel Richard G.
4857         * lib/fnmatch.c (__builtin_expect):
4858         * lib/glob.c (__builtin_expect):
4859         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
4860         * lib/memmem.c (__builtin_expect) [!_LIBC]:
4861         * lib/scandir.c (__builtin_expect):
4862         * lib/strstr.c (__builtin_expect) [!_LIBC]:
4863         Remove macro; config.h now does this.
4864         * lib/gl_anytreehash_list1.h (add_to_bucket):
4865         * lib/regex_internal.h (BE):
4866         Assume __builtin_expect.
4867         * m4/builtin-expect.m4, modules/builtin-expect: New files.
4868         * modules/avltreehash-list, modules/fnmatch, modules/glob:
4869         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
4870         * modules/scandir, modules/strstr-simple:
4871         Depend on builtin-expect.
4873 2016-12-15  Bruno Haible  <bruno@clisp.org>
4875         init.sh: Add possibility to not delete temporary files.
4876         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
4877         to yes, don't erase the temporary directory.
4879 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
4881         regex: fix integer-overflow bug in never-used code
4882         Problem reported by Clément Pit–Claudel in:
4883         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00654.html
4884         * lib/regex_internal.h: Include intprops.h.
4885         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
4886         behavior on integer overflow.
4887         * modules/regex (Depends-on): Add intprops.
4889         fpending: fix port to MinGW on Emacs
4890         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
4891         Problem reported by Eli Zaretskii in:
4892         http://lists.gnu.org/archive/html/emacs-devel/2016-12/msg00642.html
4893         Is Plan 9 still a valid porting target, anyway?
4895 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
4897         safe-alloc: use xalloc-oversized
4898         * lib/safe-alloc.c: Include xalloc-oversized.h.
4899         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
4900         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
4902         xalloc: do not exceed PTRDIFF_MAX
4903         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
4904         xalloc_oversized check, since objects larger than PTRDIFF_MAX
4905         bytes have pointer-subtraction problems.
4907         malloca: do not exceed PTRDIFF_MAX
4908         * lib/malloca.h: Include xalloc-oversized.
4909         (nmalloca): Use xalloc_oversized instead of rolling our own.
4910         * modules/malloca (Depends-on):
4911         * modules/relocatable-prog-wrapper (Depends-on):
4912         Add xalloc-oversized.
4914         quotearg: pacify GCC better
4915         * modules/quotearg (Depends-on): Add minmax, stdint.
4916         * lib/quotearg.c: Include minmax.h, stdint.h.
4917         (nslots): Now int, as there seems little point to going to extra
4918         work merely to support the INT_MAX slot, which nobody ever uses.
4919         (quotearg_n_options): Redo size-overflow checks to pacify GCC
4920         and to catch (mostly-theoretical) ptrdiff_t problems too.
4921         This can be done via one comparison.
4923 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
4925         xalloc-oversized: check for PTRDIFF_MAX too
4926         This avoids undefined behavior when subtracting pointers to
4927         objects containing more than PTRDIFF_MAX bytes.
4928         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
4929         Also return 1 if the result would exceed PTRDIFF_MAX>
4930         * modules/xalloc-oversized (Depends-on):
4931         Add stdint.
4933         dfa: fix glitches in previous commit
4934         Sorry, I don't know how I managed to commit the wrong version.
4935         * lib/dfa.c (MIN): Move up.
4936         (xpalloc): Now static.
4938         dfa: fix some unlikely integer overflows
4939         I found these while reviewing the recent Coverity-related fix.
4940         This patch changes part of dfa.c to prefer ptrdiff_t instead of
4941         size_t for object counts.  Using ptrdiff_t is the style typically
4942         used in Emacs; although it wastes a sign bit as sizes can never be
4943         negative, it makes -fsanitize=undefined more likely to catch
4944         integer overflows in index calculation, and nowadays the upside is
4945         typically more important than the downside.  Although perhaps the
4946         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
4947         of dfa.c already does, since it uses state_num which is signed),
4948         that is a bigger change and is not needed to fix the bugs I found.
4949         * lib/dfa.c: Include stdint.h and intprops.h.
4950         (TOKEN_MAX): New macro.
4951         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
4952         (charclass_index, parse_bracket_exp, addtok, insert, merge)
4953         (realloc_trans_if_necessary, free_mbdata):
4954         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
4955         This is safe because xpalloc checks that the sizes do not exceed
4956         either SIZE_MAX or PTRDIFF_MAX.
4957         (xpalloc): New function, mostly taken from Emacs.
4958         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
4959         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
4960         (charclass_index): Check for integer overflow in computing
4961         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
4962         added to it later.
4963         (alloc_position_set): Check for integer overflow.  On typical
4964         platforms this check has zero overhead, since the constant
4965         expression is false.
4966         (realloc_trans_if_necessary):
4967         Remove assertion, which I hope Coverity no longer needs.
4969         * modules/dfa (Depends-on): Add intprops, stdint.
4971 2016-12-12  Jim Meyering  <meyering@fb.com>
4973         dfa: add an assertion to avoid coverity false positive
4974         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
4975         warned that "newalloc1 - 2" could overflow.
4977 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
4979         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
4980         * dfa.h (DFA_CASE_FOLD): Remove.
4981         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
4983 2016-12-13  John W. Eaton  <gnu@jweaton.org>
4985         link: fix test to declare use of rename()
4986         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
4987         -Werror=implicit-function-declaration
4989 2016-12-12  Bruno Haible  <bruno@clisp.org>
4991         fpending: Port to native Windows with MSVC.
4992         * lib/fpending.c: Include stdio-impl.h.
4993         (__fpending): Include all known implementations. Err out if it's not
4994         ported.
4995         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
4996         * modules/fpending (Files): Add lib/stdio-impl.h.
4997         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
4999 2016-12-12  Bruno Haible  <bruno@clisp.org>
5001         stdioext: Port to native Windows with MSVC.
5002         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
5003         (struct _gl_real_FILE): New type.
5004         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
5005         Windows.
5006         * lib/fbufmode.c (fbufmode): Add code for native Windows.
5007         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
5008         other SystemV derived implementations.
5009         * lib/fpurge.c (fpurge): Likewise.
5010         * lib/freadable.c (freadable): Likewise.
5011         * lib/freadahead.c (freadahead): Likewise.
5012         * lib/freading.c (freading): Likewise.
5013         * lib/freadptr.c (freadptr): Likewise.
5014         * lib/freadseek.c (freadptrinc): Likewise.
5015         * lib/fseeko.c (fseeko): Likewise.
5016         * lib/fseterr.c (fseterr): Likewise.
5017         * lib/fwritable.c (fwritable): Likewise.
5018         * lib/fwriting.c (fwriting): Likewise.
5019         Reported by Gisle Vanem <gvanem@yahoo.no>.
5021 2016-12-11  Jim Meyering  <meyering@fb.com>
5023         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
5024         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
5025         to work with most shells, but not with the one provided by many
5026         Solaris 10 systems, so running configure with such a /bin/sh evokes
5027         e.g., "./configure: syntax error at line 33602: `(' unexpected".
5028         Reported by Assaf Gordon in
5029         https://lists.gnu.org/archive/html/sed-devel/2016-12/msg00002.html
5031 2016-12-10  Bruno Haible  <bruno@clisp.org>
5033         threadlib: Optimize out runtime test on Solaris >= 10.
5034         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
5035         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
5036         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
5038 2016-12-10  Bruno Haible  <bruno@clisp.org>
5040         stdint: Update doc about Solaris 9.
5041         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
5043 2016-12-09  Bruno Haible  <bruno@clisp.org>
5045         c-ctype tests: Fix link error on Solaris 9.
5046         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
5047         Reported at <https://savannah.gnu.org/bugs/?46827>.
5049 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
5051         dfa: fix performance bug that recomputes trans
5052         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
5053         25 on-demand changes.  The bug caused build_state to reset all
5054         d->trans elements to -2 even when d->trans was already non-null.
5055         Use C99 style decls after statements in this function.
5057         same-inode: port to MinGW
5058         Here st_ino is always 0, so change the definition of SAME_INODE so
5059         that 1 means the two files are the same, 0 with st_ino != 0 means
5060         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
5061         reported by Bruno Haible (Bug#25146).
5062         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
5063         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
5065 2016-12-04  Bruno Haible  <bruno@clisp.org>
5067         javacomp: Support Java 7 and 8.
5068         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
5069         target-version 1.7, 1.8.
5071 2016-12-02  Daiki Ueno  <ueno@gnu.org>
5073         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
5074         GPLv2" rewriting.
5076 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
5078         * gnulib-tool (func_import): Adhere to the license guideline when
5079         rewriting the license text to "LGPLv3+ or GPLv2":
5080         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
5082 2016-12-02  Bruno Haible  <bruno@clisp.org>
5084         localcharset: Avoid theoretical buffer overrun.
5085         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
5086         return value from setlocale if it would lead to a buffer overrun.
5088 2016-12-01  Bruno Haible  <bruno@clisp.org>
5090         Relicense some modules under LGPLv2+.
5091         Kevin Cernekee's approval is in
5092         http://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00090.html.
5093         * modules/fseterr (License): Change to LGPLv2+.
5094         * modules/mbchar (License): Likewise.
5095         * modules/mbiter (License): Likewise.
5096         * modules/mbsnlen (License): Likewise.
5097         * modules/wcwidth (License): Likewise.
5099 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
5101         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
5102         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
5103         OS/2 kLIBC.
5105 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
5107         alphasort, scandir: Port to OS/2 kLIBC
5108         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
5109         declaration.
5110         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
5112 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
5114         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
5115         * lib/relocatable.c (relocate): Do not touch pathname if it is started
5116         with '/@unixroot'.
5118 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
5120         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
5121         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
5122         OS/2 kLIBC unless TCPV40HDRS is defined.
5124 2016-11-29  Jim Meyering  <meyering@fb.com>
5126         dfa: avoid new infinite loop
5127         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
5128         * lib/dfa.c (dfastate): When constructing a new state table, we could
5129         initially declare that we had found a match, and later find that
5130         constraints eliminate that possibility, yet continue to use the
5131         now stale "matched" indicator.  That would lead to an infinite loop.
5132         The solution is to update "matched" when necessary.
5133         Introduced by commit v0.1-983-g403adf1.
5135 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
5137         dfa: avoid match middle in multibyte character
5138         * lib/dfa.c (transit_state): If fails in matching single byte characters
5139         on a state including period expression in non-UTF8 multibyte locales,
5140         skip trailing bytes.
5141         (dfa_supported): Revert previous change.
5143 2016-11-27  Jim Meyering  <meyering@fb.com>
5145         dfa: avoid false match in non-UTF8 multibyte locales
5146         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
5147         as "not supported" so that callers will resort to using regex-based
5148         matcher.  This will surely hurt performance, but correctness trumps
5149         performance here, and the affected locales are less and less relevant,
5150         these days.  See grep's bug report https://bugs.gnu.org/24975.
5152 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
5154         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
5155         * lib/ptsname_r.c: Include the appropriate headers.
5156         [__sun]: Delete sys/sysmacros.h include.
5157         [_AIX || __osf__]: Likewise.
5158         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
5160 2016-11-27  Pádraig Brady  <P@draigBrady.com>
5162         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
5163         * lib/md4.c (md4_process_bytes): The existing define is made internal
5164         in recent versions of glibc, so also use this new public define.
5165         * lib/md5.c (md5_process_bytes): Likewise.
5166         * lib/sha1.c (sha1_process_bytes): Likewise.
5167         * lib/sha256.c (sha256_process_bytes): Likewise.
5168         * lib/sha512.c (sha512_process_bytes): Likewise.
5170 2016-11-27  Pádraig Brady  <P@draigBrady.com>
5172         maint: use a more standard return from mbrtowc test
5173         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
5174         from the test program as this often indicates an
5175         unhandled case in the test program.
5176         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
5177         (gl_MBRTOWC_SANITYCHECK): Likewise.
5178         (gl_MBRTOWC_NULL_ARG2): Likewise.
5179         (gl_MBRTOWC_NUL_RETVAL): Likewise.
5181 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
5183         freopen: work around glibc bug with closed fd
5184         Work around glibc bug#15589, where freopen mishandles the case
5185         where stdin etc. are already closed.
5186         * doc/posix-functions/freopen.texi (freopen): Document the bug.
5187         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
5188         instead of __need_FILE, as the latter does not work with glibc.
5189         Include <fcntl.h>, for open flags.
5190         (rpl_freopen): Work around glibc bug.
5191         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
5192         * modules/freopen (Depends-on): Add fcntl-h.
5193         * tests/test-freopen.c (main): Test for bug.
5195 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
5197         fnmatch: fix typo introduced on 2016-08-17
5198         This fixes the port to non-GCC compilers that lack __builtin_expect.
5199         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
5201         dfa: simplify with new function fillset
5202         * lib/dfa.c (fillset): New function.
5203         Use it for clarity when applicable.
5205         dfa: fix glitches with on-demand states
5206         Also, adjust commentary to better match new code.
5207         Some of these glitches predate the recent change.
5208         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
5209         only non-initial states.
5210         (dfastate): Rename locals to better match new roles.
5211         Move them into nested scopes if this is easy.
5212         Omit unnecessary calls to zeroset.
5213         Simplify test for whether to throw in the positions of state 0.
5214         Omit C99-ism (decl after statement) since Gawk still wants C89.
5215         (build_state): Omit unnecessary test and assignment.
5216         Fix some confusion that counted transition tables inaccurately
5217         and could cause a memory leak.
5218         (dfaexec_main): Redo to make it clearer to the compiler that
5219         -1 and -2 are the only negative state numbers here.
5221 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
5223         dfa: addition of new state on demand
5224         * src/dfa.c (dfastate): Add argument UC, the current input character.
5225         Fill only a group including the character in transition table.
5226         (realloc_trans_if_necessary): Add the dummy state which means that a
5227         transition table is assigned but the next state is not assigned.
5228         (build_state): Return the next state.  All callers updated.
5229         (transit_state_singlebyte): If we get the dummy state,
5230         fill the transition table.
5231         (dfaexec_main): Handle the dummy state.
5232         (free_mbdata, dfafree): Consider the dummy state.
5234 2016-11-24  Daiki Ueno  <ueno@gnu.org>
5236         srclist: sync with released gettext
5237         * config/srclist.txt: Set "release" option to the files under
5238         $GETTEXT.
5240 2016-11-24  Daiki Ueno  <ueno@gnu.org>
5242         srclist: add "release" option
5243         * config/srclist.txt: Change the format so that the first column
5244         of each line points to the top-level directory of the source
5245         archive.
5246         * config/srclist-update: Accept "release" option that checks files
5247         from the most recently tagged revision in the source archive.
5249 2016-11-21  Bruno Haible  <bruno@clisp.org>
5251         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
5252         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
5253         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
5254         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
5255         Inline and remove member function 'rpl ()' of the wrapper struct.
5257 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
5259         dfa: fix logic typo
5260         Problem reported by Stephane Chazelas (Bug#24973).
5261         * lib/dfa.c (using_simple_locale): Fix typo that caused some
5262         non-simple locales like fr_FR to be treated as simple.
5264 2016-11-20  Jim Meyering  <meyering@fb.com>
5266         fix test driver leaks: exclude, malloc, realloc
5267         * tests/test-exclude.c (main): Fix trivial leak.
5268         * tests/test-malloc-gnu.c (main): Likewise.
5269         * tests/test-realloc-gnu.c (main): Likewise.
5270         With these changes, grep's tests are now leak free.
5271         I.e., running them with ASAN elicits no failure:
5272           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
5273             AM_LDFLAGS='-fsanitize=address -static-libasan' check
5275 2016-11-11  Bruno Haible  <bruno@clisp.org>
5277         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
5278         * modules/libunistring: (License): Change from LGPL to
5279         "LGPLv3+ or GPLv2".
5280         * modules/libunistring-optional: Likewise.
5281         * modules/unicase/*: Likewise.
5282         * modules/uniconv/*: Likewise.
5283         * modules/unictype/*: Likewise.
5284         * modules/unigbrk/*: Likewise.
5285         * modules/unilbrk/*: Likewise.
5286         * modules/uniname/*: Likewise.
5287         * modules/uninorm/*: Likewise.
5288         * modules/unistdio/*: Likewise.
5289         * modules/unistr/*: Likewise.
5290         * modules/uniwbrk/*: Likewise.
5291         * modules/uniwidth/*: Likewise.
5293 2016-11-12  Bruno Haible  <bruno@clisp.org>
5295         Relicense some modules under LGPLv2+.
5296         Paul Eggert's approval is in
5297         http://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00037.html.
5298         Eric Blake's approval is in
5299         http://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00042.html.
5300         Ludovic Courtès's approval is in
5301         http://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00038.html.
5302         * modules/isnand-nolibm (License): Change to LGPLv2+.
5303         * modules/isnanf-nolibm (License): Likewise.
5304         * modules/isnanl-nolibm (License): Likewise.
5306 2016-11-19  Bruno Haible  <bruno@clisp.org>
5308         Relicense some modules under LGPLv2+.
5309         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
5310         modules/vasnprintf.
5311         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
5312         http://lists.gnu.org/archive/html/bug-gnulib/2016-11/msg00074.html.
5313         All other significant changes to the files in lib/ of these modules
5314         are from me.
5315         * modules/memcmp2 (License): Change to LGPLv2+.
5316         * modules/amemxfrm (License): Likewise.
5317         * modules/fpieee (License): Likewise.
5318         * modules/fpucw (License): Likewise.
5319         * modules/frexp-nolibm (License): Likewise.
5320         * modules/frexpl-nolibm (License): Likewise.
5321         * modules/printf-frexp (License): Likewise.
5322         * modules/printf-frexpl (License): Likewise.
5323         * modules/printf-safe (License): Likewise.
5324         * modules/signbit (License): Likewise.
5326 2016-11-17  Bruno Haible  <bruno@clisp.org>
5328         Enable Unicode decoder safety unconditionally.
5329         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
5330         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
5331         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
5332         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
5333         * lib/unistr/u8-prev.c (u8_prev): Likewise.
5334         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
5335         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
5336         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
5337         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
5338         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
5339         * lib/unistr/u16-prev.c (u16_prev): Likewise.
5340         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
5341         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
5342         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
5343         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
5344         * lib/unistr/u32-prev.c (u32_prev): Likewise.
5345         * lib/unistr/u32-next.c (u32_next): Likewise.
5346         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
5347         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
5348         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
5349         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
5350         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
5351         CONFIG_UNICODE_SAFETY tests unconditionally.
5352         * tests/unistr/test-u32-mblen.c (main): Likewise.
5353         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
5354         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
5355         * tests/unistr/test-u32-next.c (main): Likewise.
5356         * tests/unistr/test-u32-strmblen.c (main): Likewise.
5357         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
5358         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
5359         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
5360         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
5361         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
5362         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
5363         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
5364         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
5365         * lib/unistr/u16-check.c (u16_check): Update comment.
5366         * NEWS: Mention the changes that callers should be aware of.
5368 2016-11-19  Bruno Haible  <bruno@clisp.org>
5370         relocatable-prog-wrapper: Fix breakage on Cygwin.
5371         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
5372         (Depends-on): Remove intprops.
5373         * lib/relocwrapper.c: Update dependency tree.
5374         (strerror): Undefine.
5375         * build-aux/install-reloc (func_create_wrapper): Do not compile
5376         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
5378 2016-11-19  Bruno Haible  <bruno@clisp.org>
5380         strerror: Make it compile in C++ mode.
5381         * lib/strerror.c (strerror): Ignore the return value of memcpy().
5383 2016-11-15  Pedro Alves  <palves@redhat.com>
5385         sys_time: add gnulib::timeval for C++
5386         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
5387         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
5388         timeval macro.
5390 2016-11-14  Pedro Alves  <palves@redhat.com>
5392         snippet/c++defs: fix real-floating arg functions in C++ mode
5393         Also, define isfinite, isinf, isnan, signbit in the gnulib
5394         namespace instead of in the global namespace.
5395         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
5396         (_GL_END_NAMESPACE): New.
5397         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
5398         (isfinite, isinf, isnan, signbit) [__cplusplus &&
5399         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
5400         instead of in the global namespace.
5401         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
5402         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
5403         of in the global namespace.
5405 2016-11-13  Jim Meyering  <meyering@fb.com>
5407         strftime: don't use __THROW
5408         Each use of __THROW would provoke this from gcc-7-to-be:
5410           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
5411             on unit local functions [-Wattributes]
5412           static int iso_week_days (int, int) __THROW;
5413           ^~~~~~
5414         * lib/strftime.c (__THROW): Don't define.
5415         Remove each use of __THROW.
5416         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
5417         (tm_diff, iso_week_days, __strftime_internal): Likewise.
5419 2016-11-14  Paul Eggert  <eggert@union>
5421         obstack: port to gcc -fcheck-pointer-bounds
5422         Problem found by 'make check' failure on bleeding-edge coreutils
5423         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
5424         6.2.0-5ubuntu12), configured via "./configure
5425         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
5426         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
5427         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
5428         New macro, copied from fts_.h.
5429         (struct _obstack_chunk.contents): Use it.
5431 2016-11-14  Eric Blake  <eblake@redhat.com>
5433         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
5434         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
5435         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
5437 2016-11-14  Pádraig Brady  <P@draigBrady.com>
5439         strptime: fix compile error in recent change
5440         * lib/strptime.c (__strptime_internal): Fix ported code.
5442 2016-11-11  Bruno Haible  <bruno@clisp.org>
5444         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
5445         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
5446         (func_import): Extend determination of license_incompatibilities.
5447         (func_create_testdir): Extend table of license compatibility. Handle
5448         also the licenses GPLv3+, GPL, LGPLv3+.
5450 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
5452         strftime: tune %q
5453         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
5455         Merge strftime.c changes from glibc
5456         This incorporates:
5457         2007-10-16 [BZ #5184] Add tzset_called argument
5458         2008-06-13 [BZ #6612] pass reference to tzset_called around
5459         2009-10-30 Implement Burmese language locale for Myanmar
5460         2010-01-09 Add support for XPG7 testing
5461         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
5462         2015-10-20 Convert miscellaneous function definitions to prototype style
5463         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
5464         it anyway and this lessens the difference between gnulib and glibc.
5465         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
5466         (__THROW): Define if standard headers do not.
5467         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
5468         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
5469         Declare with __THROW.
5470         (__strftime_internal): Rename from strftime_case_. Add arg for
5471         whether tzset is called.  All uses changed.  Call tzset at most
5472         once.  Allow %OC, for Burmese.
5473         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
5474         Don't assume values are in range.
5476 2016-11-12  Eric Blake  <eblake@redhat.com>
5478         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
5479         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
5480         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
5481         different value.
5483 2006-11-12  Pedro Alves  <palves@redhat.com>
5485         Fix gnulib C++ namespace support and std::frexp
5486         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
5487         _GL_CXXALIASWARN.
5489 2006-11-12  Pedro Alves  <palves@redhat.com>
5491         GNULIB_NAMESPACE::func need not pull in rpl_func
5492         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
5493         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
5494         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
5495         struct instead of a function pointer.
5497 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
5499         manywarnings: fix -Wno-missing-field-initializers detection
5500         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
5501         to be independent of -Wunused-variable.  I.E. ensure the latter
5502         warning doesn't occur so that detection of the former is accurate.
5504 2016-11-05  Pádraig Brady  <pbrady@fb.com>
5506         strftime,strptime: support %q to represent the quarter
5507         * lib/strftime.c (strftime_case_): Add %q case.
5508         * lib/strptime.c (__strptime_internal): Likewise.
5509         * tests/test-strftime.c (quarter_test): A new test case.
5511 2016-11-03  Eric Blake  <eblake@redhat.com>
5513         bootstrap: Fix get_version() for AIX 5.3
5514         * build-aux/bootstrap (get_version): Factor out sed script, since
5515         indented comments choke AIX 5.3 sed.
5516         Reported-by: Michael Felt <aixtools@gmail.com>
5518 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
5520         intprops: port to older XL C
5521         Problem reported by Alexander Samoilov in:
5522         http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00166.html
5523         http://savannah.nongnu.org/bugs/?49448
5524         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
5525         Define to 1 only for XL C 12.1 or later, since this bug
5526         occurs in XL C for AIX 6.0 but not in 12.1.
5528 2016-11-02  Pádraig Brady  <P@draigBrady.com>
5530         backupfile: initialize default suffix within the implementation
5531         * lib/backupfile.c (find_backup_file_name): Initialize the
5532         global variable here, to simplify usage, and to only call
5533         getenv() when needed.
5535 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
5537         futimens: remove FIXME for old Linux kernels
5538         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
5539         this in 2012" FIXME, like that for utimensat.
5541         utimensat: remove FIXME for old Linux kernels
5542         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
5543         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
5544         this in 2012" FIXME, by assuming the file system bug is absent
5545         unless demonstrated to be present.  We no longer need to worry
5546         about Linux kernel 2.6.32 when building with newer kernels.
5548 2016-10-16  Bruno Haible  <bruno@clisp.org>
5550         qsort_r: Fix macrology for platforms that lack the function.
5551         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
5552         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
5553         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
5554         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
5555         not exist.
5556         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
5557         the function exists.
5558         * modules/qsort_r: Add comments.
5560 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
5562         sys_types: fix Texinfo typos
5563         * doc/glibc-functions/gnu_dev_major.texi:
5564         * doc/glibc-functions/gnu_dev_makedev.texi:
5565         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
5567 2016-10-26  John David Anglin  <dave.anglin@bell.net>
5569         getprogname: port to HP-UX
5570         See Bug#24805.
5571         * lib/getprogname.c (getprogname) [__hpux]: Port.
5572         * tests/test-getprogname.c (STREQ) [__hpux]:
5573         Special-case for HP-UX limitations on program name length.
5575 2016-10-20  Bruno Haible  <bruno@clisp.org>
5577         Update doc about target platforms.
5578         * doc/gnulib-intro.texi (Target Platforms): Update list.
5580 2016-10-15  Bruno Haible  <bruno@clisp.org>
5582         opendir, readdir, closedir: Relicense under LGPLv2+.
5583         * modules/opendir (License): Change to LGPLv2+.
5584         * modules/readdir (License): Likewise.
5585         * modules/closedir (License): Likewise.
5587 2016-10-16  Bruno Haible  <bruno@clisp.org>
5589         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
5590         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
5591         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
5592         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
5593         HAVE_DECL_STRERROR_R.
5595 2016-10-16  Bruno Haible  <bruno@clisp.org>
5597         Make the 'argp' module work without the 'error' module.
5598         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
5600 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
5602         diffseq: restore TOO_EXPENSIVE heuristic
5603         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
5604         (Bug#24715).  The simplest solution is to restore the
5605         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
5606         using a higher threshold to avoid Bug#16848 on smaller files.
5607         * lib/diffseq.h (struct context): Restore member too_expensive.
5608         (struct partition): Restore members lo_minimal, hi_minimal.
5609         (diag, compareseq): Restore arg find_minimal.  All uses changed.
5610         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
5611         1993 to make 'diff' run faster (but not as well) on large inputs,
5612         but use a threshold of 4096 instead of the old 256.
5613         * lib/fstrcmp.c (strcmp_bounded):
5614         * lib/git-merge-changelog.c (compute_differences):
5615         Adjust to diffseq.h changes.
5617 2016-10-22  Bruno Haible  <bruno@clisp.org>
5619         iconv: Avoid compilation error when bootstrapping GNU libiconv.
5620         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
5621         declaration yet, define ICONV_CONST to empty.
5623 2016-10-15  Bruno Haible  <bruno@clisp.org>
5625         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
5626         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
5627         module.
5629 2016-10-16  Bruno Haible  <bruno@clisp.org>
5631         system-quote tests: Avoid compiler warning on AIX.
5632         * tests/test-system-quote-child.c (fopen): Redefine like the system's
5633         <stdio.h> does.
5635 2016-10-16  Bruno Haible  <bruno@clisp.org>
5637         Fix some "gcc -Wall" warnings.
5638         * tests/test-ffsl.c (main): Use variable x, not i.
5639         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
5640         freopen.
5641         * tests/test-sethostname1.c (main): Explicitly ignore the return value
5642         of sethostname.
5644 2016-10-16  Bruno Haible  <bruno@clisp.org>
5646         gnulib-tool: Make --create-testdir on all modules work again.
5647         * gnulib-tool (func_create_testdir): Don't include the
5648         non-recursive-gnulib-prefix-hack module.
5650 2016-10-21  Daiki Ueno  <ueno@gnu.org>
5652         libunistring: change the maintainer to 'all'
5653         * modules/gen-uni-tables, modules/libunistring:
5654         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
5655         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
5656         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
5657         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
5658         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
5659         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
5660         * modules/uniwidth/*: Change the maintainer to 'all'.
5662 2016-10-16  Bruno Haible  <bruno@clisp.org>
5664         Simplify "configure: checking ..." messages.
5665         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
5666         AC_MSG_NOTICE.
5667         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
5669 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
5671         quotearg-tests: pacify gcc -Wall
5672         Problem reported by Bruno Haible in:
5673         http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00066.html
5674         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
5675         * tests/test-quotearg.h: ... from here.
5677 2016-10-20  Pádraig Brady  <P@draigBrady.com>
5679         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
5680         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
5681         Needed on Centos <= 4.
5683 2016-10-20  Jim Meyering  <meyering@fb.com>
5685         printf.m4: fix a bug in detecting printf %j support
5686         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
5687         uintmax_t is defined in neither stdint.h nor inttypes.h.
5688         Before, this macro might have mistakenly set
5689         gl_cv_func_printf_sizes_c99=yes on such a system.
5690         Spotted by Zev Weiss.
5692 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
5694         sched: substitute HAVE_SYS_CDEFS_H too
5695         Problem reported by Tom G. Christensen in:
5696         http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00084.html
5697         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
5698         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
5700 2016-10-19  Pádraig Brady  <P@draigBrady.com>
5702         quotearg: never write beyond the returned length
5703         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
5704         scan of the string when we initially encounter a single quote when
5705         shell quoting, so that if we then switch to a more concise quoting method
5706         we will not have written beyond that returned length.
5707         This is significant for sh-quote, which has separate routines
5708         to determine the length and do the actual quoting.
5709         * tests/test-quotearg.h: Reinstate the buffer bounds checking
5710         now that we never write more than the returned length.
5712 2016-10-18  Bruno Haible  <bruno@clisp.org>
5714         getprogname tests: Avoid failure in packages that use libtool.
5715         * tests/test-getprogname.c (main): Strip "lt-" prefix.
5716         Based on a patch by Jim Meyering.
5718 2016-10-16  Bruno Haible  <bruno@clisp.org>
5720         getprogname: Fix test failure on Cygwin. Comments.
5721         * lib/getprogname.h: Add comments.
5722         * lib/getprogname.c: Add comments. Fix #elif indentation.
5723         * tests/test-getprogname.c (main): On Cygwin, expect a result without
5724         ".exe" suffix.
5726 2016-10-16  Bruno Haible  <bruno@clisp.org>
5728         Make sure the libunistring detection rejects older versions with a
5729         known bug.
5730         * modules/unistr/u8-strtok (configure.ac): Bump required version.
5731         * modules/unistr/u16-strtok (configure.ac): Likewise.
5732         * modules/unistr/u32-strtok (configure.ac): Likewise.
5734 2016-10-18  Bruno Haible  <bruno@clisp.org>
5736         sh-quote, system-quote: revert regression of unit test.
5737         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
5738         * tests/test-system-quote-main.c (check_one): Likewise.
5740 2016-10-16  Pádraig Brady  <P@draigBrady.com>
5742         quotearg: fix stale tests
5743         * tests/test-quotearg.c [locale_results]: Add the missing str7
5744         entries to the expected results.
5745         * tests/test-system-quote-main.c (check_one): Don't enforce that we
5746         don't write beyond the returned length, since that's no longer the
5747         case if we switch to a more concise quoting style.
5748         * tests/test-sh-quote.c (check_one): Likewise.
5749         (main): Adjust for the new more concise quoting style.
5750         Reported by Bruno Haible.
5752 2016-10-16  Jim Meyering  <meyering@fb.com>
5754         non-recursive-gnulib-prefix-hack: fix inconsequential typo
5755         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
5756         to "$1".  This macro is always invoked with $1 == lib.
5757         Spotted by Bruno Haible
5759 2016-10-16  Bruno Haible  <bruno@clisp.org>
5761         Fix a test crash.
5762         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
5763         fails.
5765 2016-10-16  Pádraig Brady  <P@draigBrady.com>
5767         test-limits-h: suppress -Woverlength-strings
5768         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
5770 2016-10-15  Bruno Haible  <bruno@clisp.org>
5772         gettime, timespec, utimens: Relicense under LGPL.
5773         * modules/gettime (License): Change to LGPL.
5774         * modules/timespec (License): Likewise.
5775         * modules/utimens (License): Likewise.
5777 2016-10-14  Bruno Haible  <bruno@clisp.org>
5778             Pádraig Brady  <P@draigBrady.com>
5780         canonicalize-lgpl: Support the case path_max > INT_MAX.
5781         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
5782         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
5784 2016-10-13  Jim Meyering  <meyering@fb.com>
5786         getprogname: IBM z/OS: avoid NULL-dereference
5787         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
5788         upon strdup failure.
5790 2016-10-12  Jim Meyering  <meyering@fb.com>
5792         test-stdint: use _GL_VERIFY rather than "verify" for some tests
5793         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
5794         and an abbreviated diagnostic rather than verify with the full one,
5795         because the full-length strings would evoke warnings from gcc with
5796         -Woverlength-strings.
5798 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
5800         stdint: port SIZE_MAX to glibc s390
5801         Problem reported by Eric Blake in:
5802         http://lists.gnu.org/archive/html/bug-gnulib/2016-10/msg00031.html
5803         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
5804         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
5805         correct type, if possible.
5807 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
5809         getprogname: port to IBM z/OS
5810         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
5812 2016-10-11  Jim Meyering  <meyering@fb.com>
5814         maint: remove stray space after "." in AC_DEFINE comment.
5815         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
5816         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
5818 2016-10-05  Jim Meyering  <meyering@fb.com>
5820         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
5821         * lib/long-options.c (parse_long_options): Add a break statement
5822         to avoid this new warning/failure:
5823         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
5824           --create-testdir --dir=/t/x --with-tests --test long-options
5825         ../../gllib/long-options.c: In function 'parse_long_options':
5826         ../../gllib/long-options.c:66:12: error: this statement may \
5827           fall through [-Werror=implicit-fallthrough]
5828                    (*usage_func) (EXIT_SUCCESS);
5829                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
5831 2016-10-05  Jim Meyering  <meyering@fb.com>
5833         utimecmp: avoid new GCC 7 warning from -Wbool-operation
5834         Testing this module would fail when using GCC 7 like this:
5835         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
5836           --dir=/tmp/x --with-tests --test utimecmp
5837         ../../gllib/utimecmp.c: In function ‘utimecmp’:
5838         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
5839           [-Werror=bool-operation]
5840                          time_t s = src_s & ~ (res == 2 * BILLION);
5841                                             ^
5842         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
5843           [-Werror=bool-operation]
5844                src_s &= ~ (res == 2 * BILLION);
5845                         ^
5846         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
5847         Instead, make it explicit that we intend to apply it to 0 or 1.
5849 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
5851         dfa: save memory for states
5852         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
5853         states if dfa has a lot of caches.
5855 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
5857         wchar, wctype-h: fix for MinGW 3.22.2
5858         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
5859         special invocation, to fix issues with MinGW 3.22.2 wchar.h
5860         when included from <string.h>.
5861         * lib/wctype.in.h [__MINGW32__]: Add special invocation
5862         convention for MinGW 3.22.2, to solve issues with their
5863         wctype.h when included from <ctype.h>.
5865 2016-10-05  Jim Meyering  <meyering@fb.com>
5867         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
5868         * lib/long-options.c (parse_long_options): Add a break statement
5869         to avoid this new warning/failure:
5870         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
5871           --create-testdir --dir=/t/x --with-tests --test long-options
5872         ../../gllib/long-options.c: In function ‘parse_long_options’:
5873         ../../gllib/long-options.c:66:12: error: this statement may \
5874           fall through [-Werror=implicit-fallthrough]
5875                    (*usage_func) (EXIT_SUCCESS);
5876                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
5878         utimecmp: avoid new GCC 7 warning from -Wbool-operation
5879         Testing this module would fail when using GCC 7 like this:
5880         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
5881           --dir=/tmp/x --with-tests --test utimecmp
5882         ../../gllib/utimecmp.c: In function ‘utimecmp’:
5883         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
5884           [-Werror=bool-operation]
5885                          time_t s = src_s & ~ (res == 2 * BILLION);
5886                                             ^
5887         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
5888           [-Werror=bool-operation]
5889                src_s &= ~ (res == 2 * BILLION);
5890                         ^
5891         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
5892         Instead, make it explicit that we intend to apply it to 0 or 1.
5894 2016-10-03  Pádraig Brady  <P@draigBrady.com>
5896         quotearg: minimize shell quoting using double quotes
5897         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
5898         quote in encountered then use double quotes (c style quoting)
5899         when possible, as it simplifies the quoting.
5900         * tests/test-quotearg-simple.c: Add test cases.
5901         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
5902         for the fact we now may write beyond the returned length.
5904 2016-10-02  Jim Meyering  <meyering@fb.com>
5906         vasnprintf.c: avoid spurious warning from GCC 7
5907         The presence of cpp directives renders this "FALLTHROUGH" comment
5908         ineffective, so does not suppress the -Wimplicit-fallthrough warning
5909         from GCC 7 built from git on 2016-10-02.
5910         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
5911         directives, so that it takes effect once again.  This is clearly
5912         not a proper change, and I will revert it once this bug is fixed:
5913         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
5915 2016-10-01  Jim Meyering  <meyering@fb.com>
5917         getprogname: correct the test for a __progname variable
5918         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
5919         and AC_LINK_IFELSE to check for a global __progname.  If found,
5920         define HAVE_VAR___PROGNAME.
5921         * lib/getprogname.c (getprogname): Reflect the new name of the
5922         feature- checked preprocessor symbol:
5923         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
5925 2016-09-28  Jim Meyering  <meyering@fb.com>
5927         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
5928         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
5929         fall-through case with a /* fallthrough */ comment.
5931         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
5932         * lib/dfa.c (dfassbuild): Mark the end of this case with a
5933         /* fallthrough */ comment.
5935         getprogname: avoid __progname vs program_invocation_short_name pitfall
5936         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
5937         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
5938         not with Fedora 24's glibc-2.23.1-10.
5939         * lib/getprogname.c (__progname): Move this declaration down...
5940         (getprogname): ... into the #elif block where used, and make it
5941         explicitly "extern".
5943         getprogname: port to OpenBSD 5.1
5944         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
5945         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
5946         * modules/getprogname (configure.ac): Move most of this code...
5947         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
5948         increment serial number, and add a test for __progname.
5949         https://bugs.gnu.org/24562
5950         Reported by Nelson H. F. Beebe.
5952 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
5954         sched: port to GCC 6.2.1 on macOS Sierra
5955         Problem reported by Denis Davydov in:
5956         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00056.html
5957         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
5958         Include <sys/cdefs.h> before <sched.h>.
5959         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
5960         so that we needn’t worry about the sched.h include bug here.
5961         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
5962         and include it before <sched.h> if it exists, when
5963         checking for <sched.h>.
5965         tests/init.sh: port Alpine fix to AIX 7.1
5966         * tests/init.sh (compare_): When attempting to use diff -U3,
5967         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
5968         diff -u not outputting a space after leading '+', as the users
5969         of 'compare' should not be that picky about its output format.
5970         In the AIX 7.1 case, return with diff exit status (or with 2 if
5971         trouble), instead of some random nonzero exit status.
5972         * tests/test-init.sh (test_compare): Remove space after leading
5973         '+', so that AIX 7.1 'diff' passes the test.
5975 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
5977         nl_langinfo: pacify GCC
5978         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
5979         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
5981         stdint: also set GL_GENERATE_LIMITS_H
5982         Problem reported by Jim Meyering in:
5983         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00052.html
5984         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
5986         limits-h, stdint: Don't assume extensions, fix typo
5987         * m4/limits-h.m4 (gl_LIMITS_H):
5988         * m4/stdint.m4 (gl_STDINT_H):
5989         Don't assume AC_USE_SYSTEM_EXTENSIONS.
5990         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
5991         reported by Jim Meyering in:
5992         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00050.html
5994 2016-09-21  Jim Meyering  <meyering@fb.com>
5996         getprogname: port to AIX
5997         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
5998         and strdup to obtain a short program name string.  Using code from
5999         Bruno Haible and an idea from Bastien ROUCARIÈS, in
6000         https://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00249.html
6001         Assaf Gordon reported that this new file would fail to compile on
6002         AIX-7.1 32bit.
6004 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
6006         extensions: fix typo in comment
6007         * m4/extensions.m4: Sync from Autoconf master.
6009         stdint: support new _WIDTH macros
6010         * doc/posix-headers/stdint.texi: Document this.
6011         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
6012         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
6013         support for INTMAX_WIDTH, etc. as well as for support for just C99.
6014         * modules/stdint (Depends-on): Add limits-h.
6015         (Makefile.am): Substitute HAVE_C99_STDINT_H.
6016         * modules/stdint-tests (Depends-on): Add extensions, so that
6017         INTMAX_MAX etc. are defined.
6018         * tests/test-stdint.c: Verify the new macros.
6020         limits-h: new module
6021         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
6022         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
6023         * doc/posix-headers/limits.texi: Document new module.
6024         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
6025         * modules/limit-h-tests, tests/test-limits-h.c: New files.
6027         stdio: don't redefine __USE_MINGW_ANSI_STDIO
6028         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
6029         if it is already defined.  Apparently GNU Emacs relies on this.  See:
6030         http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00416.html
6032 2016-09-15  Eric Blake  <eblake@redhat.com>
6034         sys_types: avoid glibc 2.25 warnings about major()
6035         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
6036         older autoconf.
6037         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
6038         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
6039         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
6040         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
6042         mountlist: include sysmacros.h for glibc
6043         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
6044         AC_HEADER_MAJOR.
6045         * lib/mountlist.c (includes): Use correct headers.
6047 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
6049         extensions: port to more ISO C TSes
6050         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
6051         master, to add support for more recent ISO C TRs and TSes.
6053 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
6055         intprops: new macro TYPE_WIDTH
6056         * lib/intprops.h (TYPE_WIDTH): New macro.
6057         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
6058         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
6059         * lib/parse-datetime.y (parse_datetime2):
6060         Use it.
6062         extensions: port to recent ISO C TRs
6063         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6064         Sync from Autoconf master, to add support for recent ISO C TRs.
6065         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
6066         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
6067         the MinGW option is not an extension.
6069 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
6071         dfa: port to Solaris 9
6072         Problems reported by Tom G. Christensen in:
6073         http://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00031.html
6074         * modules/dfa (Depends-on): Add isblank.
6075         * modules/dfa-tests (dfa_match_aux_LDADD):
6076         Rename from test_stat_LDADD, to fix typo.
6077         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
6079 2016-09-10  Jim Meyering  <meyering@fb.com>
6081         strverscmp: avoid link failure on OS X
6082         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
6083         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
6085 2016-08-16  Jim Meyering  <meyering@fb.com>
6087         dfa: new module, importing grep's DFA matcher
6088         Since grep's DFA matcher is now being used by two gnulib-enabled
6089         projects, grep and sed, it makes sense to version-control its
6090         sources and unit tests in one place: here.
6091         * modules/dfa: New module.
6092         * modules/dfa-tests: New file.
6093         * lib/dfa.c: New file, from grep.
6094         * lib/dfa.h: Likewise.
6095         * lib/localeinfo.c: Likewise.
6096         * lib/localeinfo.h: Likewise.
6097         * tests/dfa-match-aux.c: Likewise.
6098         * tests/dfa-invalid-char-class.sh: Likewise.
6099         * tests/dfa-match.sh: Likewise, with minor changes.
6100         * MODULES.html.sh (Misc): Add "dfa" to this list.
6102 2016-09-09  Jim Meyering  <meyering@fb.com>
6104         getprogname-tests: don't depend on assert-h
6105         * modules/getprogname-tests (Depends-on): Remove assert-h.
6106         It was not needed, and in fact would cause build failure for
6107         coreutils on some systems.  Reported by Assaf Gordon in https:
6108         //lists.gnu.org/archive/html/coreutils/2016-09/msg00016.html
6110 2016-09-07  Jim Meyering  <meyering@fb.com>
6112         getprogname-tests: work also when EXEEXT is nonempty
6113         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
6114         * tests/test-getprogname.c (main): Use it.
6115         Suggested by Gisle Vanem.
6117 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
6119         getprogname: fix errors in previous change
6120         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
6121         s/program_invocation_name/base/
6122         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
6124 2016-09-08  Pádraig Brady  <P@draigBrady.com>
6126         parse-datetime: restrict debug output to input string
6127         * lib/parse-datetime.y (parse_datetime2): If we parse
6128         all of the input but determine it's invalid, ensure
6129         we don't output the now invalid input pointer.
6130         This issue was seen with `date -d 'now +1'`.
6132 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
6134         flexmember: new macro FLEXALIGNOF
6135         * lib/flexmember.h: Include <stddef.h>, for offsetof.
6136         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
6137         this macro.  Update comments.
6139 2016-09-07  Jim Meyering  <meyering@fb.com>
6141         getprogname: port to systems with __argv (mingw, msvc)
6142         * lib/getprogname.c (getprogname): Include "dirname.h" and use
6143         last_component: more general than open coding it with hard-coded "/".
6144         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
6145         * modules/getprogname (Depends-on): Add dirname-lgpl.
6146         (configure.ac): Check for __argv in <stdlib.h>.
6147         * modules/getprogname-tests: New file.
6148         * tests/test-getprogname.c: New file.
6149         Suggested by Gisle Vanem in
6150         https://lists.gnu.org/archive/html/bug-gnulib/2016-09/msg00014.html
6152 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
6154         flexmember: port better to GCC + valgrind
6155         With a char[] flexible array member in a struct with nontrivial
6156         alignment, GCC-generated code can access past the end of the
6157         array, because GCC assumes there are padding bytes to get the
6158         struct aligned.  So the common idiom of malloc (offsetof (struct
6159         s, m), n) does not properly allocate an n-byte trailing member, as
6160         malloc’s argument should be the next multiple of alignof (struct s).
6161         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
6162         Although C11 apparently permits this GCC optimization (i.e., there
6163         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
6164         See the thread containing:
6165         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
6166         * lib/flexmember.h: New file.
6167         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
6168         * lib/localename.c, lib/time_rz.c:
6169         Include flexmember.h.
6170         * lib/fnmatch_loop.c (struct patternlist):
6171         * lib/localename.c (struct hash_node):
6172         Use FLEXIBLE_ARRAY_MEMBER.
6173         * lib/fnmatch_loop.c (EXT):
6174         * lib/fts.c (fts_alloc):
6175         * lib/glob.c (glob_in_dir):
6176         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
6177         * lib/localename.c (gl_lock_define_initialized):
6178         * lib/time_rz.c (tzalloc):
6179         Use FLEXSIZEOF instead of offsetof.
6180         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6181         Check that the size of the struct can be taken.
6182         * modules/flexmember (Files): Add lib/flexmember.h.
6183         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
6184         Add flexmember.
6186 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
6188         getprogname: port to Solaris 10
6189         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
6190         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
6191         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
6193         stdalign: correct mistake in alignof doc
6194         Problem reported by Joseph Myers in:
6195         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
6196         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
6197         alignof(S) where S is a structure containing a flexible array
6198         member.  The Gnulib substitute does not support this, but C11 does.
6200 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
6202         main.mk: remove sc_program_name, since there is no more need to
6203         use set_program_name in tools (getprogname is enough for most
6204         of the cases).
6205         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
6206         * top/maint.mk (sc_program_name): Remove.
6208 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
6210         Port tests away from progname, since modules that need the
6211         program name already depend on getprogname.
6212         * modules/acl-tests (Depends-on): Remove progname.
6213         * modules/argmatch (Depends-on): Likewise.
6214         * modules/argmatch-tests (Depends-on): Likewise.
6215         * modules/argp-tests (Depends-on): Likewise.
6216         * modules/argp-version-etc-tests (Depends-on): Likewise.
6217         * modules/array-list-tests (Depends-on): Likewise.
6218         * modules/array-oset-tests (Depends-on): Likewise.
6219         * modules/avltree-list-tests (Depends-on): Likewise.
6220         * modules/avltree-oset-tests (Depends-on): Likewise.
6221         * modules/avltreehash-list-tests (Depends-on): Likewise.
6222         * modules/carray-list-tests (Depends-on): Likewise.
6223         * modules/copy-file-tests (Depends-on): Likewise.
6224         * modules/exclude-tests (Depends-on): Likewise.
6225         * modules/fchownat-tests (Depends-on): Likewise.
6226         * modules/fdopendir-tests (Depends-on): Likewise.
6227         * modules/filenamecat-tests (Depends-on): Likewise.
6228         * modules/fstatat-tests (Depends-on): Likewise.
6229         * modules/fstrcmp-tests (Depends-on): Likewise.
6230         * modules/linked-list-tests (Depends-on): Likewise.
6231         * modules/linkedhash-list-tests (Depends-on): Likewise.
6232         * modules/mkdirat-tests (Depends-on): Likewise.
6233         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
6234         * modules/nonblocking-socket-tests (Depends-on): Likewise.
6235         * modules/obstack-printf-tests (Depends-on): Likewise.
6236         * modules/openat-tests (Depends-on): Likewise.
6237         * modules/parse-datetime-tests (Depends-on): Likewise.
6238         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
6239         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
6240         * modules/quotearg-simple-tests (Depends-on): Likewise.
6241         * modules/quotearg-tests (Depends-on): Likewise.
6242         * modules/rbtree-list-tests (Depends-on): Likewise.
6243         * modules/rbtree-oset-tests (Depends-on): Likewise.
6244         * modules/rbtreehash-list-tests (Depends-on): Likewise.
6245         * modules/spawn-pipe-tests (Depends-on): Likewise.
6246         * modules/system-quote-tests (Depends-on): Likewise.
6247         * modules/uniname/uniname-tests (Depends-on): Likewise.
6248         * modules/uninorm/nfc-tests (Depends-on): Likewise.
6249         * modules/uninorm/nfd-tests (Depends-on): Likewise.
6250         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
6251         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
6252         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
6253         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
6254         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
6255         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
6256         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
6257         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
6258         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
6259         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
6260         * modules/unlinkat-tests (Depends-on): Likewise.
6261         * modules/version-etc-tests (Depends-on): Likewise.
6262         * modules/xalloc-die-tests (Depends-on): Likewise.
6263         * modules/xmemdup0-tests (Depends-on): Likewise.
6264         * modules/xprintf-posix-tests (Depends-on): Likewise.
6265         * modules/xvasprintf-tests (Depends-on): Likewise.
6266         * tests/test-argmatch.c: Do not include progname.h.
6267         (main) Stop calling set_program_name.
6268         * tests/test-argp-version-etc.c: Likewise.
6269         * tests/test-argp.c: Likewise.
6270         * tests/test-argv-iter.c: Likewise.
6271         * tests/test-array_list.c: Likewise.
6272         * tests/test-array_oset.c: Likewise.
6273         * tests/test-avltree_list.c: Likewise.
6274         * tests/test-avltree_oset.c: Likewise.
6275         * tests/test-avltreehash_list.c: Likewise.
6276         * tests/test-carray_list.c: Likewise.
6277         * tests/test-copy-acl.c: Likewise.
6278         * tests/test-copy-file.c: Likewise.
6279         * tests/test-exclude.c: Likewise.
6280         * tests/test-fchownat.c: Likewise.
6281         * tests/test-fdopendir.c: Likewise.
6282         * tests/test-filenamecat.c: Likewise.
6283         * tests/test-fstatat.c: Likewise.
6284         * tests/test-fstrcmp.c: Likewise.
6285         * tests/test-linked_list.c: Likewise.
6286         * tests/test-linkedhash_list.c: Likewise.
6287         * tests/test-mkdirat.c: Likewise.
6288         * tests/test-nonblocking-pipe-main.c: Likewise.
6289         * tests/test-nonblocking-socket-main.c: Likewise.
6290         * tests/test-obstack-printf.c: Likewise.
6291         * tests/test-openat.c: Likewise.
6292         * tests/test-parse-datetime.c: Likewise.
6293         * tests/test-pipe-filter-gi1.c: Likewise.
6294         * tests/test-pipe-filter-gi2-main.c: Likewise.
6295         * tests/test-pipe-filter-ii1.c: Likewise.
6296         * tests/test-pipe-filter-ii2-main.c: Likewise.
6297         * tests/test-quotearg-simple.c: Likewise.
6298         * tests/test-quotearg.c: Likewise.
6299         * tests/test-rbtree_list.c: Likewise.
6300         * tests/test-rbtree_oset.c: Likewise.
6301         * tests/test-rbtreehash_list.c: Likewise.
6302         * tests/test-sameacls.c: Likewise.
6303         * tests/test-set-mode-acl.c: Likewise.
6304         * tests/test-spawn-pipe-main.c: Likewise.
6305         * tests/test-system-quote-main.c: Likewise.
6306         * tests/test-unlinkat.c: Likewise.
6307         * tests/test-version-etc.c: Likewise.
6308         * tests/test-xalloc-die.c: Likewise.
6309         * tests/test-xfprintf-posix.c: Likewise.
6310         * tests/test-xmemdup0.c: Likewise.
6311         * tests/test-xprintf-posix.c: Likewise.
6312         * tests/test-xvasprintf.c: Likewise.
6313         * tests/uniname/test-uninames.c: Likewise.
6314         * tests/uninorm/test-u32-nfc-big.c: Likewise.
6315         * tests/uninorm/test-u32-nfd-big.c: Likewise.
6316         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
6317         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
6318         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
6319         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
6320         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
6321         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
6322         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
6323         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
6324         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
6325         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
6326         * tests/test-c-stack.c: (program_name): Do not define.
6327         (main): Do not set program_name.
6328         * tests/test-closein.c: Likewise.
6329         * tests/test-xstrtol.c: Likewise.
6330         * tests/test-yesno.c: Likewise.
6332 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
6334         Port modules to use getprogname explicitly, instead of requiring
6335         progname to be used (or program_name to be provided).
6336         * lib/argmatch.c: Do not include progname.h.
6337         [TEST] (program_name): Do not define.
6338         [TEST] (main): Call getprogname instead of using program_name.
6339         * lib/c-stack.c: Do not include progname.h.
6340         (program_name): Do not define.
6341         (die): Call getprogname instead of using program_name.
6342         * lib/chdir-long.c: Do not include progname.h.
6343         [TEST_CHDIR] (main): Do not set program_name.
6344         * lib/error.c [!_LIBC]: Include progname.h.
6345         [!_LIBC] (program_name): Define using getprogname.
6346         * lib/euidaccess.c: Do not include progname.h.
6347         [TEST] (main): Do not set program_name.
6348         * lib/git-merge-changelog.c: Include getprogname.h instead of
6349         progname.h.
6350         (usage): Call getprogname instead of using program_name.
6351         (main): Likewise.  Stop calling set_program_name.
6352         * lib/group-member.c: Do not include progname.h.
6353         [TEST] (main): Do not set program_name.
6354         * modules/argmatch (Depends-on): Add getprogname.
6355         * modules/c-stack (Depends-on): Likewise.
6356         * modules/error (Depends-on): Likewise.
6357         * modules/git-merge-changelog (Depends-on): Likewise.
6358         Also remove progname.
6360 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
6362         * NEWS: Document the deprecation of the 'progname' module.
6364 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
6366         getprogname: new module
6367         This provides a LGPL module for getting the name of the current
6368         program, using the same API found on *BSD systems.
6369         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
6370         * modules/getprogname: New files.
6371         * MODULES.html.sh (Misc): Add getprogname.
6373 2016-09-02  Jim Meyering  <meyering@fb.com>
6375         manywarnings: add -fno-common
6376         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
6377         to the list.  Quoting the manual, "Compiling with -fno-common is
6378         useful on targets for which it provides better performance, or if
6379         you wish to verify that the program will work on other systems that
6380         always treat uninitialized variable declarations this way [putting
6381         it in the data section]."  If diffutils had been using this sooner,
6382         it would have prevented this duplicate declaration issue:
6383         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
6385 2016-08-31  Simon Josefsson  <simon@josefsson.org>
6387         parse-datetime: Fix typo.
6388         * lib/parse-datetime.y (parse_datetime2): Fix typo.
6390 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6392         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
6393         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
6394         GCC 5 and 6 that have __builtin_sub_overflow but not
6395         __builtin_sub_overflow_p.  With the recent changes, these
6396         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
6397         implementation than with INT_SUBTRACT_OVERFLOW implementation,
6398         since the former needs just one runtime comparison whereas the
6399         latter needs two.
6401         strverscmp: sync with glibc
6402         Although this doesn't exactly synchronize with glibc
6403         byte-for-byte, it makes the code behave the same as glibc.
6404         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
6405         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
6406         difference shouldn't matter in practical use.  All uses changed
6407         back to isdigit.
6408         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
6409         (next_state): Now unsigned char array; redo elements.
6410         (result_type): Now signed char array; redo elements.
6411         (__strverscmp): Fix glibc bug 9913 by using new states.
6412         * tests/test-strverscmp.c (main): Test glibc bug 9913.
6414 2016-08-29  Jim Meyering  <meyering@fb.com>
6416         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
6417         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
6418         similarly to how it was done to intprops.h.
6420 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6422         intprops.h: port recent changes to GCC 6.2.0
6423         * lib/intprops.h (__has_builtin): Move earlier.
6424         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
6425         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
6426         the last argument can be null.  All uses changed.
6427         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
6428         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
6429         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
6430         and it's not clear which GCC versions it works for.
6431         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
6432         its definiens.
6434         intprops.h: use __typeof__ with GCC 7
6435         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
6436         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
6437         This avoids computing the expression's value (which might overflow!).
6439 2016-08-29  Jim Meyering  <meyering@fb.com>
6441         intprops.h, xalloc-oversized.h: work with gcc 7
6442         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
6443         __builtin_mul_overflow each accept a NULL pointer as the third
6444         argument.  However in gcc 7, that is no longer accepted.
6445         Instead, one must use the "_p"-suffixed names, with which, the
6446         third parameter is no longer a pointer.
6447         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
6448         the definition: not true for gcc 7 and subsequent.
6449         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
6450         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
6451         Provide new definitions for gcc 7 and subsequent.
6452         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
6453         that works with gcc-7.
6455         intprops.h: fix missing-backslash problems
6456         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
6457         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
6459 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6461         intprops: fix paren typo on old platforms
6462         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
6463         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
6464         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
6465         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
6466         && !defined LLONG_MAX]:
6467         Remove stray paren.
6469         intprops: port to OpenVMS
6470         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
6471         * doc/posix-headers/limits.texi: Document the problem.
6472         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
6473         Define if not already defined.
6475 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
6477         parse-datetime: improve debug implementation
6478         Follow-up to commit 12ad79069 ("add optional debug printing").
6479         Improve parse-datetime's debug implementation: remove macros,
6480         replace global debug flag variable with a function parameter,
6481         use nstrftime for formatting.
6482         See: https://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00021.html
6483         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
6484         (parse_datetime2): New function, accepts 'flags' parameter, supporting
6485         debug flag. Existing interface 'parse_datetime' left unmodified.
6486         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
6487         (struct parser_control): add 'parse_datetime_debug' member variable.
6488         (parse_datetime): Call new function 'parse_datetime2' without debug.
6489         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
6490         pc.parse_datetime_debug variable as needed.
6491         (to_year): Accept new flags parameter, instead of using global variable.
6492         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
6493         use struct 'debug' variable instead of global variable.
6494         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
6495         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
6496         correspnding functions directly instead of using macros.
6497         * modules/parse-datetime: Add gnulib's strftime module.
6499 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
6501         c-strcase-tests: port to EBCDIC
6502         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
6503         which assume ASCII encoding semantics to run only in ASCII
6504         mode, as they fail in EBCDIC.
6506         sigpipe-tests: fix typo
6507         * tests/test-sigpipe.sh: C, not B.
6509 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6511         canonicalize-lgpl: fix errno after malloca fails
6512         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
6513         http://lists.gnu.org/archive/html/bug-gnulib/2016-08/msg00039.html
6514         * lib/canonicalize-lgpl.c (__realpath):
6515         Don't assume malloca sets errno on failure.
6517 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6519         strtod: port errno handling to z/OS
6520         * lib/strtod.c (strtod): Save and restore errno more reliably.
6522 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
6524         strtod: port to z/OS
6525         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
6526         implementation.
6528 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6530         strtod: port to z/OS
6531         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
6532         implementation.
6534         regex, string: rename to avoid '__string'
6535         * lib/regex.h, lib/string.in.h: Do not use the identifier
6536         '__string', as it is effectively reserved by string.h on z/OS.
6538         c-strcase-tests, wcwidth-tests: depend on c-ctype
6539         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
6540         Add c-ctype.
6542 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
6544         thread: port to z/OS
6545         * lib/glthread/thread.c, lib/glthread/thread.h:
6546         Rudimentary gl_thread support for z/OS.
6548         maint: port tests to z/OS errno behavior
6549         * tests/test-nonblocking-reader.h:
6550         * tests/test-nonblocking-writer.h:
6551         Accommodate z/OS errno code preferences. (I believe this should
6552         still be within spec; IBM is good at following the letter if not
6553         the spirit of such things.)
6555         maint: preprocessor changes to support z/OS
6556         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
6557         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
6558         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
6559         * tests/test-nonblocking-pipe.h:
6561         fclose, strstr-simple, wchar: port to z/OS
6562         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
6563         Changes to the Autoconf M4 code to support z/OS.  Note that
6564         fclose() is broken in a different way on z/OS than it is on other
6565         systems, thus the special-case in fclose.m4.
6567         iconv_open-utf-tests, iconv-tests: port to EBCDIC
6568         * tests/test-iconv-utf.c, tests/test-iconv.c:
6569         Added appropriately conditional #pragmas so that the test strings
6570         in test-iconv-utf.c are correctly interpreted in ASCII instead of
6571         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
6572         addressed in a more portable way by simply rewriting all the ASCII
6573         literal characters as octal escapes, but then you would lose the
6574         partial readability that the strings have now. Also, iconv_open()
6575         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
6577         c-strcase-tests, wcwidth-tests: port to EBCDIC
6578         * tests/test-c-strcasecmp.c: Include c-ctype.h.
6579         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
6580         * tests/test-wcwidth.c: Likewise.
6582 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6584         stdbool: don't require _Bool for C++
6585         Problem reported by David Seifert in:
6586         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00005.html
6587         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
6588         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
6589         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
6590         stricter about checking that bool and _Bool are compatible in C.
6592 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
6594         getdelim: remove dependency on realloc-posix
6595         * lib/canonicalize-lgpl.c (alloc_failed)
6596         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
6597         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
6598         Use __set_errno where needed, for consistency.
6599         * lib/getdelim.c (alloc_failed): New function.
6600         (getdelim): Use it.
6602 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
6604         parse-datetime: add optional debug printing
6605         Print parsing information, warnings, and errors to stderr.
6606         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
6607         * lib/parse-datetime.y:
6608         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
6609         (PROGRESS*): Same as DEBUG, for progress reporting.
6610         (dbg_printf): Print message to stderr, with 'date' prefix.
6611         (struct parser_control): Add 'debug_*_seen' variables.
6612         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
6613         (debug_print_current_time, debug_print_relateive_time): Prints the
6614         current/relative date/time value of parser_control.
6615         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
6616         (to_year): Warn about 2-digit year parsing.
6617         (yylex):   Warn about unrecognized words.
6618         (get_effective_timezone): Returns current timezone in minutes.
6619         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
6620         clearly and unambigiously as possible.
6621         (debug_mktime_not_ok): Print detailed information about failed
6622         date/time values.
6623         (parse_datetime): Add DEBUG messages for failures, warnings. Add
6624         PROGRESS messages for status messages.
6625         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
6627 2016-08-06  Jim Meyering  <meyering@fb.com>
6629         tests/init.sh: exclude dash with bad "local" semantics
6630         * tests/init.sh (gl_shell_test_script_): Add a function to
6631         eliminate a shell like "dash" (unlike bash, zsh) that has
6632         surprising/risky "local var='...'" semantics.  Inspired by
6633         the problem and discussion in https://bugs.gnu.org/24116#11.
6635 2016-08-02  Ján Tomko  <jtomko@redhat.com>
6637         maint.mk: expand the prohibit_doubled_word regex
6638         This check has a static list of words that are checked for
6639         repetitions.  Expand it before running the perl script to
6640         avoid using expensive captures.  This decreases the cost
6641         for libvirt from 1.66s to 0.66s.
6642         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
6643         (sc_prohibit_doubled_word): Use it.
6645 2016-07-26  Ján Tomko  <jtomko@redhat.com>
6647         useless-if-before-free: skip non-matching lines early
6648         * build-aux/useless-if-before-free: First match each line with the
6649         simple/quick /\bif\b/ and reject if there is no match. This often
6650         saves the cost of the much more involved regular expression.
6651         For libvirt, this decreases the cost from 1.44s to 1.02s.
6653 2016-07-26  Ján Tomko  <jtomko@redhat.com>
6655         maint.mk: speed up sc_po_check
6656         sc_po_check would skip files based on their names, or on the
6657         existence of files with derived names. Rewrite it to use perl
6658         instead of shell to make the check faster.
6659         * top/maint.mk (perl_translatable_files_list_): Define.
6660         (sc_po_check): Use it.
6662 2016-07-30  Ján Tomko  <jtomko@redhat.com>
6664         maint.mk: speed up require_config_h_first
6665         Instead of spawning three processes per file,
6666         rewrite the check in perl and run it once for all the files.
6667         * top/maint.mk (perl_config_h_first_): Define.
6668         (sc_require_config_h_first): Use it in place of shell code.
6670 2016-07-26  Ján Tomko  <jtomko@redhat.com>
6672         maint.mk: speed up sc_po_check
6673         sc_po_check would skip files based on their names, or on the
6674         existence of files with derived names. Rewrite it to use perl
6675         instead of shell to make the check faster.
6676         * top/maint.mk (perl_translatable_files_list_): Define.
6677         (sc_po_check): Use it.
6679 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
6681         obstack: pacify GCC 6 with -Wnull-dereference
6682         Problem reported by Assaf Gordon in:
6683         http://lists.gnu.org/archive/html/bug-gnulib/2016-07/msg00028.html
6684         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
6685         Declare with __attribute_noreturn__.
6686         * lib/obstack.h (__attribute_noreturn__): New macro.
6688 2016-07-13  Eric Blake  <eblake@redhat.com>
6690         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
6691         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
6692         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
6694 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
6696         doc: mention glibc SSIZE_MAX buglet
6697         * doc/posix-headers/limits.texi (limits.h): Document the bug.
6699 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
6701         printf-posix: Fix mingw build
6702         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
6703         expression for detecting C symbol prefixes but forgot to qoute square
6704         brackets in the command line arguments for grep.  That way when
6705         building with mingw the condition was false although it ought to be
6706         true instead.  In particular scenarios this led to the following
6707         compile error:
6709             Cannot export rpl_printf: symbol not found
6710             Cannot export rpl_scanf: symbol not found
6711             collect2: error: ld returned 1 exit status
6713         Fix this by properly quoting square brackets.
6715 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
6717         mktime: call tzset as per POSIX
6718         Problem reported by Ludovic Courtès in:
6719         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00068.html
6720         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
6721         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
6723 2016-06-26  Pádraig Brady  <P@draigBrady.com>
6725         fts: handle readdir() errors
6726         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
6727         but also upon error when it will also set errno.  Therefore
6728         flag the error case from readdir().  We treat the case where
6729         no items are read the same as if the dir can't be accessed,
6730         i.e. by setting fts_errno to FTS_DNR.
6732 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
6734         intprops: port better to GCC 7
6735         GCC 7 __builtin_add_overflow supports a new usage form, where the
6736         last argument is a null pointer, and which merely returns 1 if an
6737         overflow would occur.  This is a constant expression if all
6738         arguments are constants, and should generate faster code when code
6739         needs to be generated.
6740         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
6741         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
6742         Use builtin operations if available.
6743         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
6744         operations are available, as it's almost surely faster.
6746 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
6748         intprops-test: port to GCC 6
6749         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
6750         since the bug is not fixed in GCC 6.1.
6752 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
6754         xalloc-oversized: port to GCC 7; fewer warnings
6755         GCC 7 will have a better way to deal with integer overflow.
6756         Plus, fix a warnings problem reported by Tim Ruehsen in:
6757         http://lists.gnu.org/archive/html/bug-gnulib/2016-06/msg00022.html
6758         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
6759         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
6760         For GCC 5, use __xalloc_oversized if both args are constants,
6761         or if pedantic.
6763 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
6765         regex: port to Sun C
6766         Reported by Daiki Ueno.
6767         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
6768         __restrict, in prototype.  This fixes a problem I introduced in
6769         the 2016-02-19 merge from glibc.
6771 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6773         stdbool: Restore __bool_true_false_are_defined check
6774         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
6775         __bool_true_false_are_defined is still defined, even with C++11.
6777 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
6779         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
6780         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
6782 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
6784         Use GCC_LINT, not lint
6785         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
6786         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
6787         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
6788         Document problem with lint and _Noreturn.
6789         * lib/diffseq.h (IF_LINT, IF_LINT2):
6790         * lib/fts.c (sccsid):
6791         * lib/getndelim2.c (IF_LINT):
6792         * lib/gl_anylinked_list2.h (gl_linked_iterator)
6793         (gl_linked_iterator_from_to):
6794         * lib/gl_anytree_list2.h (gl_tree_iterator)
6795         (gl_tree_iterator_from_to):
6796         * lib/gl_anytree_oset.h (gl_tree_iterator):
6797         * lib/gl_array_list.c (gl_array_iterator)
6798         (gl_array_iterator_from_to):
6799         * lib/gl_array_oset.c (gl_array_iterator):
6800         * lib/gl_carray_list.c (gl_carray_iterator)
6801         (gl_carray_iterator_from_to):
6802         * lib/idcache.c:
6803         * lib/inet_ntop.c (IF_LINT):
6804         * lib/regcomp.c (build_charclass_op, create_tree):
6805         * lib/regex_internal.c (re_acquire_state)
6806         (re_acquire_state_context):
6807         * lib/trigl.c (rcsid):
6808         * lib/trim.c (IF_LINT):
6809         * lib/vasnprintf.c (IF_LINT):
6810         * lib/verify.h (assume):
6811         Treat GCC_LINT like lint.
6813 2016-05-29  Bruno Haible  <bruno@clisp.org>
6815         secure_getenv: Port to many more platforms.
6816         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
6817         functions.
6818         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
6819         for non-BSD Unix platforms and for native Windows.
6820         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
6821         Prompted by a request from Nikos Mavrogiannopoulos.
6823 2016-05-27  Eric Blake  <eblake@redhat.com>
6825         canonicalize: Fix broken probe for realpath.
6826         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
6827         in logic introduced in 54615b95.
6829 2016-05-26  Eric Blake  <eblake@redhat.com>
6831         unsetenv: relax to LGPLv2+
6832         * modules/unsetenv (License): Match setenv license.
6834 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
6836         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
6837         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
6838         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
6839         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
6840         (commonarg, dirargs, dirs, infoarg, generate_ascii)
6841         (generate_html, generate_info, generate_tex, outdir)
6842         (source_extra, split, srcfile, texarg): Move above 'version'.
6843         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
6845 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
6847         manywarnings: update for GCC 6.1
6848         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
6849         Add GCC 6.1 options that apply to C.
6850         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
6851         do not apply to C, are obsolescent, etc.
6853 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6855         glob: size_t overflow checks
6856         * lib/glob.c (__has_builtin): New macro.
6857         (size_add_wrapv, glob_use_alloca): New static functions.
6858         (glob, glob_in_dir): Check for size_t overflow in several places,
6859         and fix some size_t checks that were not quite right.
6861         glob: don't assume INT_MAX < SIZE_MAX
6862         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
6863         latter is not portable to (probably theoretical) hosts where
6864         SIZE_MAX <= INT_MAX.
6866 2016-05-09  Bruno Haible  <bruno@clisp.org>
6868         Fix undefined behaviour in gettext.h.
6869         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
6870         pointer's value after the storage it points to has been freed.
6871         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
6872         Spotted by Coverity.
6874 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6876         git-version-gen: avoid undefined shift
6877         Problem reported by Mosè Giordano in:
6878         http://lists.gnu.org/archive/html/bug-gnulib/2016-05/msg00012.html
6879         * build-aux/git-version-gen: Avoid undefined behavior if invoked
6880         with --prefix or --fallback but without a later argument.  While
6881         we're at it, omit unnecessary quotes.
6883 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
6885         glob: merge glibc changes into lib/glob.c
6886         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
6887         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
6888         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
6889           struct dirent [BZ #19779]
6890         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
6891           callback gl_readdir
6892         2015-10-20 Convert miscellaneous function definitions to prototype style
6893         2015-10-20 Convert 113 more function definitions to prototype style
6894           (files with assertions)
6895         2015-06-12 Fix getlogin_r namespace (bug 18527).
6896         2014-02-10 Use glibc_likely instead __builtin_expect.
6897         2013-10-20 When glob pattern contains a trailing slash match only
6898           directories. Fixes bug 10278.
6899         2013-09-04 glob: silence -Wattribute warnings
6900         2013-06-07 Avoid use of "register" as optimization hint.
6901         2012-09-25 Use size_t instead of int for internal variables in glob
6902           (bug 14621)
6903         2011-07-20 Check for overflows in expressions
6904         2011-05-28 Remove unused variable
6905         2011-05-22 Add a few more alloca size checks
6906         2010-03-27 Whitespace fixes
6907         2010-03-27 Fix one more issue with the glob patch
6908         2010-03-24 Fix glob with empty pattern
6909         2008-05-27 Remove useless more "if" tests before "free"
6910         * modules/glob (Depends-on): Add stdint.
6912 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6914         mktime: port to stricter signed overflow checking
6915         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
6916         (long_int): Require width for INT_MAX * 3 * (seconds per year),
6917         instead of merely for INT_MAX * 2.  In practice platforms that
6918         do the latter also do the former.
6919         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
6920         (shr): New static function, replacing SHR.  All uses changed.
6921         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
6922         and TIME_T_MAX.  All uses changed.
6923         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
6924         Use long_int, not time_t.
6925         (long_int_avg): New static function, replacing time_t_avg.
6926         All uses changed.  Round toward positive infinity, as that
6927         generates slightly better code.
6928         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
6929         by INT_ADD_WRAPV.
6930         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
6931         (convert_time): New static function.
6932         (ranged_convert): Use it
6933         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
6934         Use simpler test for loop exit.
6935         (__mktime_internal): Store negative of guessed offset, to simplify
6936         overflow checking.  Remove no-longer-needed test for small time_t
6937         overflows.
6939         mktime: speed up DEBUG_MKTIME benchmarks
6940         Call tzset just once, at the start, rather than for every test
6941         case.  This lets us measure the CPU cost of mktime as opposed to
6942         that of tzset.  This is relevant when TZ is not set and glibc is
6943         being used.  This speeds up tests by a factor of 40 on my Fedora
6944         23 x86-64 platform.
6945         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
6946         to call tzset and as a sanity check.  Later on, use localtime_r
6947         instead of localtime.
6949         mktime: resurrect DEBUG_MKTIME testing
6950         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
6951         Include <string.h>, for strcmp.
6953         mktime: simplify DEBUG_MKTIME
6954         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
6955         Simplify later usage accordingly.
6957         Port mktime_internal offset to unsigned time_t
6958         This avoids some assumptions about wraparound arithmetic on
6959         signed integer overflow.
6960         * lib/mktime-internal.h (mktime_offset_t): New type.
6961         (mktime_internal): Use it in decl.
6962         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
6964         * lib/mktime.c (__mktime_internal, localtime_offset):
6965         * lib/timegm.c (timegm): Use it.
6966         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
6967         (gl_FUNC_MKTIME): Require it.
6969 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
6971         xstrtol: prohibit monstrosities like "1bB"
6972         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
6973         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
6974         "B" only if the first suffix needs a base.
6975         * tests/test-xstrtol.sh: Test this.
6977 2016-04-21  Pádraig Brady  <P@draigBrady.com>
6979         xstrtod: reinstate setting of *result upon ERANGE
6980         * lib/xstrtod.c (XSTRTOD): The user may decide to use
6981         the returned limits upon ERANGE, so allow and document that.
6983 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
6985         xstrtod: modify *result only if no errors
6986         * lib/xstrtod.c (XSTRTOD).
6988 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6990         btowc: document problems in C locale
6991         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
6992         with mbrtowc.  See: http://bugs.gnu.org/23269#32
6994 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6996         mktime: improve integer overflow checking
6997         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
6998         (WRAPV): Remove; no longer needed.
6999         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
7000         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
7001         Remove.  Use intprops.h defns instead.
7002         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
7003         Use bool for Boolean, for clarity.
7004         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
7005         detect integer overflow.
7006         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
7008         intprops: check two's complement assumption
7009         Suggested by Eric Blake in:
7010         http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00016.html
7011         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
7012         short, int, long, and (if available) long long are two's complement.
7013         * modules/intprops (Depends-on): Add 'verify'.
7015         intprops, mktime, strtol: assume two's complement
7016         These macros were not portable to every conforming C11 ones'
7017         complement platform.  It's not worth the hassle of porting to some
7018         platforms that use ones' complement or signed magnitude, as such
7019         platforms are almost purely theoretical nowadays and porting even
7020         to some of them makes the code harder to review for little
7021         practical benefit.  Problem reported by Florian Weimer in:
7022         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
7023         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
7024         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
7025         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
7026         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
7027         (TYPE_SIGNED_MAGNITUDE):
7028         Remove.  All uses rewritten to assume two's complement, which is
7029         all we can reasonably test nowadays anyway.
7030         * top/maint.mk (_intprops_names): Remove the removed macros.
7032 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7034         stdint: port to strict C11 left shift
7035         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
7036         Pacify clang -Wshift-negative-value, which should be an issue only
7037         on clang setups where stdint.h does not conform to C11 or to C++11.
7038         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
7040 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
7042         mbrtowc: work around glibc bug#19932
7043         Fix mbrtowc so that it never returns -1 in the C locale,
7044         as this conflicts with a future version of POSIX
7045         http://austingroupbugs.net/view.php?id=663#c2738
7046         and causes problems with GNU grep: http://bugs.gnu.org/23234
7047         See glibc bug 19932:
7048         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
7049         * doc/posix-functions/mbrlen.texi (mbrlen):
7050         * doc/posix-functions/mbrtowc.texi (mbrtowc):
7051         Document the glibc bug.
7052         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
7053         Include hard-locale.h, locale.h.
7054         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
7055         if the bug is possible.
7056         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
7057         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
7058         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
7059         * modules/mbrtowc (Depends-on): Add hard-locale.
7060         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
7061         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
7062         * tests/test-mbrtowc5.sh: New file.
7064 2016-04-03  Pedro Alves  <palves@redhat.com>
7066         stdint: detect good enough pre-C++11 stdint.h in C++ mode
7067         When gnulib is configured in C++ mode for a system with a working C99
7068         implementation of stdint.h that predates C++11, gnulib ends up
7069         substituting stdint.h anyway.  This works on most targets, but on e.g.,
7070         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
7071         MinGW is LLP64.  Instead of trying to detect the right types, detect
7072         good-enough-pre-C++11 stdint.h and in such case define
7073         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
7074         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
7075         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
7076         conforms to C99.  If it does, check whether it hides symbols
7077         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
7078         does, define those macros in config.h.
7080 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
7082         argp: merge changes from glibc
7083         Among other things, this should fix problems found by a Coverity
7084         scan and reported by Andrei Borzenkov:
7085         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00015.html
7086         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00016.html
7087         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
7088         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
7089         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
7090         * lib/argp.h:
7091         Merge changes from glibc.
7092         * tests/test-argp-2.sh: Adjust to match new behavior.
7094 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
7096         stddef: support configuring with g++
7097         Problem reported by Ángel González in:
7098         http://lists.gnu.org/archive/html/bug-gnulib/2016-04/msg00003.html
7099         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
7100         Do not define if _GCC_MAX_ALIGN_T is defined.
7102 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7104         test-framework-sh: minor cleanups
7105         * tests/init.sh (testdir_prefix_): Output a trailing newline,
7106         since strictly speaking POSIX requires this.
7107         (setup_): Do not use the variable 'fail', as that makes the
7108         trace output harder to read ('fail' is typically used by
7109         tests to mean the test failed).  Treat // portably.
7110         Check that new directory is not merely a sibling of the tmp dir.
7111         Avoid unnecessary invocation of tr.
7113         test-framework-sh: revert port to NetBSD 7.0
7114         It was a false alarm; I misinterpreted Assaf Gordon's report.
7115         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
7116         Restore.
7117         (test_dir_): Adjust to mktempd_ change.
7118         (mktempd_): Restore 2nd arg.  Use -t again.
7119         (base_template_, template_, nx_): Resurrect old code.
7121         Port better to Alpine Linux
7122         Its diff implementation does not support -c, but does support -U3.
7123         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
7124         * tests/init.sh (diff_opt_): New var.
7125         (compare_): Prefer diff -U3 to diff -c to plain diff.
7127 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
7129         test-framework-sh: port to NetBSD 7.0
7130         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
7131         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
7132         Remove.  All uses removed.
7133         (test_dir_): Adjust to mktempd_ change.
7134         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
7135         (base_template_, template_, nx_): Simplify by hardcoding.
7137 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
7139         gitlog-to-changelog: suppress ignored chatter
7140         * build-aux/gitlog-to-changelog: Do not warn about skipping
7141         an SHA if it would have been ignored anyway.
7143 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
7145         setlocale: add "sv" to Windows language table
7146         * lib/setlocale.c (language_table) [W32]: Add "sv".
7147         Reported in <https://savannah.gnu.org/bugs/?44588>.
7149 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7151         sys_select: port to new Cygwin
7152         Problem reported by Ken Brown in:
7153         https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00054.html
7154         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
7155         diagnostics.
7157 2016-03-17  Jim Meyering  <meyering@fb.com>
7159         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
7160         * tests/test-userspec.c (main): Remove unnecessary braces and fix
7161         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
7162           test-userspec.c:176:9: error: statement is indented as if it were \
7163             guarded by... [-Werror=misleading-indentation]
7164                    {
7165                    ^
7166           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
7167                  if (!diag && !T[i].result)
7168                  ^~
7170 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
7172         time_rz: port to clang -Wunused-const-variable
7173         * lib/time_rz.c (TZ): Remove.  All uses removed.
7175         std-gnu11: improve clang support
7176         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
7177         2016-03-15 Also try clang
7178         2016-03-15 Port C11 and C++11 testing to clang
7180         select: port more to Intel 2016.1.150 compiler
7181         Problem reported by Balázs Hajgató in:
7182         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00036.html
7183         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
7185 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
7187         select: try to port to 2016.1.150 compiler
7188         Problem reported by Balázs Hajgató in:
7189         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00026.html
7190         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
7191         POSIX specifies 'restrict'.
7193 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
7195         localename-tests: memory allocation fixes
7196         * tests/test-localename.c (test_locale_name)
7197         (test_locale_name_thread): Don't call freelocale on a locale
7198         that was the base of a successful newlocale, as that
7199         results in a double free.  Problem reported by Assaf Gordon.
7200         (test_locale_name_thread): Free saved names after use, to pacify
7201         gcc -fsanitize=address.
7203 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
7205         intprops: make .h file license match module
7206         * lib/intprops.h: Change the license wording to match glibc format.
7207         This is what is in modules/intprops anyway.  See:
7208         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
7210 2016-03-08  Eric Blake  <eblake@redhat.com>
7212         acl: fix missing return on Cygwin
7213         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
7214         fall off end of function. Fixes http://bugs.gnu.org/22949
7216 2016-03-05  Bruno Haible  <bruno@clisp.org>
7218         extern-inline: port to PGI CC
7219         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
7220         keyword 'inline'.
7221         Reported by Adam James Stewart in:
7222         http://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00006.html
7224 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7226         signbit: port back to pre-C++11 GCC
7227         * lib/math.in.h (signbit): Do previous change only if
7228         __cplusplus < 201103.  See Jonathan Wakely in:
7229         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
7231 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
7233         mountlist: recognize autofs-mounted remote file systems, too
7234         Originally reported at: https://bugzilla.redhat.com/1309247
7235         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
7236         "-hosts" because it is used by autofs to mount remote file systems.
7238 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7240         signbit: port to C++ with GCC 6
7241         * lib/math.in.h (signbit) [__cplusplus]:
7242         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
7243         http://lists.gnu.org/archive/html/bug-gnulib/2016-02/msg00005.html
7245         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
7247         regex: make it closer to libc
7248         Make Idx a signed type, rather than possibly unsigned.
7249         The unsignedness was not really buying us anything, since the code
7250         overflows for other reasons before getting to PTRDIFF_MAX.  Making
7251         it signed allows us to use -1 and -2 with abandon, like libc does,
7252         thus lessening the number of differences between gnulib and libc.
7253         Also, it should help avoid gratuitous warnings like the one
7254         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
7255         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
7258         regex: merge patches from libc
7260         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
7261         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
7262         Convert miscellaneous function definitions to prototype style.
7263         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
7264         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
7265         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
7266         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
7267         (re_search_internal):
7268         Convert to prototype-style function definition.
7269         Use internal_function for internal functions.
7271 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
7273         stdalign: port to older HP and IBM cc
7274         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
7275         C compilers, by checking their version numbers.  These version
7276         numbers appear in MariaDB and in Qt code that dates way back and
7277         that conditiionally uses the 'aligned' attribute.
7279 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7281         stdalign: port to clang 3.7.0
7282         Problem reported by Herbert J. Skuhra in:
7283         http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00476.html
7284         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
7285         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
7286         https://llvm.org/bugs/show_bug.cgi?id=26547
7288 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7290         readdir_r: now obsolescent
7291         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
7292         * lib/mountlist.c (read_file_system_list): Add a FIXME.
7294 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
7296         misc: port better to gcc -fsanitize=address
7297         Without these patches, ./configure CFLAGS='-fsanitize=address'
7298         would compute incorrect values.  This patch fixes some (but not all)
7299         test failures with recent glibc, with this configuration.
7300         * m4/acl.m4 (gl_ACL_GET_FILE):
7301         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
7302         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
7303         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
7304         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
7305         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
7306         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
7307         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
7308         * m4/getline.m4 (gl_FUNC_GETLINE):
7309         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
7310         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
7311         * m4/regex.m4 (gl_REGEX):
7312         * m4/strndup.m4 (gl_FUNC_STRNDUP):
7313         * tests/test-calloc-gnu.c (main):
7314         * tests/test-duplocale.c (main):
7315         * tests/test-getgroups.c (main):
7316         * tests/test-getline.c (main):
7317         * tests/test-inttostr.c (main):
7318         * tests/test-localename.c (test_locale_name)
7319         (test_locale_name_thread, test_locale_name_environ)
7320         (test_locale_name_default):
7321         * tests/test-regex.c (main):
7322         * tests/test-setlocale1.c (main):
7323         * tests/test-stat.h (test_stat_func):
7324         Free heap-allocated storage before exiting.
7325         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
7326         Don't match *_foo symbols inserted by AddressSanitizer.
7327         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
7329 2016-02-02  Jim Meyering  <meyering@fb.com>
7331         verify-tests: also remove stray test-verify.Tpo
7332         * modules/verify-tests (Makefile.am): Arrange for "make clean"
7333         to remove the test-verify.Tpo file that is left behind by
7334         the automake-generated rule upon compilation failure.
7335         Otherwise, that .Tpo file would cause a failed "make distcheck"
7336         at least for grep.
7338 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
7340         std-gnu11: new module
7341         This makes it easier for applications to prefer C11 and C++11
7342         to older variants, when compiling C and C++ code.
7343         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
7344         a nontrivial chunk of GPLed Autoconf source code.
7345         * COPYING: Mention the m4/*.m4 copyright situation.
7346         * MODULES.html.sh (std-gnu11): New module.
7347         * m4/std-gnu11.m4, modules/std-gnu11: New files.
7349 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7351         get-permissions, strftime: fix grammar in comments
7352         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
7353         some grammar fixes Alan Mackenzie made to GNU Emacs.
7355 2016-01-25  Daiki Ueno  <ueno@gnu.org>
7357         gettext: mark as obsolete
7358         Suggested by Paul Eggert in:
7359         https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00101.html
7360         * modules/gettext (Status): Mark as obsolete.
7361         (Notice): Suggest to use 'gettext-h' instead.
7362         * modules/gettext-h (Description): Suggest GNU gettext, instead of
7363         the 'gettext' module.
7365 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
7367         gnulib-tool: don't give up on ln -s so easily
7368         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
7369         because an earlier one failed.  The targets could be on different
7370         file systems.  Problem reported by KO Myung-Hun in:
7371         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00081.html
7373         closedir: fix OS/2-related typos
7374         Problem reported by KO Myung-Hun in:
7375         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00107.html
7376         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
7377         in the last couple of changes.
7379 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
7381         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
7382         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
7383         copying a directory.
7385 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
7387         regex: treat [x] as x if x is a unibyte encoding error
7388         Problem reported by Aharon Robbins in:
7389         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00091.html
7390         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
7391         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
7393         closedir, dirfd, opendir: port to OpenSolaris 5.10
7394         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
7395         * m4/dirfd.m4 (gl_FUNC_DIRFD):
7396         * m4/opendir.m4 (gl_FUNC_OPENDIR):
7397         Don't use ${word##pat} substitution, as it doesn't work in
7398         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
7399         http://bugs.gnu.org/22443#11
7401 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7403         bootstrap: use American spelling
7404         * build-aux/bootstrap: Honor American spelling.
7406 2016-01-22  Karl Berry  <karl@freefriends.org>
7408         * doc/posix-functions/localtime.texi,
7409         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
7411 2016-01-21  Bruno Haible  <bruno@clisp.org>
7413         hash-pjw-bare: fix comment
7414         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
7416         wcwidth: Replace also on OpenBSD 5.8
7417         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
7418         * doc/posix-functions/wcwidth.texi: Update.
7420 2016-01-20  Pádraig Brady  <P@draigBrady.com>
7422         gnu-web-doc-update: fix addition of new files
7423         If there were already added (emnpty) dirs,
7424         then cvs aborts the add with the message:
7425           cvs [add aborted]: there is a version in <./dirname> already
7426         * build-aux/gnu-web-doc-update: Add directories separately
7427         to the addition of files, to avoid the above issue
7428         impacting the addition of files.
7430 2016-01-19  Daiki Ueno  <ueno@gnu.org>
7432         utimens-tests: avoid pulling gettext .m4 files
7433         Although this is not the right fix to the original problem:
7434         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html
7435         it makes it possible again for consumer projects to use arbitrary
7436         version of gettext, through the steps described at:
7437         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
7438         See here for details:
7439         https://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00079.html
7440         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
7441         'gettext'.
7442         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
7443         'gettext'.
7445 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
7447         regex: pacify static checkers
7448         Problem and draft fix reported by Aharon Robbins in:
7449         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
7450         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
7451         Clear memory to pacify static checkers.
7453         regex: fix [ diagnostic
7454         Problem and fix reported by Aharon Robbins in:
7455         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
7456         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
7458         regex: fix memory leaks
7459         Problem and draft fix reported by Aharon Robbins in:
7460         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00082.html
7461         * lib/regcomp.c (build_range_exp, build_charclass_op)
7462         * lib/regex_internal.c (re_dfa_add_node):
7463         Fix memory leak on failure.
7465 2016-01-18  Pádraig Brady  <P@draigBrady.com>
7467         fts: don't unconditionally use leaf optimization for NFS
7468         NFS st_nlink are not accurate on all implementations,
7469         leading to aborts() if that assumption is made.
7470         See <https://bugzilla.redhat.com/1299169>
7471         * lib/fts.c (leaf_optimization_applies): Remove NFS from
7472         the white list, and document the issue.
7474 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
7475             KO Myung-Hun  <komh@chollian.net>
7477         gnulib-tool: don't assume ln -s works
7478         * gnulib-tool (func_ln_s): New function.
7479         (func_ln): Use it.
7481 2016-01-15  KO Myung-Hun  <komh@chollian.net>
7483         utimes: detect utimes() correctly on OS/2 kLIBC
7484         utimes() of OS/2 kLIBC has some limitations.
7485         1. OS/2 itself supports a file date since 1980 year in local time.
7486         2. OS/2 itself supports only even seconds for a file time.
7487         3. utimes() of OS/2 kLIBC does not work on an opened file.
7488         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
7489         * doc/posix-functions/utimes.texi: Document the above limitations of
7490         utimes() on OS/2 kLIBC.
7492 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
7493             KO Myung-Hun  <komh@chollian.net>
7495         openat_proc_name: port to OS/2 kLIBC
7496         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
7497         instead of /proc/self/fd.
7498         * lib/openat-proc.c (openat_proc_name):
7499         Don't assume file name length is less than INT_MAX.
7500         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
7502 2016-01-14  KO Myung-Hun  <komh@chollian.net>
7504         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
7505         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
7506         definitions of intptr_t and uintptr_t (which use int and unsigned)
7507         to avoid clashes with declarations of system functions like sbrk.
7508         * lib/stdint.in.h (intptr_t, uintptr_t): Check
7509         _INTPTR_T_DECLARED before defining them.
7511         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
7512         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
7513         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
7514         Declare on kLIBC.
7515         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
7516         fd associated with dirp.
7517         (_gl_register_dirp_fd): New. Register fd associated with dirp to
7518         dirp_fd_list.
7519         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
7520         (dirfd): Implemented for kLIBC.
7521         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
7522         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
7523         succeeds.
7524         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
7525         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7526         (REPLACE_DIRFD): Define to 1 if replaced.
7527         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
7528         * modules/closedir (Depends-on): Add dirfd.
7529         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
7530         condition.
7531         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
7532         * modules/opendir (Depends-on): Add dirfd.
7534         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
7535         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
7536         * lib/dup.c (dup_nothrow): New.
7537         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
7538         (klibc_dup2): New.
7539         * lib/fcntl.c (klibc_fcntl): New.
7540         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
7541         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
7542         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
7543         fd.
7545         pipe_filter_ii_execute: port to OS/2 kLIBC
7546         Pipes on kLIBC do not support O_NONBLOCK like Win32.
7547         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
7548         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
7549         Reuse Win32 code on OS/2 kLIBC.
7550         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
7551         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
7553         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
7554         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
7555         static inline function.  The implementation of wcwidth in wcwidth.c
7556         causes a "conflicting types" error.
7557         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
7559         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
7560         spawn() on OS/2 kLIBC is not silly like one on Windows
7561         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
7562         empty string on OS/2 kLIBC.
7564         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
7565         On OS/2 kLIBC, select() works only on sockets.
7566         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
7568         binary-io: don't put fd in binary mode if it is a console on EMX
7569         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
7570         a console on EMX.
7572 2016-01-15  Pádraig Brady  <P@draigBrady.com>
7574         doc: mention unfixed issues with unsupported localtime() values
7575         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
7576         returns nonsense for localtime(2^56).
7577         * doc/posix-functions/localtime_r.texi: Likewise.
7579 2016-01-14  Pádraig Brady  <P@draigBrady.com>
7581         doc: mention setlocale() issues on OpenBSD
7582         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
7583         never fails, and the need to check categories individually.
7585 2016-01-14  Pádraig Brady  <P@draigBrady.com>
7587         sig2str: list all signals on FreeBSD >= 7
7588         FreeBSD >= 7 is contravening POSIX by not defining NSIG
7589         to the maximal statically defined signal value.
7590         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
7591         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
7592         where available, even when NSIG is defined.
7594 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
7596         acl-permissions: port to USE_ACL==0 platforms
7597         I ran into this problem when building bleeding-edge GNU Emacs
7598         with gcc -fsanitize=address on Fedora 23.  On this platform
7599         the ACL library does not pass the 'configure' test and Emacs
7600         then does not build due in part to what appear to be typos in the
7601         ACL part of Gnulib.
7602         * lib/acl-internal.c (free_permission_context):
7603         * lib/acl-internal.h (struct permission_context):
7604         Test whether USE_ACL is nonzero, not whether it is defined.
7606 2016-01-12  Martin Sebor  <msebor@redhat.com>
7608         mktime: rename macro to avoid glibc clash
7609         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
7610         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
7612 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
7614         Port "$@" to OpenIndiana ksh93
7615         In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html
7616         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
7617         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
7618         bug long-dead shells, so remove the workaround.
7619         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
7620         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
7621         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
7622         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
7623         Use "$@" instead of ${1+"$@"}.
7625         Port Universal Time settings to strict POSIX
7626         * build-aux/announce-gen, build-aux/bootstrap:
7627         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
7628         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
7629         * build-aux/gnupload, build-aux/mkinstalldirs:
7630         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
7631         * build-aux/update-copyright, build-aux/useless-if-before-free:
7632         * build-aux/vc-list-files, tests/test-strftime.c:
7633         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
7634         but POSIX says the behavior of TZ="UTC" is undefined.
7636 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
7638         msvc-inval: fix problem with unset shell var
7639         Problem reported by Karl Berry in:
7640         http://lists.gnu.org/archive/html/bug-gnulib/2016-01/msg00004.html
7641         * modules/msvc-inval (Depends-on):
7642         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
7643         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
7645 2016-01-01  Pádraig Brady  <P@draigBrady.com>
7647         tests: for compare_(), use cmp -s where available
7648         * tests/init.sh (compare_): Only fall back to cmp without
7649         the POSIX defined -s option, where this is not available.
7651 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
7653         version-etc: new year
7654         * build-aux/gendocs.sh (version):
7655         * doc/gendocs_template:
7656         * doc/gendocs_template_min:
7657         * doc/gnulib.texi:
7658         * lib/version-etc.c (COPYRIGHT_YEAR):
7659         Update copyright dates by hand in templates and the like.
7660         * all files: Run 'make update-copyright'.
7662 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7664         human: fix output buffer overrun by 1
7665         * lib/human.c (human_readable): Fix off-by-one typo in buffer
7666         calculation that could lead to a one-byte buffer overrun.
7668 2015-12-28  Daiki Ueno  <ueno@gnu.org>
7670         maint: fix operator precedence in mbrtowc test
7671         This is a fix for test breakage introduced by commit 45228d96; the
7672         equality expression must be parenthesized when negated with '!',
7673         otherwise we always get:
7675           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
7677         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
7678         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
7680 2015-12-23  James Youngman  <jay@gnu.org>
7682         regexprops-generic: update from regex.h
7683         * doc/regexprops-generic.texi: update by running the regexprops binary
7684         from findutils (the command line is 'regexprops "Regular Expressions"
7685         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
7686         gnulib with GNU grep had made this document out-of-date.
7688 2015-12-23  Pádraig Brady  <P@draigBrady.com>
7690         strftime-tests: avoid false failure on OS X
7691         * tests/test-strftime.c (struct localtime_rz_test): Add an
7692         ahistorical member which is used to warn rather than fail
7693         when tm_isdst isn't set for such entries.  This is the case for
7694         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
7696 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
7698         fts: ensure leaf optimization is used for NFS
7699         NFS provides usable dirent.d_type but not necessarily for all entries
7700         of large directories.  See <https://bugzilla.redhat.com/1252549>
7701         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
7703 2015-12-20  Pádraig Brady  <P@draigBrady.com>
7705         fts: enable leaf optimization for XFS
7706         XFS provides usable dirent.d_type only for DT_DIR,
7707         but the noleaf optimization still applies.
7708         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
7710 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
7712         intprops: comment fix
7713         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
7714         http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00013.html
7716         intprops-test: work around GCC bug 68971
7717         Problem reported by Pádraig Brady in:
7718         http://lists.gnu.org/archive/html/bug-gnulib/2015-12/msg00011.html
7719         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
7720         (main): Add a case that better tests 64-bit long in this area.
7722 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
7724         gnulib-tool: allow multiple --local-dir usage
7725         * gnulib-tool: Use --local-dir to construct compound
7726         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
7727         PATH_SEPARATOR early.
7728         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
7729         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
7730         func_determine_path_separator because that needs to be detected
7731         earlier now.
7732         (func_determine_path_separator): New function.
7733         (func_path_foreach, func_path_foreach_inner): New functions.
7734         (func_path_prepend, func_path_append): Likewise.
7735         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
7736         (func_lookup_file, func_all_modules): Use new functions to work
7737         with local_gnulib_path.
7738         (func_modules_in_dir, func_exists_module): New callbacks for
7739         func_path_foreach.
7740         (func_exists_module, func_get_tests_module): Likewise.
7741         (func_is_local_file, func_should_symlink): New helper methods.
7742         (func_add_file, func_update_file): Use new func_should_symlink
7743         instead, DRY.
7744         (func_reconstruct_cached_local_gnulib_path): New helper.
7745         (func_reconstruct_cached_dir): New callback.
7746         (func_import): The cached_local_gnulib_dir renamed to
7747         cached_local_gnulib_path similarly to local_gnulib_dir.
7748         Use new func_reconstruct_cached_local_gnulib_path.
7749         (func_count_relative_local_gnulib_path): New sub-method.
7750         (func_create_testdir): Use func_should_symlink, DRY.
7751         (func_create_megatestdir): Use new functions to work with
7752         local_gnulib_path correctly.
7753         (func_append_local_dir): New helper.
7755 2015-12-08  Pádraig Brady  <P@draigBrady.com>
7757         fix freadptr to work with ungetc on all uClibc configs
7758         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
7759         where GNU coreutils cut(1) generates invalid output on uClibc
7760         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
7761         * lib/freadptr.c (freadptr): Return NULL if there are
7762         ungotten chars.  In this case freadseek() will iterate
7763         again to process the ungotten character.
7765 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
7767         xalloc-oversized: improve performance with GCC 5
7768         * lib/xalloc-oversized.h (xalloc_oversized):
7769         Improve performance with GCC 5 by using __builtin_mul_overflow.
7771 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7773         intprops: new public macro EXPR_SIGNED
7774         Emacs can use this macro, so make it public.
7775         * doc/intprops.texi (Arithmetic Type Properties): Rename from
7776         'Integer Type Determination', since some of these macros apply
7777         to non-integer types.  Clarify what kinds of constant expressions
7778         these macros return.  Say when the arguments can be non-integers.
7779         Mention newly published macro EXPR_SIGNED.
7780         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
7781         make it public.  All uses changed.
7783         intprops: fix typo in clang port
7784         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
7785         '__builtin_add_overflow' that is not caught by compiler.
7787 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
7789         test-timespec: fix typo in previous change
7790         * tests/test-timespec.c (main): Fix typo that reduced test quality.
7792         timespec-sub: fix overflow bug; add tests
7793         * lib/timespec-add.c (timespec_add):
7794         * lib/timespec-sub.c (timespec_sub):
7795         Work even if time_t is narrower than int (a theoretical
7796         possibility).  Redo code for a bit more clarity.
7797         * lib/timespec-sub.c (timespec_sub):
7798         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
7799         * modules/timespec-tests, tests/test-timespec.c: New files.
7801         intprops-test: suppress -Woverlength-strings
7802         Problem reported by Pádraig Brady in:
7803         http://lists.gnu.org/archive/html/bug-gnulib/2015-11/msg00008.html
7804         It is not worth the hassle to port this test to compilers that
7805         cannot handle long strings in diagnostics.
7806         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
7808 2015-11-03  Pádraig Brady  <P@draigBrady.com>
7810         quotearg: add quotearg_n_style_colon()
7811         This quotes with default options of the specified style,
7812         but with quoting enabled for instances of ':'.
7813         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
7814         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
7816 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
7818         intprops: revise _WRAPV macros, revert _OVERFLOW
7819         The incompatible changes to the _OVERFLOW macros were too much of
7820         a hassle in practice, so revert them.  Instead, change the new
7821         _WRAPV macros to make them closer in behavior to GCC 5's new
7822         builtin_add_overflow etc. functions.  No other software was using
7823         these newly-added macros yet, so this should be OK.
7824         * NEWS: Revert previous change, since the incompatible change
7825         has been reverted, and nobody used the incompatible version.
7826         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
7827         Document revised behavior.
7828         (Integer Range Overflow): Adjust example to match above revisions.
7829         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
7830         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
7831         these can be used in integer constant expressions again.
7832         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
7833         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
7834         needed.
7835         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
7836         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
7837         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
7838         Remove, as they did not seem that useful.
7839         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
7840         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
7841         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
7842         Support new semantics.
7843         (__has_builtin): New macro, if not alreay defined.
7844         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
7845         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
7846         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
7847         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
7848         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
7849         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
7850         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
7851         New macros.
7852         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
7854 2015-11-03  Jim Meyering  <meyering@fb.com>
7856         intprops: add parentheses for when OP has precedence lower than "-"
7857         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
7858         "a OP b" must be parenthesized for when OP is like "<<", which has
7859         lower precedence than the following "-". Reported by Pádraig Brady.
7861 2015-11-03  Pádraig Brady  <P@draigBrady.com>
7863         quotearg: constify get_quoting_style parameters
7864         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
7865         * lib/quotearg.c (get_quoting_style): Likewise.
7867 2015-11-02  Pádraig Brady  <P@draigBrady.com>
7869         quotearg: add support for $'' shell escaping
7870         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
7871         items and descriptions.
7872         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
7873         above types by quoting like "shell", but using $'...' syntax
7874         for non printable characters, which should provide unambiguous
7875         printable output for any input.
7876         * tests/test-quotearg-simple.c: Update accordingly.
7878 2015-11-02  Pádraig Brady  <P@draigBrady.com>
7880         maint: use a more standard return from mbrtowc test
7881         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
7882         from the test program as this is non standard and often
7883         indicates an unhandled case in the test program.
7884         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
7886 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7888         intprops: add WRAPV and const flavors for GCC 5
7889         If available, use GCC 5's builtin functions for efficient integer
7890         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
7891         and safely compute the low-order bits of the correct answer.
7892         A downside of these efficient functions is that they cannot be
7893         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
7894         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
7895         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
7896         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
7897         Document the changes.
7898         (Wraparound Arithmetic): New section.
7899         (Integer Range Overflow):
7900         Put this subsection last, since it's least useful.
7901         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
7902         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
7903         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
7904         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
7905         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
7906         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
7907         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
7908         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
7909         New macros.
7910         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
7911         Generate calls to GCC builtins if available, for speed.
7912         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
7913         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
7914         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
7915         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
7916         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
7917         (CHECK_QUOTIENT, CHECK_REMAINDER):
7918         Test WRAPV and CONST flavors (when available) too.
7920 2015-10-30  Pádraig Brady  <P@draigBrady.com>
7922         doc: use extended timezone format in iso-8601 example
7923         * doc/parse-datetime.texi: The standard states that extended format
7924         is to be used consistently throughout.
7925         Note that lib/parse-datetime.y can handle either tz format.
7927 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
7929         stdalign: port to Sun C 5.9
7930         * doc/posix-headers/stdalign.texi: Document this.
7931         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
7932         __attribute__ ((__aligned__ (...))).
7934 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
7936         time_rz: fix comment about tzalloc
7937         * lib/time_rz.c (tzalloc): Fix comment.
7939 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
7941         stdalign: work around pre-4.9 GCC x86 bug
7942         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
7943         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
7944         http://lists.gnu.org/archive/html/bug-gnulib/2015-10/msg00038.html
7946 2015-10-18  Pádraig Brady  <P@draigBrady.com>
7948         maint.mk: sc_tight_scope: remove extraneous expressions
7949         * top/maint.mk (tight_scope): This is not really required since
7950         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
7951         that matches all nm entries.  But it does remove extraneous entries
7952         that may be confusing or cause issue in future maintenance.
7954 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
7956         time_rz: return NULL if localtime_r fails
7957         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
7958         while still attempting to pacify bleeding-edge GCC.
7960         fts: port to C11 alignof
7961         * doc/posix-headers/stdalign.texi (stdalign.h):
7962         Document the C11 restriction.
7963         * lib/fts.c: Include stddef.h, for max_align_t.
7964         (fts_alloc): Align using max_align_t, not FTSENT.
7965         * modules/fts (Depends-on): Add stddef.
7967 2015-10-18  Jim Meyering  <meyering@fb.com>
7969         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
7970         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
7971         would see this:
7973         lib/time_rz.c: In function 'localtime_rz':
7974         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
7975           [-Werror=nonnull]
7976                    if (tm && !save_abbr (tz, tm))
7977                        ^
7979         That was complaining about "tm" because it is a parameter that was
7980         declared with the __nonnull__ attribute.
7981         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
7982         result of localtime_r.
7984 2015-10-17  Jim Meyering  <meyering@fb.com>
7986         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
7987         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
7988         name-extraction regexp mistakenly used \S+, and would mistakenly
7989         extract "*F" from "extern int *F()" rather than the desired "F".
7990         Use \w+ instead.
7992 2015-10-17  Jim Meyering  <meyering@fb.com>
7994         maint.mk: sc_tight_scope: factor and support OS X
7995         * top/maint.mk (_gl_tight_scope): Address three issues:
7996         - factor out four instances of code that wraps a string in "^...$"
7997         - allow nm-reported symbol names to have an optional leading "_"
7998         - add "main" to the list of ignored variable names, because on os x,
7999         "main" has nm-reported type "S" in the variable-checking section.
8001 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
8003         safe-alloc-tests: fix typo in license header
8004         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
8006 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
8008         copy-file: fix mem leak in error case
8009         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
8010         upon error opening or performing I/O to the src and dest files.
8012 2015-10-15  Mike Frysinger  <vapier@chromium.org>
8014         localename: control langinfo.h inclusion
8015         This header is only used to work around buggy behavior in old
8016         versions of glibc, so do not include it all the time.  Otherwise
8017         we get build failures on systems that do not provide langinfo.h.
8018         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
8019         in the source later on.
8020         The patch was originally submitted to gettext as:
8021         https://lists.gnu.org/archive/html/bug-gettext/2015-10/msg00011.html
8023 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8025         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
8026         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
8027         * lib/u64.c, lib/unistd.c:
8028         Append 'typedef int dummy;', to pacify compilers that are picky
8029         about empty translation units.
8031 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
8033         accept4-tests: fix to avoid non portable flags
8034         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
8035         as they are the only documented ones, and passing others may trigger
8036         EINVAL (seen on FreeBSD 10.1-RELEASE).
8037         * doc/glibc-functions/accept4.texi: Mention that we don't provide
8038         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
8040 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
8042         gnulib-tool: fix tests of 'extensions' module
8043         This complements f8fe25fab60e3c687a124 commit.
8044         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
8045         emitting of initial gl_EARLY macros.
8046         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
8047         replaced with func_emit_pre_early_macros call.
8049 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
8051         unicase/locale-language: fix typo in utf-8 cookie
8052         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
8053         Problem reported by Zbigniew Jędrzejewski-Szmek.
8055 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
8057         xalloc: do not worry about GCC 5 warning on 32 bit
8058         * lib/xalloc.h: Revert previous change.
8059         I found a better way to fix this in coreutils.
8061 2015-10-02  Pádraig Brady  <P@draigBrady.com>
8063         xalloc: avoid GCC 5.1 warning on 32 bit
8064         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
8065         xalloc_oversized(), which was seen to give this warning
8066         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
8067         when simplifying conditional".
8069 2015-10-02  Daiki Ueno  <ueno@gnu.org>
8071         uniname/uniname-tests: avoid compiler warnings
8072         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
8073         unused local variables.
8074         (test_alias_lookup): Fix alias name display in failure cases.
8076 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
8078         c-ctype: do not worry about EBCDIC + char signed
8079         Drop support for EBCDIC with char being signed, as this breaks too
8080         many programs.  Problem reported by Ben Pfaff in:
8081         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00053.html
8082         * lib/c-ctype.h: Verify that we are not using EBCDIC with
8083         char being signed.
8084         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
8085         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
8086         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
8087         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
8088         * tests/test-c-ctype.c (test_all):
8089         Simplify by assuming standard char values cannot be negative.
8090         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
8092 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
8094         c-ctype: port better to z/OS EBCDIC
8095         Problems reported by Daniel Richard G. in:
8096         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00050.html
8097         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
8098         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
8099         (_C_CTYPE_OTHER_CNTRL): New macro.
8100         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
8101         from SCHAR_MIN, as the functions are defined only from values
8102         promoted from char or from unsigned char, not necessarily from
8103         signed char.
8105 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
8107         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
8109         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
8110         and ARFLAGS variables.  Doing this unconditionally could break
8111         later Automake's AM_PROG_AR invocation (at least it's
8112         AC_CHECK_TOOLS call to detect correct 'ar' binary).
8114         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
8115         Amsterdam Compiler Kit, so make the previous code to have effects
8116         only on ACK, and rather automatically call the Automake's
8117         AM_PROG_AR as soon as possible to decide other cases.
8119         References:
8120         http://lists.gnu.org/archive/html/bug-gnulib/2015-07/msg00001.html
8122         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
8123         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
8124         is possible, keep setting AR/ARFLAGS to reasonable defaults.
8125         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
8126         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
8127         'extensions' module is used.
8128         * modules/extensions (configure.ac-early): Remove as this snippet
8129         is added to gnulib-comp.m4 earlier anyway.
8131 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
8133         sockets: MS Windows initalization fixes
8134         Problem reported by Test User in:
8135         http://lists.gnu.org/archive/html/help-shishi/2015-09/msg00001.html
8136         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
8137         Correct the endianness.
8138         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
8139         number mismatch, not just on <.  Cleanup before any such failure.
8141 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
8143         gc: fix detection of installed libgcrypt version
8144         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
8145         at least as recent as 1.4.4.  The previously used macro is not
8146         available now, since modules were removed in version 1.6.0.
8148 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
8150         c-ctype: rewrite to use inline functions
8151         This simplifies maintenance, since it makes for just one
8152         implementation of each function, letting the compiler have the fun
8153         of optimization.  In practice this works well nowadays with GCC.
8154         E.g., c_isascii might need only three instructions even though the
8155         source code lists every ASCII character individually in a large
8156         switch statement.
8157         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
8158         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00037.html
8159         * NEWS: Document the API change.
8160         * lib/c-ctype.c: Drastically simplify, since this now just expands
8161         inline functions.
8162         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
8163         (C_CTYPE_INLINE): New macro.
8164         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
8165         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
8166         Verify that either ASCII or EBCDIC is being used.
8167         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
8168         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
8169         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
8170         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
8171         New private macros.
8172         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
8173         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
8174         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
8175         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
8176         (c_tolower, c_toupper): When converting, return the unsigned char,
8177         as that is what z/OS does.
8178         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
8179         of some c-ctype.h macros.
8180         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
8181         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
8182         c_tolower promotion to be compatible with z/OS.
8184 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
8186         gitlog-to-changelog: trim only trailing whitespaces
8187         This is fix for --format regression introduced by commit
8188         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
8189         doubled %n string) had no effect anymore.  This format
8190         specification has been used e.g. by GNU paxuitils (commit
8191         edfd8bcc3).
8193         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
8194         newlines in commmit messages.
8196 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8198         Test that c_iscntrl agrees with iscntrl, etc.
8199         Suggested by Daniel Richard G. in:
8200         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00034.html
8201         * modules/c-ctype-tests (Depends-on): Add ctype.
8202         * tests/test-c-ctype.c: Include <ctype.h>.
8203         (NCHARS): New constant.
8204         (test_agree_with_C_locale): New function.
8205         (main): Use it.
8206         (test_all): Use named constants.
8208         c-ctype: improve c_isascii testing
8209         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
8210         Add a test to count the number of ASCII characters.
8212 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8214         savewd: remove SAVEWD_CHDIR_READABLE
8215         It was problematic in the light of file systems that ignore umask.
8216         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
8217         * NEWS: Document this.
8218         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
8219         successful, -1 (setting errno) on failure, rather than something
8220         more complicated than that.
8221         * lib/mkdir-p.c (make_dir_parents):
8222         Do not use SAVEWD_CHDIR_READABLE.
8223         * lib/savewd.c (savewd_chdir):
8224         Remove support for SAVEWD_CHDIR_READABLE.
8225         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
8227         c-ctype: port better to EBCDIC
8228         Problems reported by Daniel Richard G. in
8229         http://lists.gnu.org/archive/html/bug-gnulib/2015-09/msg00020.html
8230         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
8231         Include "verify.h".
8232         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
8233         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
8234         Define as enum constants with value false, if not defined, so that
8235         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
8236         code more portable, as both branches of the 'if' are compiled on
8237         all platforms.
8238         (C_CTYPE_EBCDIC): New constant.
8239         Verify that the character set is either ASCII or EBCDIC.
8240         (to_char): New static function.
8241         (c_isascii, c_iscntrl):
8242         Assume standard control-character assignments for EBCDIC.
8243         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
8244         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
8245         Rewrite to use 'if' instead of 'ifdef'.
8246         Use to_char if non-ASCII.  Prefer <= to >=.
8247         Prefer true and false to 1 and 0, for booleans.
8248         (c_iscntrl): Use 'if', not 'ifdef'.
8249         * modules/c-ctype (Depends-on): Add verify.
8250         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
8251         (to_char): New function.
8252         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
8254 2015-09-21  Pádraig Brady  <P@draigBrady.com>
8256         nanosleep: fix return code for interrupted replacement
8257         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
8258         that we return -1 in the case the call is interrupted by a signal,
8259         rather than the current value of 1.
8260         Diagnosed and tested by Daniel Richard G.
8262 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
8264         Diagnose ERE '()|\1'
8265         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
8266         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
8267         track of the set of previously-completed subexpressions available
8268         before the first alternative, and restore this set just before
8269         parsing each subsequent alternative.  This lets us diagnose the
8270         invalid back-reference in the ERE '()|\1'.
8272         regex: merge patches from libc
8274         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
8275         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
8276         * lib/regex_internal.h:
8277         Include <libc-lock.h> instead of <bits/libc-lock.h>.
8279         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
8280         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
8281         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
8282         wcscoll.
8283         * lib/regexec.c (check_node_accept_bytes): Likewise.
8285         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
8286         Fix regex wcrtomb namespace (bug 18496).
8287         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
8288         instead of wcrtomb.
8290         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
8291         Fix regex wctype namespace (bug 18495).
8292         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
8293         instead of towlower.
8294         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
8295         instead of iswlower.  Call __towupper instead of towupper.
8296         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
8297         instead of iswalnum.
8299         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
8300         * lib/regcomp.c (parse_bracket_exp): Initialize type to
8301         COLL_SYM in a couple of places to avoid uninitialized variable
8302         wanings on tilegx gcc 4.8.2.
8304         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
8305         * lib/regex_internal.h: Remove NOT_IN_libc.
8307         2014-11-17  Andreas Schwab  <schwab@suse.de>
8308         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
8310         2014-09-11  Roland McGrath  <roland@hack.frob.com>
8311         Move findidx nested functions to top-level.
8312         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
8313         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
8314         Pass new arguments to findidx.
8315         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
8316         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
8317         Don't #include it inside the function.  Pass new arguments to findidx.
8318         * lib/regex_internal.h:
8319         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
8320         (re_string_elem_size_at): Don't #include it inside the function.
8321         Pass new arguments to findidx.
8323         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
8324         Check if DEBUG is defined in regex_internal.c
8325         * lib/regex_internal.c: Check if DEBUG is defined and is set.
8327 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
8329         ceill: detect buggy OpenBSD implementation
8330         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
8331         which returns zero for small values.  Discussed here:
8332         http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00010.html
8334 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
8336         mountlist: add me_mntroot field on Linux machines
8337         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
8338         mount_entry so Linux machines based on /proc/self/mountinfo can
8339         distinguish between bind mounts and original mounts.  In reality bind
8340         mounts aren't treated differently than mountroot=/ mounts by the
8341         kernel, but the user often wants these bind mounts distinguished.
8342         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
8343         More details at https://pad.lv/1432871
8345 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
8347         doc: Describe to use multiple instances of gnulib
8348         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
8349         instances of gnulib with different modules can be used, for example one
8350         for a lib and another one for associated tools.
8352 2015-09-01  Pádraig Brady  <P@draigBrady.com>
8354         base32: mark function as __attribute__ const
8355         * lib/base32.h (isbase32): Mark __attribute__ const as
8356         suggested by GCC, and consistent with the base64 module.
8358 2015-08-20  Daiki Ueno  <ueno@gnu.org>
8360         gnulib-tool: don't transform binary files with sed
8361         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
8362         .mo and .class files.
8363         Reported by Denis Denisov.
8365 2015-08-10  Daiki Ueno  <ueno@gnu.org>
8367         gperf: respect silent rules
8368         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
8369         V_GPERF_0 for silent rules.
8370         * modules/iconv_open (Makefile.am): Use V_GPERF.
8371         * modules/unicase/locale-language (Makefile.am): Likewise.
8372         * modules/unicase/special-casing (Makefile.am): Likewise.
8373         * modules/unictype/category-byname (Makefile.am): Likewise.
8374         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
8375         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
8376         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
8377         * modules/unictype/property-byname (Makefile.am): Likewise.
8378         * modules/unictype/scripts (Makefile.am): Likewise.
8379         * modules/uninorm/composition (Makefile.am): Likewise.
8381 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
8383         Improve port of stdalign to C++11
8384         Problem reported by Sundaram in:
8385         http://lists.gnu.org/archive/html/bug-gnulib/2015-08/msg00003.html
8386         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
8387         (__alignas_is_defined): Define if C++11 or newer.
8389 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
8391         pmccabe2html: fix gawk regex escaping
8392         * build-aux/pmccabe2html: Add one more backslash to properly
8393         escape the gsub replacement value.  Fixes this error:
8394         gawk: ./build-aux/pmccabe2html:425: \
8395         warning: escape sequence `\&' treated as plain `&'
8397 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
8399         time_rz: port to pedantic memcpy
8400         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
8401         that reject memcpy (..., NULL, 0).
8403 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
8405         time_rz: port better to MinGW
8406         Don't change tzname, as this makes MinGW dump core (Bug#21020).
8407         Instead, store the tzname copy in the struct tm_zone object.
8408         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
8409         * lib/strftime.c [!_LIBC]:
8410         * lib/time_rz.c: Include time-internal.h.
8411         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
8412         name from *TZ rather than from TZNAME, doable because *TZ now has
8413         a tzname_copy member.
8414         * lib/time-internal.h: New file, with contents taken from
8415         lib/time_rz.c.  It's separate because strftime.c now accesses
8416         struct tm_zone members.
8417         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
8418         New member tzname_copy.
8419         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
8420         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
8421         Initialize tzname_copy member.
8422         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
8423         in tzname_copy member.
8424         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
8425         (restore_tzname): Remove; no longer needed.  All calls removed.
8426         * modules/time_rz (Files): Add lib/time-internal.h.
8428         time: port __need_time_t to MinGW
8429         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
8430         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
8432 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
8434         strftime: fix newly-introduced bug on Solaris
8435         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
8436         consistently at the start, rather than doing some of the setup at
8437         the start and some in the %Z format spec.  This is cleaner, and
8438         works better with time_rz on platforms like Solaris where struct
8439         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
8440         mktime_z and localtime_rz can mess up the tzname cache.
8442         test-strftime: test for Solaris bug
8443         * modules/strftime-tests (Depends-on): Add strerror.
8444         * tests/test-strftime.c: Include <errno.h>.
8445         (posixtm_test): New function, containing the old 'main'.
8446         (struct tzalloc_test, struct localtime_rz_test): New types.
8447         (TZ, LT): New static vars.
8448         (tzalloc_test): New function.
8449         (main): Rewrite in terms of posixtm_test and tzalloc_test.
8451         time_rz: port to Solaris etc.
8452         Works around a tzname problem on platforms like Solaris that have
8453         tzname but not tm_zone, by setting tzname at the appropriate time
8454         and restoring it later.
8455         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
8456         New static vars.
8457         (save_abbr) [HAVE_TZNAME]: Set them.
8458         (revert_tz) [HAVE_TZNAME]: Clear or use them.
8459         (restore_tzname): New function.
8460         (localtime_rz, mktime_z): Use it.
8462         time_rz: now LGPL
8463         * modules/time_rz (License): Now LGPL, because strftime depends on it.
8465         time_rz: make a constant 'const'
8466         * lib/time_rz.c (local_tz): Now const.
8468         time_rz: fix off-by-one typo
8469         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
8471 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
8473         fprintftime, strftime: use timezone_t args
8474         * NEWS: Document the change.
8475         * lib/fprintftime.h (fprintftime):
8476         * lib/strftime.c (extra_args) [my_strftime]:
8477         * lib/strftime.h (nstrftime):
8478         Time zone arg is now of type timezone_t, not int.
8479         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
8480         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
8481         (my_strftime) [emacs && !my_strftime]:
8482         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
8483         Remove; Emacs doesn't need this any more.
8484         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
8485         fprintftime and nstrftime to call tzset.
8486         (ut) [!my_strftime]: Remove, replacing with ...
8487         (tz) [!my_stftime]: ... this new macro.  All uses changed.
8488         (strftime_case_): Use localtime_rz and mktime_z instead
8489         of localtime_r and mktime.
8490         * modules/fprintftime (Depends-on): Add time_rz.
8491         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
8492         * tests/test-strftime.c (main): Adjust to new nstrftime API.
8494         time_rz: new module
8495         * MODULES.html.sh: Add time_rz.
8496         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
8497         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
8498         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
8499         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
8500         New var HAVE_TIMEZONE_T (default 0).
8501         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
8502         New var GNULIB_TIME_RZ (default 0).
8503         * modules/time (time.h): Substitute the new vars.
8505         flexmember: license is now unlimited
8506         * modules/flexmember (License): Change to unlimited,
8507         since its only source file gives an unlimited license.
8509 2015-07-15  Eric Blake  <eblake@redhat.com>
8511         maint: update copyright paper procedures
8512         * config/srclist.txt: Drop outdated files.
8513         * doc/Copyright/conditions.txt: Update to latest.
8514         * doc/Copyright/assign.changes.manual: Delete.
8515         * doc/Copyright/assign.future.manual: Likewise.
8516         * doc/Copyright/assign.manual: Likewise.
8517         * doc/Copyright/assign.translation.manual: Likewise.
8518         * doc/Copyright/disclaim.changes.manual: Likewise.
8519         * doc/Copyright/disclaim.manual: Likewise.
8520         * doc/Copyright/disclaim.program: Likewise.
8522 2015-07-07  Daiki Ueno  <ueno@gnu.org>
8524         localename: fix link error on Illumos
8525         Illumos defines __sun, but does not have getlocalename_l nor the
8526         equivalent.  This partially reverts commit 387c214.
8527         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
8528         available, as well as uselocale.
8529         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
8530         use getlocalename_l if it is not available.
8532 2015-07-07  Daiki Ueno  <ueno@gnu.org>
8534         unistr/uN-strtok-tests: avoid a trivial leak
8535         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
8536         input and delim after the multibyte delimiter tests.
8538 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
8540         file-has-acl, acl-permissions: fix HP-UX typos
8541         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
8542         * lib/file-has-acl.c (file_has_acl):
8543         * lib/set-permissions.c (context_acl_from_mode)
8544         (context_aclv_from_mode, set_acls):
8545         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
8546         They were introduced by the recent ACL changes.
8548         regex: match current GNU grep behavior
8549         These symbols have not matched GNU grep behavior for quite some time.
8550         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
8551         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
8552         Change to match current GNU behavior.
8553         Simplify by expressing it as differences from POSIX BREs and EREs.
8554         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
8556 2015-07-03  Jim Meyering  <meyering@fb.com>
8558         set-permissions.c: adjust acl_from_mode's cpp guard
8559         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
8560         directives identical to those guarding the sole use.
8561         Otherwise, on some systems, we'd get a warning about
8562         the function being defined but not used.
8563         Also, filter through cppi to correct misleading indentation
8564         of cpp directives.
8566 2015-07-03  Pádraig Brady  <P@draigBrady.com>
8568         tests: restrict shells to those that support 'local'
8569         The local keyword is very widely supported and used
8570         in tests in coreutils and grep at least.  Therefore
8571         restrict to testing with shells that support it.
8572         This mainly excludes /bin/sh on Solaris.
8573         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
8575 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
8576         and Daiki Ueno  <ueno@gnu.org>
8578         unistr/uN-strtok: handle multibyte delimiters
8579         Previously, uN_strtok moved PTR to the next unit to the token end.
8580         When DELIM contained a multibyte character, the new position could
8581         be a middle of a multibyte character.
8582         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
8583         after the token.
8584         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
8585         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
8586         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
8587         * modules/unistr/u8-strtok (Depends-on): Depend on
8588         unistr/u8-strmblen.
8589         * modules/unistr/u16-strtok (Depends-on): Depend on
8590         unistr/u16-strmblen.
8591         * modules/unistr/u32-strtok (Depends-on): Depend on
8592         unistr/u32-strmblen.
8593         * tests/unistr/test-u-strtok.h: New file.
8594         * tests/unistr/test-u8-strtok.c: New file.
8595         * tests/unistr/test-u16-strtok.c: New file.
8596         * tests/unistr/test-u32-strtok.c: New file.
8597         * modules/unistr/u8-strtok-tests: New file.
8598         * modules/unistr/u32-strtok-tests: New file.
8599         * modules/unistr/u16-strtok-tests: New file.
8601 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
8603         update-copyright: fix test failure with perl >= 5.22 (trivial)
8604         * build-aux/update-copyright: Escape a literal left curly bracket,
8605         required with perl >= 5.22
8607 2015-07-02  Daiki Ueno  <ueno@gnu.org>
8609         u{16,32}-strstr-tests: relax timeout condition
8610         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
8611         tests can take longer than 5 seconds to complete.
8612         Reported by Dagobert Michelsen in:
8613         https://lists.gnu.org/archive/html/bug-libunistring/2015-06/msg00006.html
8614         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
8615         seconds to 10 seconds.
8616         * tests/unistr/test-u32-strstr.c (main): Likewise.
8618 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
8620         gnulib-common.m4: change the ARFLAGS default to 'cr'
8621         In some GNU/Linux distributions people started to compile 'ar'
8622         binary with --enable-deterministic-archives (binutils project).
8623         That, however, in combination with previous autotools long time
8624         working default AR{_,}FLAGS=cru causes warnings on such
8625         installations:
8626         ar: `u' modifier ignored since `D' is the default (see `U')
8627         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
8628         set already.
8630 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
8632         selinux-h: avoid double free after *getfilecon()
8633         Originally reported by Ben Shelton on bug-tar:
8634         http://lists.gnu.org/archive/html/bug-tar/2015-04/msg00009.html
8635         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
8636         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
8637         param should be freed by freecon(3) (regardless the return value).
8639 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
8641         fix pty related tests issues on Windows (trivial)
8642         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
8643         however it's still present in tests/ subdirectory of the final project.
8644         Therefore avoid it to pass `make check`.
8645         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
8646         will just return -ENOSYS, so avoid this non applicable test allowing
8647         the build to proceed.
8649 2015-07-01  Pádraig Brady  <P@draigBrady.com>
8651         acl: fix definition of acl_from_mode on FreeBSD
8652         This was causing basic coreutils copy operations to fail
8653         with ENOTSUP or ENOENT error messages.
8654         * lib/acl-internal.h (acl_from_mode): Only define when
8655         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
8656         of acl_from_mode() defined in lib/set-permissions.c to
8657         be used on FreeBSD at least.
8658         * lib/set-permissions.c: Fix up comment spelling,
8659         and a redundant variable assignment; noticed in passing.
8661 2015-06-30  Pádraig Brady  <P@draigBrady.com>
8663         readutmp: port to FreeBSD >= 9
8664         * lib/readutmp.h: Map utmpxname() to setutxdb().
8665         With that coreutils who(1) and pinky(1) tests pass.
8667 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8669         mgetgroups: port to strict OS X
8670         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
8671         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
8672         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
8673         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
8675 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
8677         mgetgroups: port to strict OS X
8678         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
8679         Document the getgrouplist problem.
8680         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
8681         New macro.
8682         (mgetgroups): Use it.
8683         * m4/mgetgroups.m4 (gl_MGETGROUPS):
8684         Check for OS X signature for getgrouplist.
8686 2015-06-29  Jim Meyering  <meyering@fb.com>
8688         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
8689         It started like this when building coreutils' latest on OS X,
8690         invoking ./configure with a nonempty --cache=.cache:
8692           lib/linkat.c:46:42: error: operator '||' has no right operand
8693           lib/linkat.c: In function 'rpl_linkat':
8694           lib/linkat.c:330:27: error: #if with no expression
8696         Here's linkat.c's line 46:
8698           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
8700         Here's some context:
8702           $ grep linkat_nofoll .cache
8703           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
8704           $ grep LINKAT_SYM lib/config.h
8705           #define LINKAT_SYMLINK_NOTSUP
8707         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
8708         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
8709         but that violates a tenet of AC_CACHE_CHECK: it must
8710         have no side effect other than setting its cache variable.
8712         What happens is that when the cache is set, we'd skip the
8713         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
8714         defined to whatever value it happened to have in configure's
8715         environment.  In my case, it was not defined, so this later code:
8717           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
8718             [Define to 1 if linkat can create hardlinks to symlinks])
8720         would emit code with an empty RHS.
8722         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
8723         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
8725 2015-06-28  Jim Meyering  <meyering@fb.com>
8727         mountlist: avoid an unused-label warning on OS X
8728         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
8729         Building on OS X, I saw a warning about the "free_then_fail" label
8730         being unused.  Give it the _GL_UNUSED_LABEL attribute.
8732         error.c: correct printf-style format: %d -> %u
8733         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
8734         rather than %d, to match the type of "line_number", unsigned int.
8736 2015-06-25  Pádraig Brady  <P@draigBrady.com>
8738         fts: avoid reading beyond the heap allocation
8739         GCC 5.1.1 with -O2 and -fsanitize=address reports
8740         a read of size 4 from a heap object of size 3 is indeed invalid,
8741         though this may be due to incorrect padding assumptions by GCC, see:
8742         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
8743         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
8744         * modules/fts: Depend on stdalign.
8746 2015-06-24  Pádraig Brady  <P@draigBrady.com>
8748         savedir: avoid undefined behavior in qsort call
8749         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
8750         "runtime error: null pointer passed as argument 1,
8751          which is declared to never be null"
8752         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
8754 2015-06-24  Pádraig Brady  <P@draigBrady.com>
8756         userspec: avoid undefined behavior in gettext call
8757         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
8758         "runtime error: null pointer passed as argument 2,
8759          which is declared to never be null"
8760         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
8762 2015-06-20  Glenn Morris  <rgm@gnu.org>
8764         gitlog-to-changelog: improve gitmerge.el commits
8765         Let the Emacs ChangeLog generation process exclude "skipped"
8766         messages from merge commits (Bug#20717).
8767         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
8769 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8771         wchar: fix MinGW compilation warnings
8772         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
8773         http://lists.gnu.org/archive/html/bug-gnulib/2015-06/msg00050.html
8774         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
8776 2015-06-20  Daiki Ueno  <ueno@gnu.org>
8778         uniname/uniname-tests: use pristine data files
8779         For copyright and maintenance reasons, use the data files from UCD
8780         without modification.
8781         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
8782         (getfield): Remove.
8783         (aliases_count): New global variable.
8784         (fill_names): Skip comments and empty lines in the input.  Don't
8785         use getfield.
8786         (fill_aliases): Likewise.
8787         (main): Change the expected command line arguments to:
8788         NAMES... ["--" ALIASES...].
8789         * tests/uniname/test-uninames.sh: Adjust to the change in
8790         test-uninames.c.
8791         * tests/uniname/UnicodeDataNames.txt: Remove.
8792         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
8793         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
8794         file from Unicode 8.0.0.
8796 2015-06-19  Pádraig Brady  <P@draigBrady.com>
8798         linked-list, linkedhash-list: avoid compiler warnings
8799         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
8800         -Werror=suggest-attribute=pure (from GCC 5.1.1).
8802 2015-06-19  Daiki Ueno  <ueno@gnu.org>
8804         libunistring: bump minimum version to 0.9.6
8805         * all modules depending on updated Unicode data: Regenerate.
8806         The modules are listed by a script that does:
8807         - for each file listed by: git show --oneline --name-only 705f4efc
8808           - deduce the containing modules, based on "Files:"
8809         - deduce the modules which depend on the containing modules, based
8810           on "Depends-on:"
8812 2015-06-18  Daiki Ueno  <ueno@gnu.org>
8814         uniname/uniname: update to Unicode 8.0.0
8815         * lib/uniname/uninames.h: Regenerate.
8816         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
8817         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
8819 2015-06-18  Daiki Ueno  <ueno@gnu.org>
8821         libunistring: update to Unicode 8.0.0
8822         * lib/gen-uni-tables.c (SIZEOF): New macro.
8823         (output_numeric): Increase the maximum number of fractions from
8824         128 to 160.  Increase the level3 value width from 7 bits to 8
8825         bits.  Use SIZEOF instead of a hard-coded integer.
8826         (output_blocks): Decrease the cut-off threshold from 0x30000 to
8827         0x28000.
8828         (fill_blocks): Increase the maximum number of blocks from 256 to
8829         384.  Use SIZEOF instead of a hard-coded integer.
8830         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
8831         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
8832         value width.
8833         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
8834         a new case added to LBP22.
8835         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
8836         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
8837         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
8838         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
8839         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
8840         * tests/uniwidth/test-uc_width2.sh: Same updates as in
8841         lib/uniwidth/width.c.
8842         * all generated files under lib/uni* and tests/uni*: Regenerate.
8844 2015-06-16  Pádraig Brady  <P@draigBrady.com>
8846         gnu-web-doc-update: add --mirror to remove stale files
8847         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
8848         out of date files from the CVS server.  Since this is usually
8849         appropriate, a prompt is given when the option is not specified,
8850         along with the `cvs remove` command that would be run.
8852 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
8854         acl-permissions: pacify -Wsuggest-attribute=const
8855         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
8856         * lib/acl-internal.h (free_permission_context):
8857         Declare with attribute const if ! (defined USE_ACL &&
8858         (HAVE_ACL_GET_FILE || defined GETACL)).
8860         fsync: document AIX misbehavior
8861         * doc/posix-functions/fsync.texi (fsync):
8862         Document failure on AIX with read-only file descriptor.
8864 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
8866         stdio: Don't redefine gets when using C++
8867         * lib/stdio.in.h (gets): Disable warning on C++.
8869 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
8871         acl-permissions: port to AIX, C89 HP-UX
8872         Problems reported by Michael Felt.
8873         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
8874         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
8875         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
8876         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
8877         Add cast for AIX, whose system calls are declared to accept
8878         char * even though the arguments are really char const *.
8879         * lib/get-permissions.c (get_permissions):
8880         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
8881         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
8882         that broke a build.
8883         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
8884         Rework types to pacify xlc.
8886 2015-06-03  Pádraig Brady  <P@draigBrady.com>
8888         vasprintf-posix: avoid compiling vasnprintf where possible
8889         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
8890         module where not required.  For example on a GNU/Linux system
8891         when gnulib-tool is run with the --conditional-dependencies option.
8893 2015-06-02  Pádraig Brady  <P@draigBrady.com>
8895         file-has-acl: fix build on Mac OS X 10
8896         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
8897         which has an incompatible 6 parameter getxattr() call.
8898         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
8899         call on Mac OS X >= 10.4.
8900         * doc/glibc-functions/fgetxattr.texi: Likewise.
8901         * lib/file-has-acl.c: Revert to more complete combined check.
8902         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
8903         Reported by Jack Howarth.
8905 2015-06-02  Pádraig Brady  <P@draigBrady.com>
8907         prefix-gnulib-mk: remove no longer needed special case
8908         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
8909         continued lib_SOURCES lines are no longer present,
8910         so special case handling of such entries is not required.
8912 2015-06-01  Pádraig Brady  <P@draigBrady.com>
8914         acl: don't depend on the deprecated qacl module
8915         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
8917 2015-06-01  Pádraig Brady  <P@draigBrady.com>
8919         gnulib-tool: concatenate lib_SOURCES to a single line
8920         * gnulib-tool: Refactor the line merging sed logic,
8921         and use that to output a single lib_SOURCES line for each module.
8922         gnulib using projects often postprocess this output to prepend
8923         subdir paths to each item, and having a single line simplifies this
8924         processing allowing better decoupling from the gnulib-tool output.
8926 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
8928         pthread_sigmask: discount system version if a simple macro (trivial)
8929         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
8930         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
8931         function to ensure it's available.
8933 2015-05-31  Pádraig Brady  <P@draigBrady.com>
8935         readlinkat: avoid OS X 10.10 trailing slash bug
8936         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
8937         has this bug.
8938         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
8939         that OS X 10.10 has this function.
8940         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
8941         as done for readlink().
8942         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
8943         trailing slash bug, and assume readlinkat() has the same issue.
8944         Also fix a typo where $gl_cv_decl_readlink_works was tested,
8945         rather than the correct $gl_cv_decl_readlinkat_works.
8947 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
8949         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
8950         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
8951         module rewrite.
8953         acl-permissions: Fix build on Solaris and Cygwin
8954         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
8955         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
8956         ace_entries variables have moved into struct permission_context but
8957         they were still accessed as local variables here.
8959 2015-05-29  Pádraig Brady  <P@draigBrady.com>
8961         linkat: avoid OS X 10.10 trailing slash with symlink bug
8962         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
8963         causes the symlink to be dereferenced, and if it points
8964         to a non existent file, that file will be created as
8965         a hard link to "path1".
8966         This fixes a test failure in test-linkat.c.
8967         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
8968         this case.  The existing workaround in linkat.c for
8969         trailing slash issues, suffices for this case.
8970         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
8971         the list of platforms with trailing slash issues.
8973 2015-05-28  Pádraig Brady  <P@draigBrady.com>
8975         unlinkat: handle ignoring of ".." on Darwin 14
8976         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
8977         on Mac OS X 10.10, where it ignores paths with a trailing "..",
8978         so handle in the same manner.
8979         * m4/unlinkat.m4: Comment on this Darwin issue.
8980         * doc/posix-functions/unlink.texi: Update the latest version
8981         where the issue was seen.
8982         * doc/posix-functions/unlinkat.texi: Mention this issue.
8983         Fixes a test failure in test-unlinkat.c.
8985 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
8987         qacl: split into qcopy-acl and qset-acl
8988         Emacs needs the former, but not the latter.
8989         * modules/acl-permissions: New file, containing most of the old qacl.
8990         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
8991         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
8992         * modules/qcopy-acl, modules/qset-acl: New files.
8993         * MODULES.html.sh (File system functions):
8994         Mention the new modules, and mention qacl while we're at it.
8996 2015-05-27  Glenn Morris  <rgm@gnu.org>
8998         gitlog-to-changelog: new option --ignore-line
8999         (This patch is imported from the GNU Emacs master.)
9000         This option ignores individual commit lines matching a pattern.
9001         * build-aux/gitlog-to-changelog: Add --ignore-line option.
9003 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
9005         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
9006         Implement get_permissions and set_permissions primitives for getting all
9007         the permissions of a file, storing them, and later setting them. (In the
9008         minimal case, the permissions consist only of a file mode.) Reimplement
9009         qset_acl and qcopy_acl based on these new primitives: this avoids code
9010         duplication and makes error handling more consistent.
9011         The Solaris and Cygwin code still uses duplicate code paths for setting
9012         a file mode while making sure that no acls exist and setting an explicit
9013         acl; this is no worse than before, but could be cleaned up.  The AIX
9014         code still doesn't read ACLs, it only makes sure that acls don't get in
9015         the way when setting a file mode.
9016         * lib/acl-internal.h (struct permission_context): New data structure.
9017         (get_permissions, set_permissions, free_permission_context): Declare.
9018         * lib/acl-internal.c (free_permission_context): New helper function.
9019         * lib/get-permissions.c (get_permissions): New helper function split off
9020         from qcopy_acl.
9021         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
9022         AIX, set a file's permissions based only on a file mode.
9023         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
9024         other platforms construct a temporary acl from the file mode and set
9025         that acl in the same way as setting an acl read from the source file.
9026         This should help avoid code duplication and inconsistent / buggy
9027         behavior.
9028         (set_acls): New helper function Split off from qcopy_acl.
9029         (chmod_or_fchmod): Moved here from qset-acl.c.
9030         (set_permissions): New helper function.
9031         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
9032         set_permissions.
9033         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
9034         * modules/qacl: Add get-permissions.c and set-permissions.c.
9036         file-has-acl: Split feature tests again (Bug#20667)
9037         * lib/file-has-acl.c: Instead of testing for
9038         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
9039         define them when needed.
9040         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
9041         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
9043 2015-05-27  Pádraig Brady  <P@draigBrady.com>
9045         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
9046         This avoids a conflict with "FORTIFY_SOURCE" variants
9047         of the string functions when they're replaced on NetBSD-6.0.1
9048         and Darwin-14.3.0 at least.
9049         * lib/string.in.h: Avoid including our "lib/string.h" while
9050         including the system <string.h>.
9052 2015-05-26  Eric Blake  <eblake@redhat.com>
9054         stdio: limit __gnu_printf__ witness to gcc 4.4+
9055         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
9056         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
9058         error: use correct printf attributes on mingw
9059         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
9061         inttypes: force correct mingw PRIdMAX even without <stdio.h>
9062         * modules/inttypes (Depends-on): Require extensions, so that mingw
9063         always uses GNU style inttypes.
9064         * lib/inttypes.in.h: On mingw, include <stdio.h>.
9066         stdio: fix probe on mingw under gcc 5.1
9067         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
9068         around new gcc preprocessor rules.
9070 2015-05-07  Glenn Morris  <rgm@gnu.org>
9072         gitlog-to-changelog: parse "Tiny-change"
9073         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
9074         "Copyright-paperwork-exempt".  (Bug#20324)
9076 2015-05-06  Pádraig Brady  <P@draigBrady.com>
9078         doc: document glibc posix_fallocate() issues
9079         * doc/posix-functions/posix_fallocate.texi: Mention the
9080         glibc efficiency problems and issues with NFS.
9082 2015-05-05  Karl Berry  <karl@freefriends.org>
9084         * build-aux/gendocs.sh (usage): document new css default
9085         for HTML (--htmlarg).
9087 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
9089         extern-inline: no need for workaround in GCC 5.1
9090         * doc/extern-inline.texi (extern inline):
9091         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
9092         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
9093         around these bugs in GCC 5.1 and later.  Maybe in a decade or
9094         two we can remove these workarounds.
9096 2015-04-28  Pádraig Brady  <P@draigBrady.com>
9098         eealloc, pagealign_alloc, xalloc: avoid clang warnings
9099         Avoid [-Wunknown-attributes] warnings like:
9100         warning: unknown attribute '__alloc_size__' ignored
9101         * lib/xalloc.h: Don't use the __alloc_size__  attribute
9102         with clang, as support has been fully removed as of clang 3.5:
9103         https://github.com/llvm-mirror/clang/commit/c047507a
9104         * lib/eealloc.h: Likewise.
9105         * lib/pagealign_alloc.h: Likewise.
9107 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
9109         tests: pacify GCC 5.1's stricter printf checking
9110         * tests/test-dirname.c (main):
9111         * tests/test-getaddrinfo.c (simple):
9112         * tests/test-getlogin.c (main):
9113         * tests/test-getndelim2.c (main):
9114         * tests/test-inttostr.c (CK):
9115         * tests/test-md5.c (main):
9116         * tests/test-read-file.c (main):
9117         * tests/test-sha1.c (main):
9118         Fix mismatches between printf format and value signedness.
9119         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
9120         Remove, as CAST_VAL always returned a value of type uintmax_t.
9122         fts: port to GCC 5.1 with --enable-gcc-warnings
9123         Without this fix, GCC 5.1 (correctly) warns about a subscript
9124         error on the fts_name component of FTSENT.  It's actually a
9125         flexible member, so define it that way on C99 or later hosts.
9126         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
9127         structure that now has a flexible array member.
9128         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
9129         (FTSENT): fts_name is now flexible on C99-or-later platforms.
9130         * modules/fts (Depends-on): Add flexmember.
9132 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
9134         file-has-acl: port to CentOS 6
9135         Problem reported by Tom G. Christensen in:
9136         http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00074.html
9137         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
9138         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
9139         HAVE_GETXATTR.
9140         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
9141         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
9142         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
9143         file-has-acl.c actually needs.
9145 2015-04-26  Pádraig Brady  <P@draigBrady.com>
9147         file-has-acl: always return false when ACLs aren't supported
9148         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
9149         change the GNU/Linux getxattr path, to transform "not supported"
9150         errors to a false return rather than an error.  This is handled
9151         within file_has_acl() due to the platform specific tests to
9152         determine if ACLs are not supported.
9154 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
9156         gettext: propagate po/Makefile.in.in too
9157         * build-aux/po/Makefile.in.in: Copy from latest gettext.
9158         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
9159         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
9160         between Makefile.in.in and the gettext-runtime m4 files.
9162 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
9164         file-has-acl: new module, split from acl
9165         And add a new module file-has-acl-tests to match.
9166         I ran into a problem with the recent changes to the acl module,
9167         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
9168         When using the fixed version with Emacs, I discovered that
9169         file-has-acl wasn't separated out well enough for Emacs (e.g., it
9170         had multiple libraries, but needed only one), so I fixed that too.
9171         * NEWS: Document this incompatible change.
9172         * modules/file-has-acl, modules/file-has-acl-tests: New files.
9173         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
9174         Initialize gl_need_lib_has_acl.
9175         (gl_FUNC_ACL): Require it.
9176         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
9177         Move the file-has-acl.c-relevant stuff to ...
9178         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
9179         use_xattrs = 0' typo, and omit some needless work.  Set
9180         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
9181         when gl_FUNC_ACL is called.
9182         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
9183         (Link): Remove $(LIB_HAS_ACL).
9184         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
9185         (check_PROGRAMS): Move stuff relevant to file-has-acl to
9186         modules/file-has-acl-tests.
9187         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
9189         manywarnings: add GCC 5.1 warnings
9190         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
9191         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
9192         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
9193         -Wsuggest-override, -Wuse-without-only.  Change
9194         -Wnormalized=... operands to match 5.1.
9195         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
9196         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
9197         -Wdiscarded-qualifiers, -Wformat-signedness,
9198         -Wincompatible-pointer-types, -Wint-conversion,
9199         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
9200         -Wshift-count-negative, -Wshift-count-overflow,
9201         -Wsizeof-array-argument, -Wsuggest-final-methods,
9202         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
9203         and add -Warray-bounds=2 as a special case.
9205 2015-04-21  Simon Josefsson  <simon@josefsson.org>
9207         doc: update FDL template to match FDL examples.
9208         * doc/alloca-opt.texi:
9209         * doc/alloca.texi:
9210         * doc/c-ctype.texi:
9211         * doc/c-strcase.texi:
9212         * doc/c-strcaseeq.texi:
9213         * doc/c-strcasestr.texi:
9214         * doc/c-strstr.texi:
9215         * doc/c-strtod.texi:
9216         * doc/c-strtold.texi:
9217         * doc/ctime.texi:
9218         * doc/error.texi:
9219         * doc/gcd.texi:
9220         * doc/gnulib-tool.texi:
9221         * doc/inet_ntoa.texi:
9222         * doc/intprops.texi:
9223         * doc/lib-symbol-visibility.texi:
9224         * doc/maintain.texi:
9225         * doc/parse-datetime.texi:
9226         * doc/quote.texi:
9227         * doc/regexprops-generic.texi:
9228         * doc/standards.texi: Remove spurious 'with' in FDL license
9229         template.
9231 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
9233         lstat: fix cross-compilation 'ln -s' problem
9234         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9235         Have the test program call 'symlink' rather than a separate
9236         script run 'ln -s'; this is more likely to work in
9237         cross-compilation environments.  Reported by Pavel Fedin in:
9238         http://lists.gnu.org/archive/html/bug-gnulib/2015-04/msg00060.html
9240 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
9242         gendocs.sh: default to a common CSS style sheet for HTML output
9243         * build-aux/gendocs.sh (htmlarg): Change default value.
9245 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
9247         gnulib-tool: output bold attribute more portably
9248         * gnulib-tool (func_show_module_list): Change hexadecimal
9249         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
9250         encoded numbers as arguments to `printf' is not portable,
9251         and is not claimed by POSIX.  This is the case with FreeBSD.
9253 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
9255         qacl: Simplify HP-UX acl_nontrivial check
9256         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
9257         acl_nontrivial. Check if the acl has at most three entries instead (it must
9258         have exactly three entries according to the HP-UX documentation). Ignore
9259         uids and gids as long as an entry is either for a user (i.e., the owner),
9260         a group (i.e., the owning group), or others.
9261         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
9262         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
9264 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
9266         acl: On Linux, check for acls without libacl
9267         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
9268         library function to check for the presence of acls, avoiding a library.
9269         * lib/file-has-acl.c: Include xattr headers if we have them.
9270         (file_has_acl): On Linux, use getxattr().
9271         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
9272         file_has_acl(). Check for xattr headers and getxattr().
9274 2015-04-14  Ángel González  <keisial@gmail.com>
9276         tempname: avoid unused parameter warnings (trivial)
9277         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
9278         (try_nocreate): Likewise.
9280 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
9282         fseeko: fix build failure on NetBSD >= 6 (trivial)
9283         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
9284         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
9286 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9288         gitlog-to-changelog: port to MS-Windows
9289         * build-aux/gitlog-to-changelog (git_dir_option):
9290         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
9291         MS-Windows Perl.  Reported by Eli Zaretskii in:
9292         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
9294 2015-04-07  Karl Berry  <karl@gnu.org>
9296         gendocs: new option --tex for passing args to texi2dvi.
9297         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
9298         (TEXI2DVI): cut to just command name.
9299         (usage): mention new option, and update copyright.
9300         <generate_tex>: use it.
9302 2015-04-07  Karl Berry  <karl@gnu.org>
9304         * config/srclistvars.sh (GETTEXT): new definition.
9305         * config/srclist.txt: use it for gettext .m4 files.
9306         Thread starting at http://lists.gnu.org/archive/html/bug-gnulib/201
9307         and confirmed at http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00146.html
9308         and continuing into April.
9310 2015-04-07  Daiki Ueno  <ueno@gnu.org>
9312         uniname/uniname-tests: fix failure due to alias
9313         Reported by Jack Howarth in:
9314         <https://lists.gnu.org/archive/html/bug-libunistring/2015-04/msg00000.html>.
9315         * tests/uniname/test-uninames.c (name_has_alias): New function.
9316         (test_inverse_lookup): Exclude character name with valid alias,
9317         from randomly generated character names.
9318         (main): Fill unicode_aliases before calling test functions.
9320 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
9322         hash: remove deprecated hash_insert0 function
9323         * lib/hash.h (hash_insert0): Remove deprecated function.
9324         * lib/hash.c (hash_insert0): Likewise.
9326 2015-04-02  Pádraig Brady  <P@draigBrady.com>
9328         mountlist: remove dependency on libmount
9329         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
9330         directly, rather than depending on libmount, which has many
9331         dependencies due to its dependence on libselinux, as detailed at:
9332         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00063.html
9333         Note we restrict this to __linux__ as that's probably where this
9334         interface will remain.  If ever porting, it would be best
9335         to first pull the makedev() wrapper from coreutils to a gnulib module.
9336         Note also we don't add a getline dependency to the mountlist module,
9337         as all Linux versions are sufficient.
9339 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
9341         stddef: port to pre-C11 GCC on x86
9342         On this platform, max_align_t should have an alignment of 8 even
9343         though the storage alignments of double, long, etc. max out at 4.
9344         Inspired by a comment of Andreas Schwab's here:
9345         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
9346         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
9347         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
9348         * tests/test-stddef.c: Test __alignof__ too, if available.
9350 2015-03-24  Pádraig Brady  <P@draigBrady.com>
9352         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
9353         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
9355 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
9357         yesno: make EOL optional in ENABLE_NLS case also (trival)
9358         * lib/yesno.c (yesno): Check for EOL before replacing.
9359         * tests/test-yesno.sh: Add a test case (test along with gettext).
9361 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
9363         fdopendir-tests: test it does not close its arg
9364         * tests/test-fdopendir.c (main): Test that fdopendir does not
9365         close its argument.  From a suggestion by David Grayson in:
9366         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00039.html
9368 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
9370         gitlog-to-changelog: trim trailing white space
9371         * build-aux/gitlog-to-changelog (main):
9372         Trim trailing white space from commit message lines.
9373         This is helpful for processing the GNU Emacs repository,
9374         which dates back to 1985 and contains a lot of such lines.
9376         gitlog-to-changelog: new option --ignore-matching
9377         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
9378         Support new option --ignore-matching=PAT, which ignores all
9379         commit messages whose first line matches PAT.
9381 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
9383         fdopendir: port better to MinGW
9384         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
9385         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
9386         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00033.html
9387         * modules/fdopendir (Depends-on): Add dirfd.
9389 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
9391         fdopendir: fix typo in comment
9392         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
9394 2015-03-09  Eric Blake  <eblake@redhat.com>
9396         error: document all entry points provided
9397         * doc/glibc-functions/error_print_progname.texi
9398         (error_print_progname): Mention the error module.
9399         * doc/glibc-functions/error_at_line.texi (error_at_line):
9400         Likewise.
9401         * doc/glibc-functions/error_message_count.texi
9402         (error_message_count): Likewise.
9403         * doc/glibc-functions/error_one_per_line.texi
9404         (error_one_per_line): Likewise.
9406 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
9408         vasnprintf: pacify clang 3.5.0
9409         Problem reported by Werner Lemberg in:
9410         http://lists.gnu.org/archive/html/bug-gnulib/2015-03/msg00000.html
9411         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
9412         The casts aren't needed, since the characters in question are ASCII.
9414 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9416         glob, etc.: port to MSVC v18 on MS-Windows 8.1
9417         * lib/dirent--.h (GNULIB_defined_opendir):
9418         * lib/dirent.in.h (GNULIB_defined_opendir)
9419         (GNULIB_defined_closedir):
9420         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
9421         #undef only if Gnulib defined it.
9423         poll: port to MSVC v18 on MS-Windows 8.1
9424         Problem reported by Gisle Vanem in:
9425         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00139.html
9426         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
9427         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
9428         Add sys_socket.
9430 2015-02-24  Pádraig Brady  <P@draigBrady.com>
9432         tests: support stderr verification with returns_()
9433         * tests/init.sh (returns_): Disable tracing for this wrapper
9434         function, so that stderr of the wrapped command is unchanged,
9435         allowing for verification of the contents.
9437 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
9439         passfd: avoid valgrind uninitalised data warning
9440         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
9441         to include just the fd we've initialized, rather than including
9442         the extra space used for alignment.
9444 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
9446         uniwbrk/u32-wordbreaks-tests: fix copyright
9447         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
9449         dup2: doc and test for Android bug
9450         Reported by Kevin Cernekee in:
9451         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00125.html
9452         * doc/posix-functions/dup2.texi (dup2): Document the bug.
9453         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
9455 2015-02-23  Kevin Cernekee  <cernekee@google.com>
9457         Replace dup2() on Android
9458         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
9459         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
9460         fails.  Using rpl_dup2() fixes this because it has an explicit test
9461         for this condition.
9463 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
9465         Android doesn't define RLIM_SAVED_*
9466         Portability problem reported by Kevin Cernekee in:
9467         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00122.html
9468         * doc/posix-headers/sys_resource.texi (sys/resource.h):
9469         Mention the portability problem.
9470         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
9471         Define if not defined.
9472         * m4/dup2.m4 (gl_FUNC_DUP2):
9473         * m4/fcntl.m4 (gl_FUNC_FCNTL):
9474         Likewise.
9476 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
9478         vasnprintf-posix-tests: use consistent test
9479         * tests/test-vasnprintf-posix.c (test_function):
9480         Use "<" in assert instead of "<=", for consistency with other tests.
9482 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
9484         printf, isinf, etc.: noncanonical != NaN
9485         Do not require that isinf, printf, etc. treat noncanonical
9486         values as NaNs.  Instead, require only that they do not crash.
9487         Problem reported by Joseph Myers in:
9488         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
9489         * doc/posix-functions/dprintf.texi (dprintf):
9490         * doc/posix-functions/fprintf.texi (fprintf):
9491         * doc/posix-functions/isfinite.texi (isfinite):
9492         * doc/posix-functions/isinf.texi (isinf):
9493         * doc/posix-functions/isnan.texi (isnan):
9494         * doc/posix-functions/printf.texi (printf):
9495         * doc/posix-functions/snprintf.texi (snprintf):
9496         * doc/posix-functions/sprintf.texi (sprintf):
9497         * doc/posix-functions/vdprintf.texi (vdprintf):
9498         * doc/posix-functions/vfprintf.texi (vfprintf):
9499         * doc/posix-functions/vprintf.texi (vprintf):
9500         * doc/posix-functions/vsnprintf.texi (vsnprintf):
9501         * doc/posix-functions/vsprintf.texi (vsprintf):
9502         Document this.
9503         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
9504         * m4/isinf.m4 (gl_ISINFL_WORKS):
9505         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
9506         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
9507         * tests/test-isfinite.c (test_isfinitel):
9508         * tests/test-isinf.c (test_isinfl):
9509         * tests/test-isnan.c (test_long_double):
9510         * tests/test-isnanl.h (main):
9511         * tests/test-snprintf-posix.h (test_function):
9512         * tests/test-sprintf-posix.h (test_function):
9513         * tests/test-vasnprintf-posix.c (test_function):
9514         * tests/test-vasprintf-posix.c (test_function):
9515 o       Test only that noncanonical values do not cause crashes, not that
9516         they are treated as NaNs.  In some cases this means a larger
9517         output buffer is needed.
9519 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
9521         fts: remove redundant close() (trivial)
9522         * lib/fts.c (fts_read): Remove redundant call to close().
9523         Spotted by coverity.
9525 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
9527         getdtablesize: port better for Android
9528         Problem reported by Kevin Cernekee in:
9529         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00112.html
9530         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
9531         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
9532         Instead, just use getrlimit, taking care to avoid Cygwin bug.
9534         poll: fixes for large fds
9535         * lib/poll.c (poll): Don't check directly for NFD too large.
9536         Don't rely on undefined behavior in FD_SET when an arg exceeds
9537         FD_SETSIZE.  Always set revents afterwards, even if to zero.
9538         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
9539         as that makes the test a bit stricter.
9541 2015-02-19  Kevin Cernekee  <cernekee@google.com>
9543         fcntl: Fix cross compiling
9544         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
9545         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
9547 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
9549         dup2, fcntl: cross-compile better for Android
9550         Problem reported by Kevin Cernekee in:
9551         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00109.html
9552         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
9553         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
9554         there's little need to cross-compile for older kernels nowadays.
9555         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
9556         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
9558 2015-02-18  Pádraig Brady  <P@draigBrady.com>
9560         getopt: don't crash on memory exhaustion
9561         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
9562         memory exhaustion.  In the _LIBC case we use alloca() as is
9563         already done in glibc, so we don't need to consider the separate
9564         error path in that awkward case.  Also fix a memory leak when
9565         ambiguous options are present.
9566         Reported by Tobias Stoeckmann
9568 2015-02-17  Mike Miller  <mtmiller@ieee.org>
9570         tempname: allow compilation with C++ (trivial)
9571         * lib/tempname.h [C++]: Specify extern "C" linkage.
9572         * lib/tempname.h (try_tempname):
9573         * lib/tempname.c (__try_tempname, __gen_tempname):
9574         Rename 'try' to 'tryfunc'.
9576 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
9578         dup2, fcntl: port to AIX
9579         * m4/dup2.m4 (gl_FUNC_DUP2):
9580         * m4/fcntl.m4 (gl_FUNC_FCNTL):
9581         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
9582         The former works on AIX 7.1 but the latter does not.
9583         Also, this may work better with Android; see:
9584         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00100.html
9586 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
9588         getdtablesize, dup2, fcntl: port to Android
9589         Problem reported by Kevin Cernekee in:
9590         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00092.html
9591         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
9592         Mention that getdtablesize doesn't work on Android.
9593         * lib/getdtablesize.c: Use getrlimit substitute only if
9594         getdtablesize is declared.  This should suffice for Cygwin
9595         while not breaking Android.
9596         * m4/dup2.m4 (gl_FUNC_DUP2):
9597         * m4/fcntl.m4 (gl_FUNC_FCNTL):
9598         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
9599         standardized but the latter is not, and sysconf works on Android.
9600         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
9601         Also check that getdtablesize is declared.
9602         This removes the need for a special case for Android.
9604 2015-02-16  Kevin Cernekee  <cernekee@google.com>
9606         localename: Implement gl_locale_name_thread_unsafe for Android
9607         * lib/localename.c: Android API level >= 21 supports two hardcoded
9608         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
9609         the internal __locale_t struct.
9611 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
9613         fts: avoid crash when a cycle is added while traversing
9614         This could be triggered by auto-mounting a recursive bind mount.
9615         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
9616         * lib/fts.c (fts_read): Avoid removing the original hash table item
9617         when leaving a directory that caused a cycle, and preserve the FTS_DC
9618         flag.
9620 2015-02-16  Daiki Ueno  <ueno@gnu.org>
9622         uniname/uniname: support character alias
9623         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
9624         Generate one-way mapping from aliases to codepoints in the
9625         generated tables.  Special case variation selectors to reduce
9626         table size.
9627         * lib/uniname/uniname.c (unicode_character_name): Special case
9628         variation selectors.
9629         (unicode_name_character): Special case variation selectors and
9630         their aliases.
9631         * lib/uniname/uninames.h: Regenerate.
9632         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
9633         * modules/uniname/uniname-tests (Files): Add
9634         tests/uniname/NameAliases.txt.
9635         * tests/uniname/test-uninames.c: Mark as static.
9636         (ALIASLEN): Define.
9637         (struct unicode_alias): New struct.
9638         (unicode_aliases): New variable.
9639         (fill_aliases): New function.
9640         (test_alias_lookup): New test function.
9641         (main): Run the 'test_alias_lookup' test if the second argument is
9642         given.
9643         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
9644         second argument.
9646 2015-02-11  Kevin Cernekee  <cernekee@google.com>
9648         Fix FILE struct compatibility with Android API level >= 21
9649         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
9650         __sferror.  Recent versions of Bionic's stdio.h no longer define
9651         __sferror.
9652         * lib/fbufmode.c: Likewise.
9653         * lib/fflush.c: Likewise.
9654         * lib/fpurge.c: Likewise.
9655         * lib/freadable.c: Likewise.
9656         * lib/freadahead.c: Likewise.
9657         * lib/freading.c: Likewise.
9658         * lib/freadptr.c: Likewise.
9659         * lib/freadseek.c: Likewise.
9660         * lib/fseeko.c: Likewise.
9661         * lib/fseterr.c: Likewise.
9662         * lib/fwritable.c: Likewise.
9664         Assume unbroken ungetc() on Android
9665         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
9666         test case passed when running on an Android host, and the code
9667         hasn't really changed since 2009.
9669         getdtablesize: Fix Android build
9670         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
9671         versions have this symbol in the .so library (at least 32-bit
9672         platforms) but are missing the declaration in the header file,
9673         causing the m4 logic to guess incorrectly.
9675         localename: Fix Android build
9676         * modules/localename (Depends-on): Add langinfo.
9678         getugroups: Fix Android build
9679         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
9680         functions.
9682         euidaccess: Fix Android build
9683         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
9684         AT_EACCESS gets declared.
9686         linkat_nofollow: Add fallback case for cross compiling
9687         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
9689         net_if: Handle content-free <net/if.h> system headers
9690         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
9691         struct if_nameindex.  If not, enable the replacement header.
9693         signal_h: Fix Android build
9694         * lib/signal.in.h: Add Android to the list of platforms that declare
9695         pthread_sigmask() in <pthread.h> instead of <signal.h>.
9697         duplocale: Fix Android build of duplocale-tests
9698         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
9699         is included by test-duplocale.c (but not by duplocale.c).
9700         * modules/duplocale-tests (configure.ac): Check for monetary.h.
9701         * tests/test-duplocale.c: Skip test if monetary.h is absent.
9702         * doc/posix-headers/monetary.texi: Add Android to the list of
9703         platforms missing monetary.h.
9705 2015-02-11  Pádraig Brady  <P@draigBrady.com>
9707         tests: avoid recent -Werror=unused-variable regression in test-locale
9708         * tests/test-locale.c (main): Reference the variable to avoid the
9709         "unused variable" warning.
9711 2015-02-11  Pádraig Brady  <P@draigBrady.com>
9713         maint: various whitespace cleanups in tempname
9714         * lib/tempname.c: Normalize spacing and line length.
9715         * lib/tempname.h: Likewise.
9716         * modules/tempname: Likewise.
9718 2015-02-11  Pádraig Brady  <P@draigBrady.com>
9720         tests: provide returns_() to simplify exit status checking
9721         * tests/init.sh (returns_): A new function for use in tests,
9722         to allow for easier checking of return values, where you expect
9723         a command to exit with failure status.  By checking for a particular
9724         exit code, you don't hide any crashes for example.
9726 2015-02-11  Pádraig Brady  <P@draigBrady.com>
9728         mountlist: only use libmount when specified
9729         There are currently many shared libs dependencies introduced by
9730         libmount with associated runtime and virt mem overhead.
9731         Therefore don't enable by default.
9732         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
9734 2015-02-08  Daiki Ueno  <ueno@gnu.org>
9736         uniname/unimame-tests: don't link with -lunistring
9737         * modules/uniname/uniname-tests (Makefile.am): Don't link against
9738         $(LIBUNISTRING).  Document the rationale why we need to
9739         conditionalize the test.
9741 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9743         fstrcmp: don't assume strlen < INT_MAX
9744         * lib/fstrcmp.c: Include stddef.h and stdint.h.
9745         (uintptr_t): Remove, as we're now assuming stdint.
9746         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
9747         Prefer ptrdiff_t to int when the value could exceed INT_MAX
9748         if the input string is long.
9749         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
9750         uintptr_t to size_t when the underlying value is a pointer casted
9751         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
9752         * modules/fstrcmp (Depends-on): Add stdint.
9754         diffseq: prefer ptrdiff_t to ssize_t
9755         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
9756         ptrdiff_t is the natural type for signed indexes.
9757         On a few older platforms, ssize_t is narrower than size_t.
9759         xalloc: fix typo that suppressed warnings
9760         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
9761         This typo, introduced a couple of years ago, mistakenly suppressed
9762         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
9763         -Wmissing-declarations warnings.
9765         full-read: fix license notice typo
9766         * lib/full-read.h: Remove a stray line in the license notice.
9767         Reported by Sam Ellis in: http://bugs.gnu.org/19808
9769         crypto/gc: fix a -Wswitch warning
9770         Reported by Bruce Korb in:
9771         http://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00046.html
9772         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
9774 2015-02-03  Pádraig Brady  <P@draigBrady.com>
9776         gnulib-tool: fix handling of patch(1) diagnostics
9777         * gnulib-tool: Send diagnostics from patch(1) to stderr,
9778         as otherwise gnulib-tool will reparse that output and attempt
9779         to lookup modules.
9781 2015-02-03  Pádraig Brady  <P@draigBrady.com>
9783         bootstrap: exit immediately upon gnulib-tool failure
9784         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
9785         This was noticed when gnulib-tool exited early due to failure
9786         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
9787         but various confusing errors were then given as the build proceeded.
9789 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
9791         symlinkat: include all required header files
9792         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
9793         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
9794         Reported at https://savannah.gnu.org/bugs/index.php?44151
9795         and by Jack Howarth.
9797 2015-01-29  Pádraig Brady  <P@draigBrady.com>
9799         localename: support Solaris 12 and illumos
9800         * lib/localename.c (gl_locale_name_thread_unsafe): call
9801         getlocalename_l() on newer __sun platforms.
9802         Reported by Alexander Pyhalov.
9803         Fix suggested by Rich Burridge.
9805 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
9807         locale: fix tests on illumos (trivial)
9808         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
9809         so move from global scope to main().
9811 2015-01-24  Daiki Ueno  <ueno@gnu.org>
9813         unictype: avoid undefined left-shift behavior
9814         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
9815         gcc's -fsanitize=shift and running its tests triggered:
9816           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
9817             places cannot be represented in type 'int'
9818         Cast LHS to 'unsigned int' after integer promotion.
9819         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
9820         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
9822 2015-01-20  Daiki Ueno  <ueno@gnu.org>
9824         libunistring: bump version of unitypes dependants
9825         Due to the header file search order, all the headers which depend
9826         on unitypes.h need to be generated, when the preinstalled
9827         libunistring is older.
9828         * modules/unicase/base (configure.ac): Bump minimum version to
9829         0.9.4.
9830         * modules/uniconv/base (configure.ac): Likewise.
9831         * modules/unilbrk/base (configure.ac): Likewise.
9832         * modules/uninorm/base (configure.ac): Likewise.
9833         * modules/unistdio/base (configure.ac): Likewise.
9834         * modules/unistr/base (configure.ac): Likewise.
9835         * modules/uniwbrk/base (configure.ac): Likewise.
9836         * modules/uniwidth/base (configure.ac): Likewise.
9838 2015-01-20  Daiki Ueno  <ueno@gnu.org>
9840         unictype/category-none: fix link with libunistring
9841         Since _UC_CATEGORY_NONE is not a public symbol, it will be
9842         prefixed with "libstring_" when compiled as part of libunistring.
9843         To avoid undefined symbol at link time, increase the minimum
9844         version when the dependant modules are updated.
9845         * modules/unictype/category-none (configure.ac): Bump minimum
9846         version to 0.9.5.
9848 2015-01-20  Daiki Ueno  <ueno@gnu.org>
9850         unitypes: fix build with installed libunistring
9851         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
9852         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
9853         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
9855 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
9857         time: port to MinGW32 3.21
9858         Problem reported by Eli Zaretskii in:
9859         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00042.html
9860         * lib/time.in.h:
9861         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
9862         * modules/time (Depends-on):
9863         Fall back on unistd.h if the other include files don't define
9864         struct timespec.
9866         update-copyright: apply to self
9867         * build-aux/update-copyright: Fix copyright date.  How ironic!
9869 2015-01-15  Daiki Ueno  <ueno@gnu.org>
9871         libunistring: update to Unicode 7.0.0
9872         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
9873         Manichaean names.
9874         * lib/unictype/joininggroup_name.h: Likewise.
9875         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
9876         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
9877         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
9878         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
9879         (fill_arabicshaping, joining_group_as_c_identifier): Support those
9880         enum values.
9881         (is_property_alphabetic): Accept newly added characters to
9882         cuneiform numeric signs.
9883         (is_property_default_ignorable_code_point): Reject U+0605.
9884         (FIELDLEN): Increase from 120 to 160.
9885         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
9886         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
9887         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
9888         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
9889         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
9890         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
9891         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
9892         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
9893         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
9894         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
9895         U+1E8D0..U+1E8D6.
9896         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
9897         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9898         lib/uniwidth/width.c.
9899         * all generated files under lib/uni* and tests/uni*: Regenerate.
9901 2015-01-14  Daiki Ueno  <ueno@gnu.org>
9903         libunistring: update to Unicode 6.3.0
9904         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
9905         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
9906         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
9907         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
9908         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
9909         Update WB5, WB9, WB10, WB13a, and WB13b.
9910         * tests/uniwbrk/test-uc-wordbreaks.c
9911         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
9912         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
9913         (UC_BIDI_PDI): New enumeration values.
9914         (bidi_category_byname): Support those enum values.
9915         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
9916         dedicated property assigned.
9917         (is_property_case_ignorable): Check 0x0027.
9918         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
9919         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
9920         (output_wbp): Support those enum values.
9921         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
9922         (UC_BIDI_PDI): New enumeration values.
9923         * lib/unictype/bidi_byname.gperf: Add those property names.
9924         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
9925         U+180E, U+1A1B, and U+2066..U+2069.
9926         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9927         lib/uniwidth/width.c.
9928         * all generated files under lib/uni* and tests/uni*: Regenerate.
9930 2015-01-14  Daiki Ueno  <ueno@gnu.org>
9932         libunistring: update to Unicode 6.2.0
9933         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
9934         (unilbrk_table): Adjust table size.
9935         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
9936         for LBP_RI.
9937         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
9938         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
9939         Normalize table index skipping ignored properties.
9940         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
9941         WBP_EXTEND and WBP_FORMAT, which are now computed without using
9942         the table.
9943         * lib/uniwbrk/wbrktable.h: Adjust table size.
9944         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
9945         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
9946         Support rule GB8a.
9947         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
9948         * tests/unigbrk/test-uc-is-grapheme-break.c
9949         (graphemebreakproperty_to_string): Support GBP_RI.
9950         * tests/uniwbrk/test-uc-wordbreaks.c
9951         (wordbreakproperty_to_string): Support WBP_RI.
9952         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
9953         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
9954         (output_lbp): Support LBP_RI.  Adjust some characters changed from
9955         LBP_AL to LBP_ID.
9956         (output_lbp): Support LBP_RI.
9957         (WBP_RI): New enumeration value.
9958         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
9959         (output_wbp): Support WBP_RI.
9960         (GBP_RI): New enumeration value.
9961         (output_gbp_test, fill_org_gbp): Support GBP_RI.
9962         * all generated files under lib/uni* and tests/uni*: Regenerate.
9964 2015-01-14  Daiki Ueno  <ueno@gnu.org>
9966         libunistring: update to Unicode 6.1.0
9967         * lib/gen-uni-tables.c (output_joining_group): Switch to
9968         3-level table to accommodate joining groups defined with higher
9969         codepoint value.  Since there are only 88 groups defined in
9970         Unicode 7.0.0, use 7-bit packed format for level3 entries.
9971         (get_lbp): Update for Unicode 6.1.0.
9972         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
9973         3-level table.
9974         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
9975         joining group name.
9976         * lib/unictype/joininggroup_name.h: Likewise.
9977         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
9978         (unilbrk_table): Adjust table size.
9979         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
9980         for LBP_HL.
9981         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
9982         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
9983         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
9984         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
9985         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
9986         U+302E..U+302F.
9987         * tests/uniwidth/test-uc_width2.sh: Same updates as in
9988         lib/uniwidth/width.c.
9989         * all generated files under lib/uni* and tests/uni*: Regenerate.
9990         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
9992 2015-01-15  Daiki Ueno  <ueno@gnu.org>
9994         uniwbrk/u32-wordbreaks-tests: add conformance test
9995         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
9996         tests/uniwbrk/test-uc-wordbreaks.c,
9997         tests/uniwbrk/test-uc-wordbreaks.sh, and
9998         tests/uniwbrk/WordBreakTest.txt.
9999         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
10000         test-uc-wordbreaks to $(check_PROGRAMS), and define
10001         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
10002         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
10003         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
10005 2015-01-15  Daiki Ueno  <ueno@gnu.org>
10007         uniwbrk: ignore Extended/Format characters at BOL not BOS
10008         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
10009         characters if the previous character property is one of
10010         WBP_NEWLINE, WBP_CR, and WBP_LF.
10012 2015-01-11  Jim Meyering  <meyering@fb.com>
10014         test-strstr.c: avoid a trivial leak
10015         * tests/test-strstr.c (main): Free haystack.
10017         update-copyright: recognize groff's \(co marker
10018         * build-aux/update-copyright (circle_c_re): Also accept
10019         uses of \(co, as found in gzip.1.
10021 2015-01-08  Pádraig Brady  <P@draigBrady.com>
10023         maint.mk: fix compatibility with OS X nm
10024         * top/maint.mk (_gl_tight_scope): Use the -g option to
10025         show exported items rather than the -e option which is
10026         ignored on all platforms except OS X where it gives an error.
10027         Reported by Assaf Gordon.
10029 2015-01-07  KO Myung-Hun  <komh@chollian.net>
10031         localcharset: improve charset detection on OS/2
10032         Use system codepage when appropriate.  Map OS/2 codepages to
10033         GNU canonical charset names if possible.
10034         * lib/config.charset: Don't output aliases if "$os" is os2*.
10035         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
10036         result for OS/2.
10037         (locale_charset) [OS2]: Use system codepage if codeset is omitted
10038         from the locale name which is neither "C" nor "POSIX".
10040 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
10042         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
10043         This reverts the last patch but one, as it shouldn't be needed now
10044         that the typo is fixed.
10045         * lib/count-leading-zeros.h (count_leading_zeros_ll):
10046         * lib/count-trailing-zeros.h:
10047         * lib/count-one-bits.h:
10048         Go back to using 64-bit intrinsics.
10050         count-leading-zeros: fix pragma typos
10051         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
10052         Fix typos in declaration of intrinsics when _MSC_VER.
10054 2015-01-06  Pádraig Brady  <P@draigBrady.com>
10056         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
10057         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
10058         intrinsics in this case.
10059         * lib/count-trailing-zeros.h: Likewise.
10060         * lib/count-one-bits.h: Likewise.
10062 2015-01-06  Daiki Ueno  <ueno@gnu.org>
10064         uniname/uniname: update to Unicode 7.0.0
10065         To accommodate new characters added since Unicode 5.1.0, this
10066         changes the internal representation of codepoint ranges.
10067         Previously, we grouped codepoint ranges by manually assigned 4-bit
10068         tag, which only allowed 16 groups.  This removes the limitation by
10069         switching to binary search on a table.  For the detail rationale
10070         and the benchmark results, see:
10071         https://lists.gnu.org/archive/html/bug-libunistring/2014-06/msg00001.html
10072         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
10073         to INDEX, as it no longer represents a codepoint.
10074         (range): New struct.
10075         (main): Switch to intervals list from a bit-pattern based
10076         classification.
10077         * lib/uniname/uninames.h: Regenerate.
10078         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
10079         * modules/uniname/base (configure.ac): Bump minimum version to
10080         0.9.5.
10081         * modules/uniname/uniname (configure.ac): Bump minimum version to
10082         0.9.5.
10084 2015-01-05  Eric Blake  <eblake@redhat.com>
10086         doc: update INSTALL from autoconf
10087         * doc/install.texi: Resync from autoconf.
10088         * doc/INSTALL: Reflect recent autoconf update.
10089         * doc/INSTALL.ISO: Likewise.
10090         * doc/INSTALL.UTF-8: Likewise.
10092         stdio: fix use of PRIdMAX on modern mingw
10093         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
10094         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
10095         to work with modern mingw.
10097 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
10099         pthread: detect git mingw builds with only partial pollution
10100         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
10101         pollution, as seen temporarily in Fedora 21.
10103 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10105         lib-symbol-versions: cache script check
10106         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
10107         Cache the check for linker version scripts.
10108         From a suggestion by Christophe Curis in:
10109         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00011.html
10111 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
10113         maint: fix grammar nits in propername (trivial change)
10114         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
10115         and use an adequate verb and tense.
10117 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
10119         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
10120         * module/gendocs: Add 'doc/gendocs_template_min'.
10122         * build-aux/gendocs.sh: Change email addresses and upstream URLs
10123         from to Gnulib's.
10124         (scripturl, templateurl): Adjust accordingly.
10126 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10128         gendocs: copyright date and version fix
10129         Reported by Karl Berry in:
10130         http://lists.gnu.org/archive/html/bug-gnulib/2015-01/msg00002.html
10131         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
10132         Fix copyright date.
10133         * build-aux/gendocs.sh (scriptversion): Update.
10135 2015-01-01  Karl Berry  <karl@gnu.org>
10137         * doc/install.texi,
10138         * build-aux/mdate-sh,
10139         * build-aux/depcomp,
10140         * build-aux/config.guess,
10141         * build-aux/config.sub,
10142         * build-aux/ar-lib,
10143         * build-aux/compile: revert copyright updates (some from last
10144         year) in slaved files.
10146 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
10148         version-etc: new year
10149         * doc/gnulib.texi:
10150         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
10151         * all files: Run 'make update-copyright'.
10153 2014-12-30  Pádraig Brady  <P@draigBrady.com>
10155         xstrtol: ensure errno is reset
10156         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
10157         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
10159         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
10161 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
10163         utimens: fix dependency typo
10164         * modules/utimens (Depends-on): Remove 'assure'.
10165         This bug was introduced in the recent 'assure' patch.
10167 2014-12-22  Eric Blake  <eblake@redhat.com>
10169         docs: mention why libgen.h is bad
10170         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
10172 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
10174         assure: new module
10175         This works better than 'assert' when compiling with -DNDEBUG,
10176         as it avoids some compiler diagnostics in that case.
10177         Reported by Norihiro Tanaka in:
10178         http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00215.html
10179         * MODULES.html.sh (func_all_modules): Add 'assure'.
10180         * lib/assure.h, modules/assure: New files.
10181         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
10182         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
10183         Prefer 'assure' to 'assert'.
10184         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
10185         * modules/chdir-long, modules/cycle-check, modules/fchdir:
10186         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
10187         Depend on 'assure'.
10189 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10191         stdalign: port better to HP compilers
10192         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
10193         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
10195         stdalign: work around Apple GCC 4.0 bug
10196         Reported by David Fang in:
10197         http://lists.gnu.org/archive/html/bug-gnulib/2014-12/msg00194.html
10198         * lib/stdalign.in.h (_Alignas):
10199         * m4/stdalign.m4 (gl_STDALIGN_H):
10200         Do not use aligned attribute with GCC 4.0 on Apple.
10202 2014-12-16  Pádraig Brady  <P@draigBrady.com>
10204         getcwd: fix test failure on OS X 10.9
10205         * m4/getcwd-path-max.m4: Avoid the replacement if it
10206         won't be effective due to the PATH_MAX limitation of lstat().
10207         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
10208         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
10209         for this case for use in tests, and also exclude this
10210         case when setting REPLACE_GETCWD.
10211         * tests/test-getcwd.c (test_long_name): Restrict the
10212         tested path length so that lstat() will not be passed
10213         a path greater than PATH_MAX.
10214         Also key a test condition on HAVE_OPENAT_SUPPORT rather
10215         than AT_FDCWD, since the latter is set unconditionally
10216         since Sep 2009 in commit 52c658e9.
10218 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
10220         parse-datetime: avoid a compiler warning with byacc (trivial)
10221         * lib/parse-datetime.y (yylex): Use the same prototype in the
10222         function definition as the declaration, to avoid a -Wstrict-prototypes
10223         warning seen when using byacc.
10225 2014-12-12  Daiki Ueno  <ueno@gnu.org>
10227         unicase/locale-language-tests: fix LOCALE_FR test
10228         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
10229         a French locale with traditional encoding.
10230         Reported by umerqayam in:
10231         http://lists.gnu.org/archive/html/bug-libunistring/2014-12/msg00000.html
10233 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10235         stddef: support C11's max_align_t
10236         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
10237         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
10238         Do not undef, as that might cause max_align_t to be defined twice.
10239         Instead, change use to check for _GL_STDDEF_WINT_T too.
10240         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
10241         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
10242         Check for max_align_t.
10243         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
10244         * modules/stddef-tests (Depends-on): Add stdalign.
10245         * tests/test-stddef.c: Test max_align_t.
10247 2014-12-11  Daiki Ueno  <ueno@gnu.org>
10249         unistd: fix iOS check conditional
10250         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
10251         as 0 or 1 in <TargetConditionals.h>, and the previous check always
10252         yielded true on non-iOS environment.
10253         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
10254         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
10255         they are defined.
10257 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
10259         posixtm: avoid compiler warning in a better way
10260         * lib/posixtm.c (IF_LINT): Remove.
10261         (year, posix_time_parse):
10262         Return true (not 0) if successful.  All callers changed.
10263         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
10265 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
10267         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
10268         started with '/' on EMX.
10270 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
10272         freopen: workaround freopen() on OS/2 kLIBC
10273         * lib/freopen.c (rpl_freopen): Workaround.
10274         * m4/freopen.m4: Add os2* case.
10276         get_shared_library_fullname: port to EMX
10277         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
10278         on EMX, respectively.
10279         (_DLL_InitTerm): New on EMX.
10280         (get_shared_library_fullname): Implement on EMX.
10282         find_executable: port to EMX
10283         * lib/progreloc.c (find_executable): Implement on EMX.
10285         sched: check struct sched_param in spawn.h as well
10286         * lib/sched.in.h: Include spawn.h on kLIBC.
10287         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
10289 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
10291         bootstrap: Allow perl modules in $buildreq
10292         * build-aux/bootstrap: Add case for perl modules.
10294 2014-12-08  Pádraig Brady  <P@draigBrady.com>
10296         apply _GL_ATTRIBUTE_PURE to some inline functions
10297         clang 3.4.2 flagged these inline functions as pure
10298         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
10299         * lib/sig-handler.h (get_handler): Likewise.
10300         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
10301         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
10303 2014-12-06  Pádraig Brady  <P@draigBrady.com>
10305         vasnprintf: fix potential use after free
10306         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
10307         flagged by clang-analyzer 3.4.2.
10309 2014-12-05  Pádraig Brady  <P@draigBrady.com>
10311         filevercmp, posixtm: avoid compiler warnings with -O3
10312         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
10313         * lib/posixtm.c: (IF_LINT): Define.
10314         (posix_time_parse): Use it to void a "may be used uninitialized"
10315         warning, seen only with -O3.
10317 2014-12-05  Bruno Haible  <bruno@clisp.org>
10319         Fix LDBL80_WORDS macro on big endian platforms.
10320         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
10321         LDBL80_WORDS macro.
10322         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
10323         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10324         * tests/test-isfinite.c (test_isfinitel): Likewise.
10325         * tests/test-isinf.c (test_isinfl): Likewise.
10326         * tests/test-isnan.c (test_long_double): Likewise.
10327         * tests/test-isnanl.h (main): Likewise.
10328         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
10329         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
10330         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
10331         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
10332         Reported by Pádraig Brady.
10334 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
10336         git-version-gen: do not print new line characters
10337         * build-aux/git-version-gen: Use printf instead of echo and tr.
10339         gnulib-tool: recognize x:* as an absolute path
10340         * gnulib-tool (func_gnulib_dir): Add ?:* case.
10341         (func_relconcat): Likewise.
10343 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
10345         argp: avoid extraneous translation and mem leak with empty pre doc
10346         * lib/argp-help.c (argp_doc): Never translate the empty string,
10347         when "\v" is the first or last character of the string, as that
10348         has a reserved meaning to return the header info from a po file.
10349         This also fixes a small memory leak in the !post case.
10350         The issue can be seen with this command for example:
10351         LC_MESSAGES=en_US grub2-mknetdir --help
10353 2014-11-27  Daiki Ueno  <ueno@gnu.org>
10355         uniname/uniname-tests: skip if system's libunistring is used
10356         * modules/uniname/uniname-tests (Makefile.am): Skip test if
10357         uniname/uniname module is not compiled.
10359 2014-11-27  Pádraig Brady  <P@draigBrady.com>
10361         printf: fix configure check on big endian systems
10362         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
10364 2014-11-22  Daiki Ueno  <ueno@gnu.org>
10366         pipe-filter-gi, pipe-filter-ii: port to AIX
10367         On AIX 7.1, 'select' is defined as static and cannot be referred
10368         to from inline function.
10369         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
10370         the definition...
10371         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
10372         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
10374 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
10376         gitlog-to-changelog: add --until
10377         * build-aux/gitlog-to-changelog: Support new --until option.
10378         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
10380 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
10382         extern-inline: update commentary about GCC bugs
10383         * m4/extern-inline.m4: Add another GCC bug number to comments.
10385 2014-11-13  Daiki Ueno  <ueno@gnu.org>
10387         gen-uni-tables: untabify
10388         * lib/gen-uni-tables.c: Untabify.
10390 2014-11-13  Daiki Ueno  <ueno@gnu.org>
10392         gen-uni-tables: check out-of-range values added to 3-level tables
10393         * lib/gen-uni-tables.c (output_category, output_bidi_category)
10394         (output_joining_type, output_ident_category): Check out-of-range
10395         values added to 3-level tables.
10397 2014-11-13  Daiki Ueno  <ueno@gnu.org>
10399         gen-uni-tables: utilize 'assert'
10400         * lib/gen-uni-tables.c: Include <assert.h>.
10401         (output_category, output_combclass, output_decimal_digit_test)
10402         (output_decimal_digit, output_digit_test, output_digit)
10403         (output_numeric, get_mirror_value, fill_properties)
10404         (fill_property30, is_property_alphabetic)
10405         (is_property_default_ignorable_code_point)
10406         (is_property_uppercase, is_property_lowercase)
10407         (is_property_cased, is_property_case_ignorable)
10408         (is_property_changes_when_lowercased, is_property_iso_control)
10409         (is_property_math, fill_arabicshaping, output_joining_group)
10410         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
10411         (output_wbp, fill_org_gbp, get_decomposition)
10412         (output_decomposition, fill_composition_exclusions)
10413         (debug_output_composition_tables, output_composition_tables)
10414         (redistribute_casefolding_rules, output_casing_rules): Use
10415         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
10416         reporting.
10418 2014-11-13  Daiki Ueno  <ueno@gnu.org>
10420         gen-uni-tables: cosmetic improvements
10421         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
10422         variables specification.
10423         (is_outdigit): Remove unused function.
10425 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
10427         fcntl-h-tests: port to PA-RISC GNU/Linux
10428         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
10430 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10432         fts: port to C89
10433         Problem reported for MSVC 16 by Gisle Vanem in:
10434         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00027.html
10435         * lib/fts.c (fts_build): Avoid declaration before statement.
10437 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10439         unistd: port to iOS
10440         Problem reported by André Klitzing in:
10441         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00013.html
10442         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
10444 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
10446         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
10447         Problem reported by Alan Modra in:
10448         http://lists.gnu.org/archive/html/bug-gnulib/2014-11/msg00007.html
10449         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
10450         Always cast the function arg, reverting this part of the previous
10451         change.
10453 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10455         obstack: avoid potentially-nonportable function casts
10456         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
10457         Remove, replacing with ...
10458         (call_chunkfun, call_freefun): New static functions.
10459         All uses changed.  Avoid potentially-nonportable casts.
10460         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
10461         (_obstack_begin_worker): Omit last two args, since they
10462         rely on potentially-nonportable casts.  All callers changed.
10463         * lib/obstack.h (_OBSTACK_CAST): New macro.
10464         Use it everywhere the old API used a potentially-nonportable cast.
10465         The new API doesn't cast.
10466         (struct obstack): Use unions rather than requiring
10467         potentially-nonportable casts.
10468         (obstack_chunkfun, obstack_freefun): Return void.
10470 2014-11-03  Alan Modra  <amodra@gmail.com>
10472         obstack: fix macro return values
10473         * lib/obstack.h (obstack_next_free): Return void *.
10474         (obstack_1grow_fast, obstack_blank_fast): Return void.
10475         For __GNUC__ macros:
10476         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
10477         For !__GNUC__ macros:
10478         (obstack_make_room, obstack_grow, obstack_grow0)
10479         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
10481 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
10483         obstack: do not assume system-supplied obstack is size_t safe
10484         * m4/obstack.m4: New file.
10485         * modules/obstack (Files): Add it.
10487         obstack: port to platforms that #define __alignof__
10488         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
10489         not if !_LIBC.  We don't know of any platforms that #define
10490         __alignof__, but it might be useful in tests.  Conversely,
10491         glibc assumes GCC.
10493 2014-11-03  Pádraig Brady  <P@draigBrady.com>
10495         linkat: don't unconditionally replace on GNU/Linux
10496         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
10497         was redundant for a few reasons.  It was present to support compiling
10498         on new systems but running on the old narrow window of Linux 2.6.1[67].
10499         It setup and cleaned up test files which weren't actually used.
10500         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
10501         implicit in the following check.
10503 2014-11-03  Pádraig Brady  <P@draigBrady.com>
10505         linkat: wrap to handle symlinks on OS X 10.10
10506         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
10507         but not usable because it doesn't support creating hardlinks
10508         to symlinks.  Therefore add a generic test for this capability
10509         and fallback to our emulation if linkat() fails with ENOTSUP.
10511 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
10513         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
10514         * doc/posix-functions/open.texi (open):
10515         * doc/posix-functions/openat.texi (openat):
10516         Document that these functions do not set errno to ELOOP when
10517         a symlink is opened with O_NOFOLLOW.
10519 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10521         obstack: add NEWS entry for recent incompatible changes
10522         * NEWS: Describe recent changes.
10524 2014-10-30  Pádraig Brady  <P@draigBrady.com>
10526         mountlist: don't use libmount to decide on dummy/remote
10527         * lib/mountlist.c (read_file_system_list): Don't use the libmount
10528         routines to determine whether a file system is dummy or remote,
10529         as they're not currently compatible.  For example the remoteness
10530         is determined on file system type (for which the list seems incomplete),
10531         rather than simply checking for a ':' in the device name.
10532         Also libmount currently determines that 'tmpfs' is a dummy file system
10533         even though it has associated storage.
10535 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
10537         obstack: prefer __alignof__ to alignof
10538         This is for portability to pre-4.7 GCC when compiling glibc.
10539         See Joseph S. Myers in:
10540         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
10541         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
10542         New macro, defined by including and using <alignof.h>.
10543         (MAX): New macro.
10544         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
10545         Do not use enums as they are not portable to some broken compilers.
10546         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
10548         obstack: prefer alignof to calculating alignments by hand
10549         * lib/obstack.c: Include <stdalign.h>.
10550         (struct fooalign): Remove.
10551         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
10552         * modules/obstack (Depends-on): Add stdalign.
10554 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
10556         obstack: use size_t alignments and check for overflow
10557         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
10558         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
10559         * lib/obstack.h (struct obstack.alignment_mask):
10560         Use _OBSTACK_SIZE_T, not int, for alignments.
10561         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
10562         overflows, e.g., when adding the alignment.
10564 2014-10-29  Alan Modra  <amodra@gmail.com>
10566         obstack: 64-bit obstack support, part 3
10567         This finally enables full 64-bit obstack support.  The glibc
10568         shared library specific code is removed from obstack.c too, and
10569         the error handling code conditionally compiled under control of
10570         another macro, _OBSTACK_NO_ERROR_HANDLER.
10571         * lib/obstack.h: Include string.h earlier.
10572         (_OBSTACK_INTERFACE_VERSION): Define.
10573         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
10574         * lib/obstack.c: Don't include shlib-compat.h.
10575         (OBSTACK_INTERFACE_VERSION): Delete.
10576         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
10577         glibc code is compatible with version 2.  Don't include stdio.h for
10578         __GNU_LIBRARY.
10579         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
10580         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
10581         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
10582         glibc shared library specific source.
10584         obstack: 64-bit obstack support, part 2
10585         This gets us 4G obstack support, without changing ABI
10586         compatibility, apart from possibly introducing some
10587         signed/unsigned comparison warnings in code that uses obstack.h.
10588         a) Replace "int" size parameters, return values, and macro local vars
10589            with _OBSTACK_SIZE_T, an "unsigned int" for now.
10590         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
10591         c) Make all obstack macros checking available room use obstack_room.
10592            "next_free + desired > chunk_limit" may wrap the lhs for chunks
10593            allocated near the top of memory.
10594         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
10595         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
10596         in place of "int" size parameters, return values and local vars.
10597         (_CHUNK_SIZE_T): Define.
10598         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
10599         union use an _OBSTACK_SIZE_T integer type.
10600         For __GNUC__ versions of the following macros...
10601         (obstack_room): Rename local var.
10602         (obstack_make_room): Use obstack_room.
10603         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
10604         obstack_int_grow, obstack_blank): Likewise.
10605         (obstack_finish): Use unsigned comparison when comparing aligned
10606         next_free against chunk_limit.
10607         (obstack_free): Cast OBJ to remove possible const qualifier.
10608         For !__GNUC__ versions of the following macros...
10609         (obstack_make_room): Use obstack_room.
10610         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
10611         obstack_int_grow, obstack_blank): Likewise.
10612         (obstack_finish): Use unsigned comparision when comparing aligned
10613         next_free against chunk_limit.
10614         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
10615         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
10616         _OBSTACK_SIZE_T.
10617         (_obstack_begin, _obstack_begin_1): Likewise.
10618         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
10619         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
10621         obstack: 64-bit obstack support, part 1
10622         a) Correct calls to alloc function, to use a size_t arg.  "long" is
10623            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
10624            and "size_t" 64 bits.
10625         b) Consolidate _obstack_begin and _obstack_begin1 code.
10626         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
10627         use "size_t" rather than "long".
10628         (_obstack_begin, _obstack_begin1): Likewise.
10629         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
10630         obstack_chunkfun): Update alloc function casts.
10631         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
10632         (chunkfun_type, freefun_type): New typdefs.
10633         (_obstack_begin_worker): Split out from ..
10634         (_obstack_begin, _obstack_begin_1): ..here.
10636         obstack: tidy part 2
10637         a) Don't be concerned about "not polluting the namespace with stddef.h
10638            symbols" in obstack.h, since gnulib string.h includes stddef.h
10639            anyway, and it seems unlikely that anyone would care.
10640         b) Don't roll our own slow memcpy in _obstack_newchunk.
10641         c) Rename obstack_free to _obstack_free.  This makes the naming
10642            consistent with other obstack functions and obviates the need for
10643            __obstack_free.  Ancient obstack.c defined both obstack_free and
10644            _obstack_free.  We continue to do that for _LIBC via an alias.
10645         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
10646            is clever, but nowadays gcc warns on undefined macros.  You'll get
10647            an undefined macro warning if simulating an old gcc with -U__GNUC__
10648            -U__GNUC_MINOR__ -D__GNUC__=1.
10649         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
10650         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
10651         (__obstack_free): Delete, update refs.
10652         (_obstack_free): Rename from obstack_free.
10653         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
10654         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
10655         * lib/obstack.c: Don't include stddef.h.
10656         (COPYING_UNIT): Delete.
10657         (_obstack_begin): Formatting fix.
10658         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
10659         (_obstack_free): Rename from __obstack_free, update alias.  Move
10660         undef of obstack_free to where it is needed.
10662         obstack: tidy part 1
10663         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
10664            to me, and result in overlong lines after later patches.
10665         b) Move error handling code, to avoid a forward declaration and to
10666            simplify later patches in this series.
10667         * lib/obstack.h (struct obstack <temp>): Rename fields of union
10668         and update all uses.
10669         * lib/obstack.c: Include stdlib.h earlier.
10670         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
10671         in file.
10672         (print_and_abort): Remove now redundant forward declaration.
10674 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
10676         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
10677         Without this change, in bleeding-edge fileutils Autoconf complains
10678         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
10679         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
10680         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
10681         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
10683 2014-10-24  Daiki Ueno  <ueno@gnu.org>
10685         iconv: avoid false detection of non-working iconv
10686         The INBUF arguments of iconv can be either 'const char **'
10687         or 'char **'.  If CC is g++, the difference causes a compile error
10688         and thus leads to a false detection of non-working iconv.
10689         Reported by Eli Zaretskii and Werner LEMBERG in:
10690         <https://lists.gnu.org/archive/html/bug-gnulib/2014-10/msg00023.html>.
10691         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
10692         iconv.  Bump serial number.
10694 2014-10-23  Pádraig Brady  <P@draigBrady.com>
10696         bootstrap: print more diagnostics for missing programs
10697         * build-aux/bootstrap: only suppress stderr when checking for
10698         alternative program names.  This supports programs issuing non
10699         standard error messages.
10701 2014-10-23  Pádraig Brady  <P@draigBrady.com>
10703         bootstrap: only update the gnulib submodule
10704         * build-aux/bootstrap: Restrict the "submodule update" command
10705         to the gnulib path.
10707 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
10709         symlinkat: port to AIX 7.1
10710         * doc/posix-functions/symlinkat.texi (symlinkat):
10711         Mention AIX porting problem.
10712         * lib/symlinkat.c: Always include errno.h.
10713         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
10714         * lib/unistd.in.h (symlinkat): Add replacement machinery.
10715         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
10716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
10717         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
10718         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
10719         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
10721         readlinkat: port to AIX 7.1
10722         * doc/posix-functions/readlink.texi (readlink):
10723         * doc/posix-functions/readlinkat.texi (readlinkat):
10724         Mention AIX porting problem.
10725         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
10726         New function.
10727         * lib/unistd.in.h (readlinkat): Add replacement machinery.
10728         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
10729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
10730         * modules/readlinkat (configure.ac): Also compile replacement
10731         if REPLACE_READLINKAT.
10732         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
10734 2014-10-12  Karl Berry  <karl@gnu.org>
10736         * doc/posix-functions/dirname.texi: remove spurious {.
10738 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
10740         basename, dirname: Improve documentation.
10741         * doc/posix-functions/basename.texi: Mention dirname module and
10742         base_name() function.
10743         * doc/posix-functions/dirname.texi: Mention dir_name() and
10744         mdir_name() functions.
10745         Suggested by Werner LEMBERG <wl@gnu.org>.
10747 2014-09-24  Jim Meyering  <meyering@fb.com>
10749         exclude: declare exclude_patopts static
10750         * lib/exclude.c (exclude_patopts): Declare static,
10751         to avoid triggering a -Wmissing-prototypes warning.
10752         The alternative (declaring it in the .h file) would
10753         require publicizing the private "struct patopts".
10755 2014-09-21  Werner Lemberg  <wl@gnu.org>
10757         dirname: support compilation with C++
10758         * lib/dirname.h: Add necessary C linkage declarations.
10760 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
10762         qsort_r: include <config.h>
10763         Problem reported by Tom G. Christensen in:
10764         http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00071.html
10765         * lib/qsort.c [!_LIBC]: Include <config.h> first.
10767 2014-09-16  Dylan Cali  <calid1984@gmail.com>
10769         avltree-list: avoid compiler warnings (trivial)
10770         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
10771         -Werror=suggest-attribute=pure.
10772         * lib/gl_array_list.c: Likewise.
10773         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
10774         declaration to avoid -Werror=missing-prototypes.  This is not added
10775         to a header as only exported for tests.  Add (void) to the
10776         check_invariants() call to indicate we're discarding the result
10777         in this context which avoids -Werror=unused-value.  Note we don't
10778         use ignore_value here to avoid a dependency as we know we'll not
10779         be adding __attribute__((warn_unused_result)) to check_invariants().
10780         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
10782 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
10784         qsort_r: new module, for GNU-style qsort_r
10785         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
10787 2014-09-15  Werner LEMBERG  <wl@gnu.org>
10789         strerror_r-posix: support compilation with C++
10790         * lib/strerror_r.c: Add necessary C linkage declarations.
10792 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
10794         fcntl-h: fix compilation with Intel C++ compiler (trivial)
10795         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
10797 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
10799         mountlist: use /proc/self/mountinfo when available
10800         Use libmount to propagate device IDs provided by Linux in
10801         /proc/self/mountinfo.  This will give more accurate output when
10802         using df in chroot'ed environments as the device IDs are not
10803         determined by stat() which may be inaccurate within the chroot.
10804         * lib/mountlist.c (read_file_system_list): Use the libmount routines
10805         from util-linux to parse "/proc/self/mountinfo" or fall back to
10806         standard getmntent() processing.
10807         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
10808         getmntent() is used, as is the case on GNU/Linux.
10810 2014-09-07  Eric Wong  <normalperson@yhbt.net>
10812         users.txt: add cmogstored
10813         cmogstored has used gnulib since the beginning in 2012 to support
10814         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
10816 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
10818         Trivial change.
10819         * gnulib-tool: Use same options as build-aux/bootstrap to download
10820         PO files.
10822 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
10824         Trivial change.
10825         * gnulib-tool: Fallback to wget when rsync of PO files fails.
10827 2014-09-04  Eric Blake  <eblake@redhat.com>
10829         maintainer-makefile: add syntax check for useless ';;'
10830         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
10832 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
10834         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
10835         Problem reported by Assaf Gordon in:
10836         http://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00023.html
10837         Apparently Ubuntu is doing some fancy link-time optimization
10838         that doesn't work with -lpthread but does work with -pthread.
10839         Work around the bug by preferring -pthread to -lpthread.
10840         * m4/pthread.m4 (gl_PTHREAD_CHECK):
10841         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
10842         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
10843         Treat -pthread like -lpthread.
10845 2014-09-04  Eric Blake  <eblake@redhat.com>
10847         error: drop spurious semicolon
10848         * lib/error.c (__error_at_line): Fix ';;'.
10850 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10852         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
10853         * m4/gnulib-common.m4 (AC_C_RESTRICT):
10854         Override AC_C_RESTRICT unconditionally.
10855         Update from autoconf, incorporating:
10856         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
10857         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
10859 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10861         manywarnings: add GCC 4.9 warnings
10862         Also, make it easier to maintain this in the future.
10863         * build-aux/gcc-warning.spec: Add -Wabi-tag,
10864         -Wconditionally-supported, -Wdelete-incomplete,
10865         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
10866         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
10867         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
10868         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
10869         only for older GCC versions that need them.  Handle
10870         -Wnormalized=nfc specially, so that the 'comm' command used
10871         for maintenance doesn't get confused.
10873 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
10875         vasnprintf: fix bugs in width computation
10876         * lib/vasnprintf.c (VASNPRINTF):
10877         Rework previous change, which introduced a bug,
10878         to avoid the warning in a different way.
10879         Avoid undefined behavior if the width arg is less than -INT_MAX.
10880         Avoid unnecessary use of HAS_WIDTH local.
10882 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
10884         vasnprintf: Avoid signed/unsigned comparison warning.
10885         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
10886         compare end addr of generated string w/ maximum end addr.
10888 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
10890         parse-datetime: Avoid pointer difference.
10891         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
10892         instead of calculating difference of pointers.  This removes an
10893         annoying warning, devoid of any use.
10895 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
10897         qsort_r: new module, for GNU-style qsort_r
10898         This works even on FreeBSD, which has an incompatible qsort_r API.
10899         * MODULES.html.sh: Add it.
10900         * doc/glibc-functions/qsort_r.texi: It's now supported.
10901         * lib/qsort.c: New file, taken from glibc with minor changes
10902         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
10903         removed.
10904         * lib/qsort_r.c: New file, compiled only on FreeBSD.
10905         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
10906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
10907         * modules/qsort_r, modules/qsort_r-tests: New files.
10908         * modules/stdlib (Makefile): Set up its defaults.
10909         * tests/test-qsort_r.c: New file.
10911 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
10913         vla: new module
10914         GNU RCS can use this, mostly for documentation I expect.  See:
10915         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00025.html
10916         * MODULES.html.sh: Add vla.
10917         * lib/vla.h, modules/vla: New files.
10919 2014-08-07  Daiki Ueno  <ueno@gnu.org>
10921         localename: make gl_locale_name_thread really thread-safe on Windows
10922         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
10923         "glthread/lock.h".
10924         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
10925         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
10927 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
10929         getpass: don't assume struct termios
10930         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
10931         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00015.html
10932         * lib/getpass.c (getpass): Port to systems lacking struct termios.
10934         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
10935         Problem reported by Jonas 'Sortie' Termansen in:
10936         http://lists.gnu.org/archive/html/bug-gnulib/2014-08/msg00023.html
10937         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
10938         Implement via sysconf for platforms that lack getdtablesize.
10940         vararrays: modernize AC_C_VARARRAYS for C11
10941         This backports a change I recently made to Autoconf.
10942         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
10943         VLAs are not supported, as this is what C11 does.  The old macro
10944         HAVE_C_VARARRAYS is still defined if they are supported, but is
10945         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
10947 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
10949         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
10950         * build-aux/install-reloc (func_create_wrapper): Also wrap
10951         strerror-override, stat, stat.
10953 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
10955         sys_select: fix FD_ZERO problem on Solaris 10
10956         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
10957         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
10958         to expand to an expression that invoked memset without necessarily
10959         including <string.h>.  The problem was that the first include
10960         defined _SYS_TIME_H, causing the second include to short-circuit.
10961         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
10962         Also, fix what appears to be a cut-and-paste typo, by replacing
10963         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
10964         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
10966         accept: document Solaris 10 type glitch
10967         * doc/posix-functions/accept.texi (accept): Mention that
10968         Solaris 10 'accept' takes void * last arg, not socklen_t *.
10970 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
10972         extern-inline: port to FreeBSD, DragonFly
10973         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
10974         is present if either __DragonFly__ or __FreeBSD__ is defined.
10975         FreeBSD problem reported by Andrey Borzenkov in:
10976         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
10977         Also, worry about __APPLE__ only if __MACH__ is also defined,
10978         as this is more consistent with the rest of gnulib.
10979         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
10980         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
10982 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
10984         regex: Make #if/#ifdef usage consistent for DEBUG
10985         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
10986         of the inconsistent usage of #if and #ifdef as that works with
10987         both Glibc and Gnulib's style.
10989 2014-07-31  Eric Blake  <eblake@redhat.com>
10991         openat-die: use _Noreturn markup
10992         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
10993         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
10994         _Noreturn.
10996 2014-07-30  Eric Blake  <eblake@redhat.com>
10998         test-open: port to cygwin, which lacks Fortify
10999         * tests/test-open.h (ALWAYS_INLINE): New macro.
11000         (__always_inline): Don't abuse internal symbol on non-glibc.
11002 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
11004         localename: Enforce declarations before statements.
11005         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
11006         first statement.
11008 2014-07-18  Jim Meyering  <meyering@fb.com>
11010         test-userspec: don't look up numeric user names
11011         * tests/test-userspec.c: I found a system for which getpwnam("0")
11012         returned a pointer to a non-root user's entry, and that made the
11013         test fail.
11014         (T): Prefix each numeric input with "+", to inhibit lookup.
11016 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
11018         localcharset, localename: MS-Windows support for non-default locales
11019         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
11020         falling back on the default system codepage, try extracting
11021         the codepage from what 'setlocale' returns.  This allows to
11022         take into account changes of the codeset due to non-default
11023         locale set by a previous call to 'setlocale'.
11024         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
11025         Define if not already defined.
11026         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
11027         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
11028         current locale by calling 'setlocale', then converting the
11029         locale name into LCID by calling 'get_lcid'.  This allows to
11030         take into account changes in the current locale from the
11031         default one, in contrast to GetThreadLocale.
11033 2014-07-14  Daiki Ueno  <ueno@gnu.org>
11035         announce-gen: avoid failure when Digest::SHA is installed
11036         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
11037         Digest::SHA1->new in print_checksums fails.
11038         * build-aux/announce-gen (digest_classes): New associative array
11039         for available message digest implementations.
11040         (print_locations): Use it.
11042 2014-07-13  Pádraig Brady  <P@draigBrady.com>
11044         gettext: revert "update macros to version 0.19"
11045         This reverts commit 9b9370ca, as it currently requires that
11046         developers of any project that explicitly uses the gettext module
11047         or implicitly uses it through the utimens-tests or
11048         futimens-tests modules, use gettext >= 0.19.
11049         However there are some stability and availablity issues with
11050         that version at present.  We can reinstate this soon, when stability
11051         is addressed and packages are more readily available.
11053 2014-07-12  Jim Meyering  <meyering@fb.com>
11055         regex: don't deref NULL upon heap allocation failure
11056         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
11057         failure in one more place.
11058         To trigger the segfault, configure grep -with-included-regex,
11059         build it, and run these commands:
11060         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
11061         I discovered this while replying to a private report from
11062         Jens Schleusener about excessive memory consumption by grep
11063         when using a regular expression like the one above.
11065 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
11067         regex: fix memory leak in compiler
11068         Fix by Andreas Schwab in:
11069         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
11070         * lib/regcomp.c (parse_reg_exp): Deallocate partially
11071         constructed tree before returning error.
11073 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
11075         announce-gen: avoid perl warnings
11076         * build-aux/announce-gen: add two minor checks to avoid
11077         "use of uninitialized value" warnings when command-line parameters are
11078         missing.
11080 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
11082         localename: avoid -Wsuggest-attribute={const,pure} warnings
11083         * lib/localename.c (string_has): Tag internal function as pure.
11084         * lib/localename.h (gl_locale_name_default): Tag extern declaration
11085         as const when appropriate.
11087 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
11089         nl_langinfo: Fix last change.
11090         * lib/nl_langinfo.c (includes): Drop redundant include.
11092 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
11094         error: Fix -Wundef warnings in glibc
11095         * lib/error.c [_LIBC]: Define default macros for
11096         glibc.
11097         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
11098         Check _LIBC before STRERROR_R_CHAR_P.
11100         error: Sync from glibc master
11101         * lib/error.c [_LIBC]: Remove INTUSE usage.
11102         (error_tail): Remove unused macro ALLOCA_LIMIT.
11103         Fix potential buffer overflow.  Fix potential NULL dereference
11104         in strcmp.
11106 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
11108         nl_langinfo: fix build under mingw
11109         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
11111 2014-07-09  Andrew D Warshall  <warshall@99main.com>
11113         mountlist: do not classify a bind-mounted dir entry as "dummy"
11114         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
11115         1-argument getmntent() (instead of assuming absence).
11117 2014-07-08  Eric Blake  <eblake@redhat.com>
11119         maint.mk: less syntax-check noise when SIGPIPE is ignored
11120         * top/maint.mk (_sc_header_without_use)
11121         (sc_require_config_h_first): Parse full list.
11123 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
11124             Paul Eggert  <eggert@cs.ucla.edu>
11126         nl_langinfo: CODESET on MS-Windows and more items from localeconv
11127         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
11128         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
11129         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
11130         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
11131         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
11132         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
11133         Include <stdio.h> if Microsoft Windows.
11134         Include <time.h> if !REPLACE_NL_LANGINFO.
11135         (ctype_codeset): New function, taken from rpl_nl_langinfo,
11136         and with improvements for Microsoft Windows.
11137         (rpl_nl_langinfo): Use it.
11138         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
11139         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
11140         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
11141         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
11142         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
11143         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
11144         corresponding values returned by 'localeconv'.  Compute the values
11145         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
11146         'strftime' with a suitable struct tm value.
11148 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
11150         Bruno Haible has stepped down as maintainer.
11151         See Karl Berry in:
11152         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00004.html
11153         Daiki Ueno has volunteered to maintain libunistring; see:
11154         http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00005.html
11155         * modules/gen-uni-tables, modules/libunistring:
11156         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
11157         * modules/unicase/base, modules/unicase/cased:
11158         * modules/unicase/empty-prefix-context:
11159         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
11160         * modules/unicase/locale-language, modules/unicase/special-casing:
11161         * modules/unicase/tocasefold, modules/unicase/tolower:
11162         * modules/unicase/totitle, modules/unicase/toupper:
11163         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
11164         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
11165         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
11166         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
11167         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
11168         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
11169         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
11170         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
11171         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
11172         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
11173         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
11174         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
11175         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
11176         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
11177         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
11178         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
11179         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
11180         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
11181         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
11182         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
11183         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
11184         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
11185         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
11186         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
11187         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
11188         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
11189         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
11190         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
11191         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
11192         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
11193         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
11194         * modules/unicase/ulc-casexfrm, modules/unicodeio:
11195         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
11196         * modules/uniconv/u16-conv-to-enc:
11197         * modules/uniconv/u16-strconv-from-enc:
11198         * modules/uniconv/u16-strconv-from-locale:
11199         * modules/uniconv/u16-strconv-to-enc:
11200         * modules/uniconv/u16-strconv-to-locale:
11201         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
11202         * modules/uniconv/u32-strconv-from-enc:
11203         * modules/uniconv/u32-strconv-from-locale:
11204         * modules/uniconv/u32-strconv-to-enc:
11205         * modules/uniconv/u32-strconv-to-locale:
11206         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
11207         * modules/uniconv/u8-strconv-from-enc:
11208         * modules/uniconv/u8-strconv-from-locale:
11209         * modules/uniconv/u8-strconv-to-enc:
11210         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
11211         * modules/unictype/bidicategory-all:
11212         * modules/unictype/bidicategory-byname:
11213         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
11214         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
11215         * modules/unictype/bidiclass-byname:
11216         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
11217         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
11218         * modules/unictype/block-all, modules/unictype/block-list:
11219         * modules/unictype/block-of, modules/unictype/block-test:
11220         * modules/unictype/category-C, modules/unictype/category-Cc:
11221         * modules/unictype/category-Cf, modules/unictype/category-Cn:
11222         * modules/unictype/category-Co, modules/unictype/category-Cs:
11223         * modules/unictype/category-L, modules/unictype/category-LC:
11224         * modules/unictype/category-Ll, modules/unictype/category-Lm:
11225         * modules/unictype/category-Lo, modules/unictype/category-Lt:
11226         * modules/unictype/category-Lu, modules/unictype/category-M:
11227         * modules/unictype/category-Mc, modules/unictype/category-Me:
11228         * modules/unictype/category-Mn, modules/unictype/category-N:
11229         * modules/unictype/category-Nd, modules/unictype/category-Nl:
11230         * modules/unictype/category-No, modules/unictype/category-P:
11231         * modules/unictype/category-Pc, modules/unictype/category-Pd:
11232         * modules/unictype/category-Pe, modules/unictype/category-Pf:
11233         * modules/unictype/category-Pi, modules/unictype/category-Po:
11234         * modules/unictype/category-Ps, modules/unictype/category-S:
11235         * modules/unictype/category-Sc, modules/unictype/category-Sk:
11236         * modules/unictype/category-Sm, modules/unictype/category-So:
11237         * modules/unictype/category-Z, modules/unictype/category-Zl:
11238         * modules/unictype/category-Zp, modules/unictype/category-Zs:
11239         * modules/unictype/category-all, modules/unictype/category-and:
11240         * modules/unictype/category-and-not, modules/unictype/category-byname:
11241         * modules/unictype/category-longname, modules/unictype/category-name:
11242         * modules/unictype/category-none, modules/unictype/category-of:
11243         * modules/unictype/category-or, modules/unictype/category-test:
11244         * modules/unictype/category-test-withtable:
11245         * modules/unictype/combining-class:
11246         * modules/unictype/combining-class-all:
11247         * modules/unictype/combining-class-byname:
11248         * modules/unictype/combining-class-longname:
11249         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
11250         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
11251         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
11252         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
11253         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
11254         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
11255         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
11256         * modules/unictype/digit, modules/unictype/joininggroup-all:
11257         * modules/unictype/joininggroup-byname:
11258         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
11259         * modules/unictype/joiningtype-all:
11260         * modules/unictype/joiningtype-byname:
11261         * modules/unictype/joiningtype-longname:
11262         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
11263         * modules/unictype/mirror, modules/unictype/numeric:
11264         * modules/unictype/property-all, modules/unictype/property-alphabetic:
11265         * modules/unictype/property-ascii-hex-digit:
11266         * modules/unictype/property-bidi-arabic-digit:
11267         * modules/unictype/property-bidi-arabic-right-to-left:
11268         * modules/unictype/property-bidi-block-separator:
11269         * modules/unictype/property-bidi-boundary-neutral:
11270         * modules/unictype/property-bidi-common-separator:
11271         * modules/unictype/property-bidi-control:
11272         * modules/unictype/property-bidi-embedding-or-override:
11273         * modules/unictype/property-bidi-eur-num-separator:
11274         * modules/unictype/property-bidi-eur-num-terminator:
11275         * modules/unictype/property-bidi-european-digit:
11276         * modules/unictype/property-bidi-hebrew-right-to-left:
11277         * modules/unictype/property-bidi-left-to-right:
11278         * modules/unictype/property-bidi-non-spacing-mark:
11279         * modules/unictype/property-bidi-other-neutral:
11280         * modules/unictype/property-bidi-pdf:
11281         * modules/unictype/property-bidi-segment-separator:
11282         * modules/unictype/property-bidi-whitespace:
11283         * modules/unictype/property-byname:
11284         * modules/unictype/property-case-ignorable:
11285         * modules/unictype/property-cased:
11286         * modules/unictype/property-changes-when-casefolded:
11287         * modules/unictype/property-changes-when-casemapped:
11288         * modules/unictype/property-changes-when-lowercased:
11289         * modules/unictype/property-changes-when-titlecased:
11290         * modules/unictype/property-changes-when-uppercased:
11291         * modules/unictype/property-combining:
11292         * modules/unictype/property-composite:
11293         * modules/unictype/property-currency-symbol:
11294         * modules/unictype/property-dash:
11295         * modules/unictype/property-decimal-digit:
11296         * modules/unictype/property-default-ignorable-code-point:
11297         * modules/unictype/property-deprecated:
11298         * modules/unictype/property-diacritic:
11299         * modules/unictype/property-extender:
11300         * modules/unictype/property-format-control:
11301         * modules/unictype/property-grapheme-base:
11302         * modules/unictype/property-grapheme-extend:
11303         * modules/unictype/property-grapheme-link:
11304         * modules/unictype/property-hex-digit:
11305         * modules/unictype/property-hyphen:
11306         * modules/unictype/property-id-continue:
11307         * modules/unictype/property-id-start:
11308         * modules/unictype/property-ideographic:
11309         * modules/unictype/property-ids-binary-operator:
11310         * modules/unictype/property-ids-trinary-operator:
11311         * modules/unictype/property-ignorable-control:
11312         * modules/unictype/property-iso-control:
11313         * modules/unictype/property-join-control:
11314         * modules/unictype/property-left-of-pair:
11315         * modules/unictype/property-line-separator:
11316         * modules/unictype/property-logical-order-exception:
11317         * modules/unictype/property-lowercase, modules/unictype/property-math:
11318         * modules/unictype/property-non-break:
11319         * modules/unictype/property-not-a-character:
11320         * modules/unictype/property-numeric:
11321         * modules/unictype/property-other-alphabetic:
11322         * modules/unictype/property-other-default-ignorable-code-point:
11323         * modules/unictype/property-other-grapheme-extend:
11324         * modules/unictype/property-other-id-continue:
11325         * modules/unictype/property-other-id-start:
11326         * modules/unictype/property-other-lowercase:
11327         * modules/unictype/property-other-math:
11328         * modules/unictype/property-other-uppercase:
11329         * modules/unictype/property-paired-punctuation:
11330         * modules/unictype/property-paragraph-separator:
11331         * modules/unictype/property-pattern-syntax:
11332         * modules/unictype/property-pattern-white-space:
11333         * modules/unictype/property-private-use:
11334         * modules/unictype/property-punctuation:
11335         * modules/unictype/property-quotation-mark:
11336         * modules/unictype/property-radical:
11337         * modules/unictype/property-sentence-terminal:
11338         * modules/unictype/property-soft-dotted:
11339         * modules/unictype/property-space:
11340         * modules/unictype/property-terminal-punctuation:
11341         * modules/unictype/property-test, modules/unictype/property-titlecase:
11342         * modules/unictype/property-unassigned-code-value:
11343         * modules/unictype/property-unified-ideograph:
11344         * modules/unictype/property-uppercase:
11345         * modules/unictype/property-variation-selector:
11346         * modules/unictype/property-white-space:
11347         * modules/unictype/property-xid-continue:
11348         * modules/unictype/property-xid-start:
11349         * modules/unictype/property-zero-width, modules/unictype/scripts:
11350         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
11351         * modules/unictype/syntax-c-whitespace:
11352         * modules/unictype/syntax-java-ident:
11353         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
11354         * modules/unigbrk/u16-grapheme-breaks:
11355         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
11356         * modules/unigbrk/u32-grapheme-breaks:
11357         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
11358         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
11359         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
11360         * modules/unigbrk/uc-is-grapheme-break:
11361         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
11362         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
11363         * modules/unilbrk/u16-width-linebreaks:
11364         * modules/unilbrk/u32-possible-linebreaks:
11365         * modules/unilbrk/u32-width-linebreaks:
11366         * modules/unilbrk/u8-possible-linebreaks:
11367         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
11368         * modules/unilbrk/ulc-possible-linebreaks:
11369         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
11370         * modules/uniname/uniname, modules/uninorm/base:
11371         * modules/uninorm/canonical-decomposition:
11372         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
11373         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
11374         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
11375         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
11376         * modules/uninorm/nfkc, modules/uninorm/nfkd:
11377         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
11378         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
11379         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
11380         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
11381         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
11382         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
11383         * modules/unistdio/base, modules/unistdio/u-printf-args:
11384         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
11385         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
11386         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
11387         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
11388         * modules/unistdio/u16-u16-sprintf:
11389         * modules/unistdio/u16-u16-vasnprintf:
11390         * modules/unistdio/u16-u16-vasprintf:
11391         * modules/unistdio/u16-u16-vsnprintf:
11392         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
11393         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
11394         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
11395         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
11396         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
11397         * modules/unistdio/u32-u32-asnprintf:
11398         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
11399         * modules/unistdio/u32-u32-sprintf:
11400         * modules/unistdio/u32-u32-vasnprintf:
11401         * modules/unistdio/u32-u32-vasprintf:
11402         * modules/unistdio/u32-u32-vsnprintf:
11403         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
11404         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
11405         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
11406         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
11407         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
11408         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
11409         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
11410         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
11411         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
11412         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
11413         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
11414         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
11415         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
11416         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
11417         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
11418         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
11419         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
11420         * modules/unistr/u16-check, modules/unistr/u16-chr:
11421         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
11422         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
11423         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
11424         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
11425         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
11426         * modules/unistr/u16-move, modules/unistr/u16-next:
11427         * modules/unistr/u16-prev, modules/unistr/u16-set:
11428         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
11429         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
11430         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
11431         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
11432         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
11433         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
11434         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
11435         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
11436         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
11437         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
11438         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
11439         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
11440         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
11441         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
11442         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
11443         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
11444         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
11445         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
11446         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
11447         * modules/unistr/u32-next, modules/unistr/u32-prev:
11448         * modules/unistr/u32-set, modules/unistr/u32-startswith:
11449         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
11450         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
11451         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
11452         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
11453         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
11454         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
11455         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
11456         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
11457         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
11458         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
11459         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
11460         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
11461         * modules/unistr/u8-check, modules/unistr/u8-chr:
11462         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
11463         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
11464         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
11465         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
11466         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
11467         * modules/unistr/u8-next, modules/unistr/u8-prev:
11468         * modules/unistr/u8-set, modules/unistr/u8-startswith:
11469         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
11470         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
11471         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
11472         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
11473         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
11474         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
11475         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
11476         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
11477         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
11478         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
11479         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
11480         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
11481         * modules/uniwbrk/base, modules/uniwbrk/table:
11482         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
11483         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
11484         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
11485         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
11486         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
11487         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
11488         * modules/uniwidth/width, modules/utf16-ucs4:
11489         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
11490         * modules/utf8-ucs4-unsafe:
11491         Change maintainer from Bruno Haible to Daiki Ueno.
11492         This is my guess at the libunistring modules; please feel free
11493         to fix if I guessed incorrectly.
11494         * modules/accept4, modules/acl, modules/acos, modules/acosf:
11495         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
11496         * modules/areadlink, modules/array-list, modules/array-mergesort:
11497         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
11498         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
11499         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
11500         * modules/binary-io, modules/bison-i18n, modules/btowc:
11501         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
11502         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
11503         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
11504         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
11505         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
11506         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
11507         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
11508         * modules/closedir, modules/concat-filename, modules/copy-file:
11509         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
11510         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
11511         * modules/csharpcomp-script, modules/csharpexec:
11512         * modules/csharpexec-script, modules/ctype, modules/diffseq:
11513         * modules/dprintf, modules/dprintf-posix, modules/dup:
11514         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
11515         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
11516         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
11517         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
11518         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
11519         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
11520         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
11521         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
11522         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
11523         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
11524         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
11525         * modules/findprog, modules/findprog-lgpl, modules/floor:
11526         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
11527         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
11528         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
11529         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
11530         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
11531         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
11532         * modules/freadable, modules/freadahead, modules/freadptr:
11533         * modules/freadseek, modules/freopen, modules/frexp:
11534         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
11535         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
11536         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
11537         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
11538         * modules/ftello, modules/full-read, modules/full-write:
11539         * modules/fwritable, modules/fwriteerror, modules/gcd:
11540         * modules/get-rusage-as, modules/get-rusage-data:
11541         * modules/getdtablesize, modules/getrusage, modules/gettext:
11542         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
11543         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
11544         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
11545         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
11546         * modules/iconv, modules/iconv-h, modules/iconv_open:
11547         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
11548         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
11549         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
11550         * modules/integer_length_ll, modules/ioctl, modules/isatty:
11551         * modules/isblank, modules/isnand, modules/isnand-nolibm:
11552         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
11553         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
11554         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
11555         * modules/javaexec, modules/javaexec-script, modules/javaversion:
11556         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
11557         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
11558         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
11559         * modules/lib-symbol-visibility, modules/libsigsegv:
11560         * modules/linked-list, modules/linkedhash-list, modules/list:
11561         * modules/localcharset, modules/locale, modules/localeconv:
11562         * modules/localename, modules/lock, modules/log, modules/log-ieee:
11563         * modules/log10, modules/log10-ieee, modules/log10f:
11564         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
11565         * modules/log1p, modules/log1p-ieee, modules/log1pf:
11566         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
11567         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
11568         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
11569         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
11570         * modules/logf, modules/logf-ieee, modules/login_tty:
11571         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
11572         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
11573         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
11574         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
11575         * modules/mbscspn, modules/mbsinit, modules/mbslen:
11576         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
11577         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
11578         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
11579         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
11580         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
11581         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
11582         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
11583         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
11584         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
11585         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
11586         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
11587         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
11588         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
11589         * modules/posix_spawn, modules/posix_spawn-internal:
11590         * modules/posix_spawn_file_actions_addclose:
11591         * modules/posix_spawn_file_actions_adddup2:
11592         * modules/posix_spawn_file_actions_addopen:
11593         * modules/posix_spawn_file_actions_destroy:
11594         * modules/posix_spawn_file_actions_init:
11595         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
11596         * modules/posix_spawnattr_getpgroup:
11597         * modules/posix_spawnattr_getschedparam:
11598         * modules/posix_spawnattr_getschedpolicy:
11599         * modules/posix_spawnattr_getsigdefault:
11600         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
11601         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
11602         * modules/posix_spawnattr_setschedparam:
11603         * modules/posix_spawnattr_setschedpolicy:
11604         * modules/posix_spawnattr_setsigdefault:
11605         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
11606         * modules/pow, modules/powf, modules/printf-frexp:
11607         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
11608         * modules/progname, modules/propername, modules/pselect:
11609         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
11610         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
11611         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
11612         * modules/read, modules/readdir, modules/readlink:
11613         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
11614         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
11615         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
11616         * modules/relocatable-script, modules/remainder:
11617         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
11618         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
11619         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
11620         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
11621         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
11622         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
11623         * modules/setlocale, modules/sh-quote, modules/shutdown:
11624         * modules/signal, modules/signbit, modules/sigpipe:
11625         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
11626         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
11627         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
11628         * modules/snippet/link-warning, modules/snippet/unused-parameter:
11629         * modules/snprintf, modules/snprintf-posix, modules/spawn:
11630         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
11631         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
11632         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
11633         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
11634         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
11635         * modules/streq, modules/strerror_r-posix, modules/striconv:
11636         * modules/striconveh, modules/striconveha, modules/strncat:
11637         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
11638         * modules/sublist, modules/sys_resource, modules/sys_utsname:
11639         * modules/sys_wait, modules/system-posix, modules/system-quote:
11640         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
11641         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
11642         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
11643         * modules/truncf, modules/truncf-ieee, modules/truncl:
11644         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
11645         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
11646         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
11647         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
11648         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
11649         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
11650         * modules/wait-process, modules/waitpid, modules/wcpcpy:
11651         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
11652         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
11653         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
11654         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
11655         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
11656         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
11657         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
11658         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
11659         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
11660         * modules/write, modules/xconcat-filename, modules/xlist:
11661         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
11662         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
11663         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
11664         * modules/y0, modules/y1, modules/yn:
11665         Remove Bruno Haible as maintainer; if he's the sole maintainer,
11666         change the maintainer to 'all'.  Let's hope someone volunteers.
11668 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
11670         mktime: merge #if/#ifdef usage from glibc
11671         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
11672         as that works with both Glibc's and Gnulib's style.
11673         See thread starting at Siddhesh Poyarekar's bug report at:
11674         http://lists.gnu.org/archive/html/bug-gnulib/2014-06/msg00102.html
11676 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
11678         git-version-gen: improve option descriptions
11679         * build-aux/git-version-gen: Mention that --prefix and --fallback
11680         have a mandatory argument.
11682 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
11684         regex: fix memory leak in compiler
11685         Fix by Andreas Schwab in:
11686         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
11687         * lib/regcomp.c (parse_expression): Deallocate partially
11688         constructed tree before returning error.
11690         regex: merge patch from libc
11691         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
11692         Combine __USE_BSD and __USE_SVID into __USE_MISC.
11693         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
11695 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
11697         acl: port to gcc -Wredundant-decls
11698         From a request by Dmitry Antipov in:
11699         http://lists.gnu.org/archive/html/emacs-devel/2014-06/msg00263.html
11700         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
11701         "#ifndef _GL_ACL_H".
11703 2014-06-11  Bruce Korb  <bkorb@gnu.org>
11704         Jim Meyering  <meyering@fb.com>
11706         parse-duration: eliminate 68-year duration limit
11707         * lib/parse-duration.c: Include "intprops.h".
11708         (TIME_MAX): Rename to MAX_DURATION and define to
11709         TYPE_MAXIMUM(time_t).
11710         * modules/parse-duration (Depends-on): Add intprops.
11711         Reported by Jonas 'Sortie' Termansen.
11713 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11715         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
11716         * modules/pthread (Depends-on): Add 'extensions', as it defines
11717         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
11718         (configure.ac-early): New section.
11719         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
11720         it is no longer needed.
11722 2014-06-14  Pádraig Brady  <P@draigBrady.com>
11724         pthread: define thread-safe macros on some platforms
11725         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
11726         for thread-safe operation on some platforms.
11728 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11730         regex: don't be multithreaded if USE_UNLOCKED_IO.
11731         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
11732         * lib/regex_internal.h: Do not use multithreaded version if
11733         USE_UNLOCKED_IO is defined.  This is a hack, but it works
11734         around a porting bug with coreutils 8.22 on AIX 7.1.
11736 2014-06-11  Daiki Ueno  <ueno@gnu.org>
11738         gettext: update macros to version 0.19
11739         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
11740         depend on gl_EXTERN_INLINE and drop support for older Bison
11741         versions.
11743 2014-06-10  Pádraig Brady  <P@draigBrady.com>
11745         select,poll: fix console handle check on windows 8
11746         lib/poll.c (IsConsoleHandle): Change from testing the lower
11747         2 bits of the handle to the more expensive but accurate syscall.
11748         lib/select.c: Likewise.
11750 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
11752         select: fix waiting on anonymous pipes on MS-Windows
11753         * lib/select.c (rpl_select): Fall back to polling when select()
11754         indicates there is nothing to check, while due to the timeout not
11755         expiring, activity is indicated on one of the handles.
11756         Also clear the TIMEOUT argument if the timer does expire.
11758 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
11760         times: fix to return non constant value on MS-Windows
11761         * lib/times.c (times): Don't use the process creation time,
11762         rather clock() which on windows returns the number of
11763         clock ticks since the process started.
11765 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
11767         isatty: fix to work on windows 8
11768         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
11769         2 bits of the handle to the more expensive but accurate syscall.
11771 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
11773         maint: fix typo in fdl.texi
11774         * doc/fdl.texi: Fix typo (missing '@').
11775         Somehow this was in fdl.texi but not fdl-1.3.texi.
11777 2014-06-06  Ben Walton  <bdwalton@gmail.com>
11779         mountlist: avoid hasmntopt const type warning on solaris
11780         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
11781         with char * instead of const char *.  Passing the constant string
11782         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
11783         to avoid the warning.
11785 2014-06-04  Eric Blake  <eblake@redhat.com>
11787         maintainer-makefile: delete obsolete code
11788         * top/maint.mk (build_aux): Drop old code, as threatened.
11790         maintainer-makefile: avoid spurious error messages
11791         * top/maint.mk (syntax-check): Guard definition and use of
11792         $(shell) by whether Makefile is present.
11794 2014-06-03  Ben Walton  <bdwalton@gmail.com>
11796         rename: avoid unused-but-set-variable compiler warning
11797         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
11798         it is possible that dst_exists may be set but not used.  Mark it with
11799         the unused attribute to avoid compiler warnings.
11801 2014-06-02  Ben Walton  <bdwalton@gmail.com>
11803         rename: mark a label as potentially unused
11804         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
11805         by marking the out label as potentially unused.
11806         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
11808 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
11810         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
11811         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
11813 2014-06-02  Ben Walton  <bdwalton@gmail.com>
11815         acl: apply pure attribute to two functions
11816         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
11817         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
11819 2014-06-01  Pádraig Brady  <P@draigBrady.com>
11821         gnulib-common.m4: add _GL_UNUSED_LABEL
11822         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
11823         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
11825 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
11827         dup2, fcntl, fcntl-h: port to AIX 7.1
11828         This fixes some porting problems discovered when testing the latest
11829         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
11830         in grep but it could be important for other applications.
11831         * doc/posix-functions/dup2.texi:
11832         * doc/posix-functions/fcntl.texi:
11833         * doc/posix-headers/fcntl.texi:
11834         Document AIX bugs.
11835         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
11836         Define to 0 if outside 'int' range.
11837         * m4/dup2.m4 (gl_FUNC_DUP2):
11838         * m4/fcntl.m4 (gl_FUNC_FCNTL):
11839         Check for getdtablesize.  If it's available, test a value just
11840         outside its range instead of testing 1000000.  When cross-compiling,
11841         guess that AIX will fail this improved test.
11843 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
11845         printf, config.rpath: Port to FreeBSD 10.
11846         Problem reported by Tijl Coosemans in:
11847         http://lists.gnu.org/archive/html/bug-gnulib/2014-05/msg00078.html
11848         * build-aux/config.rpath (hardcode_libdir_flag_spec)
11849         (hardcode_direct): Simplify FreeBSD configuration.
11850         (library_names_spec): Don't mishandle FreeBSD 10+.
11851         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
11852         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
11853         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
11854         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
11855         Don't mishandle FreeBSD 10+ when cross-compiling.
11857         ftoastr: work around compiler bug in IBM xlc 12.1
11858         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
11859         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
11860         around a compiler bug in IBM xlc 12.1.0.0: it complains
11861         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
11862         _GL_FLT_PREC_BOUND.'
11864 2014-05-30  Kieran Colford  <colfordk@gmail.com>
11866         valgrind-tests: fixed misleading help message
11867         * m4/valgrind-tests.m4: The help message generated by configure
11868         implied that valgrind was disabled by default, which it wasn't.
11869         Adjusted the help message using s/enable/disable/ to clarify.
11871 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
11873         isfinite, isinf, isnan tests: fix for little-endian PowerPC
11874         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
11875         first double of a PowerPC "double double" pair.
11876         * tests/test-isinf.c (test_isinfl): Likewise.
11877         * tests/test-isnan.c (test_long_double): Likewise.
11878         * tests/test-isnanl.h (main): Likewise.
11879         * tests/test-signbit.c (test_signbitl): Likewise.
11881 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11883         exclude-tests: port to AIX 7.1
11884         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
11885         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
11886         the regex code uses locks.
11888 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
11890         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
11891         Without this fix, Emacs would sometimes call sigprocmask instead
11892         of pthread_sigmask, which is a no-no in multithreaded applications.
11893         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
11894         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
11895         Suppress check for pthread_sigmask working without -lpthread if
11896         the application always links with -lpthread.  Do not link with
11897         $LIBMULTITHREAD if gl_THREADLIB is not defined.
11898         * m4/timer_time.m4 (gl_TIMER_TIME):
11899         Require gl_THREADLIB only if it is defined.  Do not append
11900         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
11902 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
11904         gnulib-tool: wget translations using --no-verbose rather than --quiet
11905         This allows the user to see error messages if any (--quiet hides them)
11906         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
11908 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
11910         gnulib-tool: adjust translation wget to avoid a https redirection
11911         Context: http://translationproject.org/latest/gnulib redirects to
11912            https://translationproject.org/latest/gnulib/
11913         Rationale: if the user falls back to wget, she doesn't have rsync and
11914         is probably in a minimal build environment, where packages such as
11915         'ca-certificates' are missing as well, resulting in a failed (and
11916         difficult to detect since ignored) translation initial fetch.
11917         Consequently let's avoid https if possible, and add the missing
11918         trailing slash.  This also avoids an unnecessary 302 redirection.
11919         * gnulib-tool: Add trailing slash to gnulib URL.
11921 2014-05-22  Pádraig Brady  <P@draigBrady.com>
11923         getlogin_r-tests: check return value rather than errno
11924         * tests/test-getlogin_r.c (main): As per POSIX we should be
11925         verifying the return value from getlogin_r() rather than errno.
11927 2014-05-22  Pádraig Brady  <P@draigBrady.com>
11929         getlogin_r-tests: fix various issues in recent change
11930         * tests/test-getlogin_r.c: Include required headers that were
11931         missed in recent commit eec20b4e.
11932         Also consistently check the errno rather than the return value from
11933         getlogin_r as POSIX only specifies that non zero is returned on error.
11934         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
11936 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
11938         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
11939         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
11940         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
11941         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
11942         * lib/spawn-pipe.c:
11943         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
11944         and then 'int open64(const char *, int, ...);', which means the
11945         declaration for 'open' gets lost if we later '#undef open'.
11946         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
11947         where the compilation reported the non-fatal error "In function
11948         'openat_proc_name' ... warning: implicit declaration of function
11949         'open'".  In this case the error is relatively harmless, but in
11950         other cases it might not be so minor.
11952 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
11954         xalloc: don't potentially generate invalid code for xmemdup calls
11955         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
11956         this function can initialize the newly-allocated storage with new
11957         pointers, which means this function is not malloc-like.  See:
11958         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
11960 2014-05-19  Pádraig Brady  <P@draigBrady.com>
11962         getlogin_r-tests: avoid false failure under sudo/ssh etc.
11963         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
11964         changes from commit 97249cf29 to not depend on environment variables.
11966 2014-05-18  Pádraig Brady  <P@draigBrady.com>
11968         getlogin-tests: avoid false failure under cron
11969         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
11970         since that's not what's under test.  Centos 6 was seen to return
11971         EINVAL for ttyname() when run from cron.
11973 2014-05-16  Jim Meyering  <meyering@fb.com>
11975         mbrtowc.m4: fix a comment typo
11976         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
11977         emitted documentation string.
11979 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
11981         mbrlen, mbrtowc: fix bug with empty input
11982         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
11983         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
11984         so this is mainly for documentation.
11985         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
11986         (gl_FUNC_MBRTOWC): Use it.
11987         * tests/test-mbrtowc.c (main): Test for the bug.
11989 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
11991         doc: document mbrtowc and mbrlen problem with empty input
11992         * doc/posix-functions/mbrlen.texi (mbrlen):
11993         * doc/posix-functions/mbrtowc.texi (mbrtowc):
11994         Document portability problem when the input string is empty.  See:
11995         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
11997         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
11998         Problem reported by Eli Zaretskii in:
11999         http://lists.gnu.org/archive/html/bug-grep/2014-05/msg00118.html
12000         * doc/posix-functions/execl.texi (execl):
12001         * doc/posix-functions/execle.texi (execle):
12002         * doc/posix-functions/execlp.texi (execlp):
12003         * doc/posix-functions/execv.texi (execv):
12004         * doc/posix-functions/execve.texi (execve):
12005         * doc/posix-functions/execvp.texi (execvp):
12006         Mention spawn+exit problem on non-Cygwin Windows platforms.
12008 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
12010         getlogin-tests: avoid false failure under sudo/ssh etc.
12011         * modules/getlogin-tests (configure.ac): Check for ttyname().
12012         * tests/test-getlogin.c (main): Don't depend on environment variables
12013         to correlate with getlogin(), since sudo and ssh etc. can tamper
12014         with the LOGNAME and USER env vars.  Instead lookup the name from
12015         the uid associated with the stdin tty.
12017 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
12019         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
12020         These were found when building the latest grep snapshot on IRIX 6.5.
12021         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
12022         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
12023         never used later.
12024         * lib/quotearg.c (quoting_options_from_style):
12025         * lib/xstrtol.c (__xstrtol):
12026         Use enum instead of 0, to pacify IRIX 6.5 cc.
12028 2014-04-18  Pádraig Brady  <P@draigBrady.com>
12030         gitlog-to-changelog: revert inclusion of git-log-fix file
12031         * build-aux/git-log-fix: Delete dummy file.
12032         * modules/gitlog-to-changelog: Don't reference (overwrite)
12033         the project specific git-log-fix file.
12035 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
12037         maint.mk: Relax the copyright check to cater for non FSF projects
12038         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
12039         to not require the "Free" suffix after the copyright years.
12041 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
12043         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
12044         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
12045         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
12046         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
12047         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
12049 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
12051         exclude: port to strict C99
12052         Strict C does not allow converting a function pointer to void *
12053         and vice versa.  Pass a pointer to a function pointer instead.
12054         * lib/exclude.c (add_exclude_file):
12055         Pass the address of the function pointer.
12056         (call_addfn): And deference the address here, to match.
12058 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
12060         regex: do not depend on malloc-gnu
12061         * modules/regex (Depends-on): Remove malloc-gnu.
12062         It's no longer needed, because of the 2012-12-29 patch
12063         "regex: port to hosts where malloc (0) == NULL".
12064         Reported by Nathan Kennedy in:
12065         http://lists.gnu.org/archive/html/bug-gnulib/2014-04/msg00026.html
12067 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
12069         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
12070         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
12071         * doc/posix-functions/expl.texi: Mention the workaround.
12073 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
12075         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
12076         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
12077         size to be zero even when the pointer is nonnull.  This
12078         accommodates the use case where P is malloc (0) and *PN is 0 on a
12079         host where malloc (0) yields nonnull.
12081 2014-04-09  Eric Blake  <eblake@redhat.com>
12083         fts: avoid unnecessary strlen calls
12084         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
12086 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
12088         fts: avoid unnecessary strlen calls
12089         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
12090         when that can be faster than strlen.
12092 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
12094         fts: avoid unnecessary strlen calls
12095         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
12096         (fts_build): Store the length of the dp->d_name entry in a local variable
12097         instead of calling strlen() several times via the above, removed macro.
12098         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
12099         run by ~4%, yet this reduces the execution time by about a third if run
12100         via "ltrace -c rm -rf some-dir".
12102 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
12104         obstack: Remove ancient NeXTSTEP gcc support conditional
12105         This change will ease merging with glibc.  The "#if ... __NEXT__"
12106         causes a warning with -Wundef which glibc now enables by default.
12107         Problem reported by Will Newton in
12108         <http://lists.gnu.org/archive/html/bug-gnulib/2014-03/msg00032.html>.
12109         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
12110         so go with that.
12111         * lib/obstack.h (__extension__):
12113 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
12115         obstack: merge with glibc changes
12116         * lib/obstack.c, lib/obstack.h: Merge from glibc.
12117         This is mostly indenting and commentary changes.
12118         Instances of 'register' have been removed.
12120 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
12122         strftime: wrap macros in "do {...} while(0)"
12123         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
12124         this macro in "do {...} while(0)" to prevent false use as a
12125         single statement, e.g., in an un-braced "{}" else-block.
12126         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
12127         (strftime_case_): Remove 'else' after 'goto' - which was the
12128         only non-fatal, un-braced use of one of the above macros.
12129         Spotted by coverity (NESTING_INDENT_MISMATCH).
12131 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
12133         modechange: avoid memory leaks for invalid octal modes
12134         * lib/modechange.c (mode_compile): During the parsing of
12135         notations like +40, free the 'mc' buffer for invalid mode
12136         strings like +17777 (greater than the maximum octal mode),
12137         =18 (bad octal mode characters) or u=1 ('affected' with
12138         octal modes).
12139         Reproducer, e.g.:
12140             $ valgrind --leak-check=full chmod +17777 file
12141         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
12142         add notations +40, 00440, etc.".
12143         Spotted by coverity (RESOURCE_LEAK).
12145 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
12147         gitlog-to-changelog: include a dummy git-log-fix file
12148         Problem reported by Nathan Stratton Treadway in:
12149         http://lists.gnu.org/archive/html/bug-tar/2014-03/msg00082.html
12150         * build-aux/git-log-fix: New file.
12152 2014-03-13  Jim Meyering  <meyering@fb.com>
12154         gitlog-to-changelog: also include the file, git-log-fix
12155         * modules/gitlog-to-changelog (Files): Add git-log-fix.
12156         Reported by Assaf Gordon.
12158 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
12160         regex: port to OS X 10.8.5 en_US.UTF-8 locale
12161         This fixes a bug when ignoring case and when comparing the
12162         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
12163         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
12164         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
12165         titlecase letter is neither lowercase nor uppercase, but
12166         uppercasing the titlecase letter (via towupper) yields the
12167         uppercase letter, so the two letters should match when ignoring case.
12168         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
12169         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
12170         Don't test whether a character is lowercase before uppercasing it.
12172 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
12174         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
12175         This is basically one of the options Bruno Haible proposed in:
12176         http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00282.html
12177         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
12178         * lib/stdint.in.h: Use it.
12179         * modules/stdint (Depends-on): Add sys_types.
12181 2014-02-26  Pádraig Brady  <P@draigBrady.com>
12183         parse-datetime: fix crash or infloop in TZ="" parsing
12184         * lib/parse-datetime.y (parse_datetime): Break out of the
12185         TZ="" parsing loop once the second significant " is found.
12186         Also skip over any subsequent whitespace to be consistent
12187         with the non TZ= case.
12188         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
12190 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
12192         savedir: new symbol for fast-read version
12193         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
12194         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
12195         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
12196         http://lists.gnu.org/archive/html/coreutils/2014-02/msg00037.html
12198 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
12200         unistd: port readlink to Mac OS X 10.3.9
12201         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
12202         around self-include problem in Mac OS X 10.3.9 when combined with
12203         readlink module.  Problem reported by Klaus Zietler in
12204         <http://bugs.gnu.org/16825>.
12206 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
12208         diffseq: remove TOO_EXPENSIVE heuristic
12209         Problem with diffutils reported by Vincent Lefevre in
12210         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
12211         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
12212         Although appropriate for circa-1993 hardware, these days the heuristic
12213         seems to be more trouble than it's worth.
12214         * lib/diffseq.h: Modernize citations.
12215         (struct context): Remove member too_expensive.
12216         All uses changed.
12217         (struct partition): Remove members lo_minimal, hi_minimal.
12218         All uses changed.
12219         (diag, compareseq): Remove arg find_minimal.  All uses changed.
12220         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
12221         1993 to make 'diff' run faster (but not as well) on large inputs.
12222         These days, computers are fast enough that it's typically better
12223         to run slower but more accurately.
12224         * lib/fstrcmp.c: Remove duplicate comment.
12225         * lib/fstrcmp.c (strcmp_bounded):
12226         * lib/git-merge-changelog.c (compute_differences):
12227         Adjust to diffseq.h changes.
12228         * NEWS: Document the change.
12230         savedir: simplify by using stpcpy
12231         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
12232         (streamsavedir): Use stpcpy instead.
12233         * modules/savedir (Depends-on): Add stpcpy.
12235 2014-02-21  Pádraig Brady  <P@draigBrady.com>
12237         spawn: fix link error on uclibc
12238         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
12239         to incorporate -lrt if needed (on uclibc for example).
12240         * modules/posix_spawn: Reference the substituted LIB.
12242 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
12243         timer: fix uClibc detection of threading
12244         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
12245         enabled in uClibc.
12247 2014-02-21  Eric Blake  <eblake@redhat.com>
12249         maintainer-makefiles: provide AC_PROG_SED for older autoconf
12250         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
12252 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
12254         exclude: add support for posix regexps
12256         This commit adds support for POSIX extended regular expressions
12257         and fixes a long-standing memory leak (pattern buffer was never
12258         freed).  It also implements a new interface function to read
12259         exclude patterns from a FILE, which passes an additional parameter
12260         to its callback function, thereby allowing to preserve its state
12261         between invocations.
12263         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
12264         (pattern_buffer): New struct.
12265         (exclude): New member patbuf.
12266         (exclude_add_pattern_buffer): New function.
12267         (free_exclude_segment): Free regexps.
12268         (free_exclude): Free allocated pattern buffers.
12269         (exclude_patopts): New function.
12270         (file_pattern_matches): Use exclude_patopts.
12271         (add_exclude): support regexps.
12272         (add_exclude_fp): New function.
12273         (add_exclude_file): Rewrite using add_exclude_fp.
12274         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
12275         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
12276         (add_exclude_fp)
12277         (add_exclude_file): Rewrite using add_exclude_fp.
12278         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
12279         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
12280         (add_exclude_fp)
12281         (exclude_add_pattern_buffer): New prototypes.
12282         * modules/exclude: Depends on regex and filename.
12284 2014-02-20  Eric Blake  <eblake@redhat.com>
12286         maintainer-makefiles: use $(SED) for syntax check
12287         * modules/maintainer-makefile (configure.ac): Check for sane sed.
12288         * top/maint.mk: Change sed to $(SED).
12290 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
12291             Paul Eggert  <eggert@cs.ucla.edu>
12293         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
12294         Patch based on an idea by Dick Streefland in
12295         <https://savannah.gnu.org/patch/?7892>.
12296         * NEWS: Document this.
12297         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
12298         (direntry_t, comparison_function): New types.
12299         (direntry_cmp_name): New function.
12300         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
12301         (streamsavedir, savedir): New arg OPTION.
12302         (streamsavedir): Simplify memory allocation.
12303         (fdsavedir): Remove.
12304         * lib/savedir.h (enum savedir_option): New type.
12305         (streamsavedir, savedir): New arg OPTION.
12306         (fdsavedir): Remove.
12308 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
12310         file-type: add support for doors and other less-common file types
12311         Problem with S_ISDOOR reported by Rich Burridge.
12312         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
12313         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
12314         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
12316 2014-01-23  Eric Blake  <eblake@redhat.com>
12318         pthread: work around winpthread header pollution on mingw
12319         * lib/time.in.h: Move pthread workarounds...
12320         * lib/pthread.in.h: ...here.
12321         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
12322         detect macro pollution on mingw.
12323         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
12325 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
12327         qacl: check for fchmod
12328         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
12329         and qset-acl.c both use HAVE_FCHMOD.
12331 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
12333         fdopen-tests: port to Tru64
12334         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
12335         descriptor that is not open, as POSIX doesn't specify the
12336         resulting behavior and the test does not work on Tru64.
12337         Problem reported by Steven M. Schweda in:
12338         http://lists.gnu.org/archive/html/bug-gnulib/2014-01/msg00079.html
12340         stdalign: port to HP-UX compilers
12341         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
12342         if __HP_cc or __HP_aCC are nonzero.
12344 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
12346         strtoimax: port to platforms lacking 'long long'
12347         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
12348         check whether strtoll is declared, which causes the C file to
12349         wrongly report an error.  Problem reported by Steven M. Schweda in:
12350         http://lists.gnu.org/archive/html/bug-diffutils/2014-01/msg00003.html
12351         * lib/strtoimax.c (strtoull):
12352         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
12353         (strtoll): Declare only if HAVE_LONG_LONG_INT.
12355 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
12357         relocatable-perl: fix texi syntax
12358         * doc/relocatable-maint.texi: Escape braces.
12360 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
12362         relocatable-perl: like relocatable-script, but for Perl scripts
12363         * build-aux/relocatable.pl.in: Add.
12364         * doc/relocatable-maint.texi: Add documentation.
12365         * modules/relocatable-perl: Add.
12367 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
12369         tests: fix export bug in previous patch
12370         Problem reported by Jim Meyering.
12371         * tests/init.sh (re_shell): New var, which is exported instead of
12372         re_shell_.
12374         tests: simplify porting to Solaris 10 /bin/sh
12375         Some test cases in 'grep' need a shell that groks '$(';
12376         export re_shell_ for their benefit.  Problem reported for 'grep'
12377         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
12378         * tests/init.sh (re_shell_): Export if it's used.
12380 2014-01-06  Eric Blake  <eblake@redhat.com>
12382         md5, sha1, sha256, sha512: support older autoconf
12383         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
12384         for autoconf < 2.63b.
12386         include_next: port to autoconf 2.63
12387         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
12389 2014-01-04  Jim Meyering  <meyering@fb.com>
12391         maint: add a gnulib-local rule to keep non-ascii out of .texi files
12392         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
12393         so that "make sc_maint" will ding anyone who puts non-ascii
12394         in any of gnulib's .texi files.
12396 2014-01-03  Jim Meyering  <meyering@fb.com>
12398         freadable, fwritable, fwriting: declare with the "pure" attribute
12399         * lib/freadable.h (freadable): Declare with the "pure" attribute.
12400         * lib/fwritable.h (fwritable): Likewise.
12401         * lib/fwriting.h (fwriting): Likewise.
12402         Suggested by Bruno Haible.
12404         maint.mk: adapt openat.h-include-without-use test
12405         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
12406         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
12407         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
12408         With this change, running "make sc_maint" in gnulib's top-level
12409         directory now passes for me.
12411 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
12413         doc: use ASCII in .texi files where UTF-8 isn't needed
12414         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
12415         * doc/posix-functions/setkey.texi, doc/regex.texi:
12416         Use ASCII input, not UTF-8.
12418 2014-01-02  Jim Meyering  <meyering@fb.com>
12420         freading: declare with the "pure" attribute
12421         * lib/freading.h (freading): Declare with the "pure" attribute.
12423         manywarnings: remove -Wmudflap
12424         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
12425         it is no longer supported in gcc-4.9-to-be.
12427 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12429         relocatable-script: remove unused code
12430         Problem reported by Reuben Thomas in:
12431         http://lists.gnu.org/archive/html/bug-gnulib/2013-12/msg00117.html
12432         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
12434 2014-01-01  Jim Meyering  <meyering@fb.com>
12436         maint: fix public-submodule-commit to work with newer git
12437         * top/maint.mk (public-submodule-commit): Remove excess quoting.
12438         We were over-quoting the test arguments, and somewhere prior to
12439         version 1.8.5.2.229, git stopped removing those excess quotes,
12440         which made the test fail, since the unexpanded strings would
12441         always differ; using GIT_TRACE=1 confirmed that the git merge-base
12442         command wasn't even being run.
12444 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
12446         doc: update main copyright year
12447         * doc/gnulib.texi: Update copyright date.
12449 2014-01-01  Eric Blake  <eblake@redhat.com>
12451         version-etc: new year
12452         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
12453         * all files: run 'make update-copyright'
12455 2013-12-24  Eric Blake  <eblake@redhat.com>
12457         passfd: give nicer error for recvfd at eof
12458         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
12459         * tests/test-passfd.c (main): Enhance test to cover this.
12461 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12463         gettimeofday: port recent C++ fix to Emacs
12464         Without this further patch, Emacs won't build due to
12465         the portcheck failing.  Also, this simplifies the patch a bit.
12466         * lib/time.in.h (localtime, gmtime): Don't replace unless
12467         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
12468         * lib/time.in.h (localtime, gmtime):
12469         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
12470         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
12471         * modules/time (time.h):
12472         Don't worry about the possibility of localtime and gmtime
12473         being absent; they're present in all C libraries we know about.
12474         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
12475         Don't assume sys_time is present and has been initialized.
12476         Instead, use a hack that should work even if it hasn't been.
12477         Don't use a portcheck for gmtime or localtime; this supports
12478         the hack.
12479         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
12481 2013-12-17  John W. Eaton  <jwe@gnu.org>
12483         gettimeofday: fix C++ crosscompilation
12485         Never replace gmtime and localtime by macros when compiling with
12486         C++, this prevents <ctime> from being included.
12488         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
12489         define gmtime and localtime as preprocessor macros.  Instead
12490         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
12491         REPLACE_LOCALTIME substitutions.
12492         * lib/time.in.h: Declare gmtime and localtime when needed.
12493         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
12494         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
12495         * modules/time: Depend on gettimeofday, and substitute the above
12496         variables in time.h.
12498 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
12500         qacl: port to Windows better
12501         See Eli Zaretskii in
12502         <http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00593.html>.
12503         * lib/file-has-acl.c (acl_access_nontrivial):
12504         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
12505         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
12507 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
12509         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
12510         * lib/gl_openssl.h: Cast void pointers to a specific type.
12512 2013-12-07  Pádraig Brady  <P@draigBrady.com>
12514         open-tests: fix build failure with -Werror=old-style-declaration
12515         * tests/test-open.h: Reorder the inline to avoid the issue.
12517 2013-12-07  Pádraig Brady  <P@draigBrady.com>
12519         md5, sha1, sha256, sha512: fix link error with partial libcrypto
12520         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
12521         init time, so that if early checks find crypto routines,
12522         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
12523         avoiding link failures.
12525 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
12527         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
12528         This provides a new way to specify the default for
12529         gl_CRYPTO_CHECK, one that is reflected in the --help message.
12530         Emacs uses this, as well as the old way.
12531         This attempts to implement a suggestion by Pádraig Brady in
12532         <http://lists.gnu.org/archive/html/coreutils/2013-12/msg00080.html>.
12533         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
12534         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
12536         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
12537         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
12538         Add support for a new option, --with-openssl=auto, which causes
12539         the library to be used if available and silently ignored if not.
12540         Add support to allow configure.ac to specify its own
12541         default, by setting with_openssl_default before invoking gl_INIT.
12543 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
12545         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
12546         Problem reported by Daiki Ueno in:
12547         http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00052.html
12548         * tests/test-open.h (__always_inline):
12549         New macro, if not already defined.
12550         (test_open): Use it.
12552 2013-12-04  Eric Blake  <eblake@redhat.com>
12554         include_next: minimize code duplication
12555         * modules/include_next (Depends-on): Add absolute-header.
12556         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
12557         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
12559 2013-12-04  Pádraig Brady  <P@draigBrady.com>
12561         getcwd: fix compile error in configure check
12562         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
12564 2013-12-04  Pádraig Brady  <P@draigBrady.com>
12566         regex: suppress core dumps from detection code
12567         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
12568         to suppress core dumps that may well occur on glibc systems.
12569         These core dumps might not be cleaned up automatically, or could
12570         trigger some system core dump handling logic.
12572 2013-12-03  Pádraig Brady  <P@draigBrady.com>
12574         md5, sha1, sha256, sha512: support mandating use of openssl
12575         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
12576         description, to list the now 3 separate options.  also don't
12577         mention the default=no, since this is implicit given the option
12578         is described as --with-openssl rather than --without-openssl.
12579         If projects change the default they're free to document that.
12580         with --with-openssl[=yes] we now error out when the specified
12581         hash algorithm is not available in libcrypto.
12583 2013-12-03  Ivailo  <xakepa10@gmail.com>
12585         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
12586         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
12587         -Wformat-nonliteral checks, as these edge cases are part of the test.
12589 2013-12-03  Eric Blake  <eblake@redhat.com>
12591         regex: avoid glibc deadlock during configure
12592         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
12593         glibc bug 15078 in turn triggers bug 16159.
12594         Reported by Michal Privoznik.
12596 2013-12-02  Pádraig Brady  <P@draigBrady.com>
12598         md5, sha1, sha256, sha512: use openssl routines if available.
12599         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
12600         routines will be used if available, requiring apps to link @LIB_CRYPTO@
12601         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
12602         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
12603         in the standard system location.
12604         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
12605         * m4/sha256.m4: Likewise with SHA256.
12606         * m4/sha512.m4: Likewise with SHA512.
12607         * m4/md5.m4: Likewise with MD5.
12608         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
12609         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
12610         * lib/sha256.h: Likewise with SHA256.
12611         * lib/sha512.h: Likewise with SHA512.
12612         * lib/md5.h: Likewise with MD5.
12613         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
12614         * lib/sha256.c: Likewise with SHA256.
12615         * lib/sha512.c: Likewise with SHA512.
12616         * lib/md5.c: Likewise with MD5.
12617         * modules/crypto/sha1 (Link:): Add the new optional lib.
12618         (Depends-on:): Add dependency on extern-inline.
12619         * modules/crypto/sha256: Likewise.
12620         * modules/crypto/sha512: Likewise.
12621         * modules/crypto/md5: Likewise.
12622         * modules/crypto/sha1-tests: Reference the lib here too.
12623         * modules/crypto/md5-tests: Likewise.
12624         * modules/crypto/gc-des-tests: Likewise.
12625         * modules/crypto/gc-hmac-md5-tests: Likewise.
12626         * modules/crypto/gc-hmac-sha1-tests: Likewise.
12627         * modules/crypto/gc-hmac-sha256-tests: Likewise.
12628         * modules/crypto/gc-hmac-sha512-tests: Likewise.
12629         * modules/crypto/gc-md5-tests: Likewise.
12630         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
12631         * modules/crypto/gc-sha1-tests: Likewise.
12632         * modules/crypto/gc-tests: Likewise.
12633         * modules/crypto/hmac-md5-tests: Likewise.
12634         * modules/crypto/hmac-sha1-tests: Likewise.
12635         * modules/crypto/hmac-sha256-tests: Likewise.
12636         * modules/crypto/hmac-sha512-tests: Likewise.
12638 2013-11-29  RV1971  <rv1971@web.de>
12640         base64: (trivial) fix compilation regression on some compilers
12641         * lib/base64.c: Don't return the void function,
12642         instead split to a separate return statement.
12644 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
12646         ignore-value: revert previous code change
12647         * lib/ignore-value.h (ignore_value): Use __extension__ and
12648         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
12649         <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00102.html>.
12650         Change the comment to try to explain this better.
12652 2013-11-27  Pádraig Brady  <P@draigBrady.com>
12654         selinux-h: improve stub types and add more stub functions
12656         * lib/se-selinux.in.h: Change security_context_t to a typedef
12657         rather than a define, as it's a pointer type and so is better
12658         as a typedef to avoid issues declaring multiple variables
12659         with the comma operator.  Also add stub for string_to_security_class().
12660         * lib/se-context.in.h: Add stub functions for
12661         context_{type,range,role,user}_get().
12663 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
12665         ignore-value: prefer GCC version back through 2.0
12666         The code didn't match the comments, so I did a bit of software
12667         archaeology.  GCC 2.0 seems to support __extension__ and
12668         __typeof__, so fix both code and comments to use 2.0.
12669         * lib/ignore-value.h (ignore_value): Use __extension__ and
12670         __typeof__ for GCC 2.0 through 3.3, too.
12672 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
12674         pty: Activate the signature wrapper of forkpty.
12675         The intended preprocessor macro HAVE_FORKPTY is
12676         never defined, yet `lib/forkpty.c' depends on it.
12678         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
12679         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
12680         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
12682 2013-11-18  Jim Meyering  <meyering@fb.com>
12683         and Paul Eggert  <eggert@cs.ucla.edu>
12685         quotearg: don't attempt to store 1 << 31 into an "int"
12686         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
12687         gcc's new -fsanitize=undefined and running its tests triggered some
12688         new test failures due to undefined behavior, all with this diagnostic:
12689           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
12690             cannot be represented in type int
12691         Rather than shifting "1" left to form a mask, shift the bits right and
12692         simply use "1" as the mask.
12694 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
12696         error: depend on stdio
12697         Problem reported by Nikos Mavrogiannopoulos in
12698         <http://lists.gnu.org/archive/html/bug-gnulib/2013-11/msg00084.html>
12699         * modules/error (Depends-on): Add stdio.
12701 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
12703         * doc/relocatable-maint.texi (Supporting Relocation): Improve
12704         wording.
12705         Reported by Reuben Thomas <rrt@sc3d.org>.
12707 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
12709         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
12710         New function and macro, to work around _DARWIN_C_SOURCE problem.
12711         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
12713 2013-11-11  Pádraig Brady  <P@draigBrady.com>
12715         base64: provide a fast path for encoding well sized buffers
12716         Avoid conditionals in the base64 encoding loop,
12717         which was seen to give 60% better throughput.
12718         * lib/base64.c (base64_encode_fast): A new function to be called
12719         when we don't want to NUL terminate, and we have enough space
12720         in the output to encode the given input.
12721         (base64_encode): Call the _fast() version when appropriate.
12722         Also remove a redundant mask with 0x3F on the first encoded byte.
12724 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
12726         extern-inline: port better to OS X 10.9
12727         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
12728         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
12729         OS X 10.9, except for g++ where the bug is still present.
12730         See <http://trac.macports.org/ticket/41033>.
12732 2013-11-08  Eric Blake  <eblake@redhat.com>
12734         fpending: fix regression on DragonFly BSD
12735         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
12736         * lib/fpending.h (__fpending): Don't declare twice.
12737         Reported by GW in
12738         <https://lists.gnu.org/archive/html/bug-m4/2013-11/msg00000.html>
12740 2013-11-05  Jim Meyering  <meyering@fb.com>
12742         hash: relax license to LGPLv2+, for libguestfs
12743         * modules/hash (License): Change from GPL to LGPLv2+.
12745 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
12747         intprops: port to Oracle Studio c99
12748         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
12749         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
12751 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
12753         obstack: pacify HP C
12754         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
12755         warning "conversion from pointer to smaller integer" from HP
12756         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
12757         C89 or later nowadays, so cast to void instead of int.  Privately
12758         reported by H.Merijn Brand.  Also, change header to match glibc's,
12759         to make checking against glibc easier.
12761 2013-10-29  Jim Meyering  <meyering@fb.com>
12763         maint.mk: prefer gpgv2 over gpgv
12764         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
12765         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
12766         Reported by Gary Vaughan.
12768 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
12770         isnan: port to VAX
12771         Reported by John Klos for NetBSD-5/VAX in
12772         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00133.html>.
12773         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
12774         (FUNC): Use it.
12776 2013-10-28  Jim Meyering  <meyering@fb.com>
12778         gnulib-tool: protect against CDPATH
12779         * gnulib-tool: Many "cd" built-in functions print a directory name
12780         to stdout when CDPATH is set, e.g.,
12781           $ bash -c 'CDPATH=/; cd tmp'
12782           /tmp
12783         Unset it, when possible.  Prompted by a comment from Bruce Korb.
12785         maint.mk: restore functionality removed by recent change...
12786         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
12787         the context of a shallow-cloned gnulib repository: "git describe"
12788         would fail in such a directory.  However, that change made it so
12789         the reported gnulib revision no longer includes the version number
12790         or a commit count, even when run from a full clone.
12791         * top/maint.mk (gnulib-version): Use the full "git describe"
12792         output when possible, e.g., the form above, rather than the
12793         abbreviated, no-tag, no-commit-count string, and fall back to
12794         using a 10-byte hash, rather than the default minimal-length
12795         hash prefix, since while the minimal-length one may be fine today,
12796         it is likely not to be unique for very long.
12798 2013-10-26  Jim Meyering  <meyering@fb.com>
12800         maint.mk: fix "release" target to build _version
12801         This fixes a bug in README-release whereby following the outlined
12802         steps, one would publish a tarball whose programs would report
12803         --version output not consistent with the package version number.
12804         This bug caused grep-2.15 to produce a grep program whose
12805         --version option made it print 2.14.56-1e3d rather than 2.15.
12806         * top/maint.mk (release): Making this target build "_version"
12807         ensures that the new version number is reflected in configure.
12809 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
12811         install-reloc: Support multi-binary installation.
12812         * build-aux/install-reloc: Support installing multiple programs in
12813         one invocation, as done by Automake starting with commit
12814         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
12815         Haible <bruno@clisp.org>, archived at
12816         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
12817         Reported by Sylvain <beuc@gnu.org>.
12819 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
12821         selinux-h: Really build without selinux when library is missing.
12822         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
12823         continue without selinux, as already told in the warning message.
12825 2013-10-21  Jim Meyering  <meyering@fb.com>
12827         regex: also remove dependency on HAVE_WCSCOLL
12828         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
12830 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
12832         xfreopen: Fix typo. s/frepoen/freopen/
12833         * lib/xfreopen.c: Fix description.
12834         * modules/xfreopen: Likewise.
12836 2013-10-21  Jim Meyering  <meyering@fb.com>
12838         regex: don't depend on wcscoll
12839         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
12840         It is no longer used.
12842 2013-10-20  Jim Meyering  <meyering@fb.com>
12844         error: add the printf attribute to a static function
12845         * lib/error.c (error_tail): Add the printf attribute, to placate
12846         gcc's -Werror=suggest-attribute=format option.
12848 2013-09-30  Jim Meyering  <meyering@fb.com>
12850         fpending, obstack, strerror-override: use pure+const function attrs
12851         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
12852         * lib/obstack.c (_obstack_allocated_p): Likewise.
12853         * lib/obstack.h (_obstack_memory_used): Likewise.
12854         (_obstack_memory_used): Likewise.
12855         * lib/strerror-override.h (strerror_override): Declare with
12856         the "const" attribute.
12858 2013-10-18  Eric Blake  <eblake@redhat.com>
12860         extern-inline: make safe for -Wundef usage
12861         Reported by Vladimir 'phcoder' Serbinenko in
12862         https://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00078.html
12863         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
12865 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
12867         mkfifo-tests, etc.: allow HP-UX 11.11 bug
12868         Problem reported by Daniel Richard G. in
12869         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00068.html>.
12870         * doc/posix-functions/mkfifo.texi (mkfifo):
12871         * doc/posix-functions/mkfifoat.texi (mkfifoat):
12872         * doc/posix-functions/mknod.texi (mknod):
12873         * doc/posix-functions/mknodat.texi (mknodat):
12874         Document the HP-UX 11.11 bug.
12875         * tests/test-mkfifo.h (test_mkfifo):
12876         Allow the HP-UX 11.11 bug.
12878 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
12880         acl: allow cross-compilation to Gentoo
12881         Problem reported by Gabriel Marcano in
12882         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00058.html>.
12883         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
12884         test only whether it links.
12886 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
12888         mgetgroups: remove dependency on realloc-gnu
12889         The dependency violates the comment in realloc-gnu, which
12890         says that tests can't depend on realloc-gnu; some tests depend
12891         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
12892         Problem reported by Daniel Richard G. in
12893         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00056.html>.
12894         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
12895         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
12896         not realloc-gnu.
12898 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
12900         regex-tests: port to HP-UX 11.11
12901         Problem reported by Daniel Richard G. in
12902         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00052.html>.
12903         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
12905 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12907         verify: document some 'assume' pitfalls
12908         * doc/verify.texi (Compile-time Assertions):
12909         Mention that 'assume (E)' can sometimes slow things down.
12910         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
12912 2013-10-10  Eric Blake  <eblake@redhat.com>
12914         strtoumax: fix typo in previous commit.
12915         * modules/strtoumax (Depends-on): Fix typo.
12916         * modules/strtoimax (Depends-on): Likewise.
12918 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12920         strtoumax: port to Solaris 8
12921         This problem was introduced in the recent HP-UX patch.
12922         Reported by Tom G. Christensen in
12923         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00037.html>.
12924         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
12925         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
12927 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
12929         strtoimax, strtoumax: port to HP-UX 11.11
12930         Problem reported by Daniel Richard G. in
12931         <http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00023.html>.
12932         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
12933         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
12934         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
12935         REPLACE_STRTOUMAX.
12936         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
12937         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
12938         Replace the function if defined as a macro but not as a function.
12939         * modules/inttypes-incomplete (inttypes.h): Substitute
12940         REPLACE_STRTOUMAX.
12941         * modules/strtoumax (configure.ac): Replace strtoumax if
12942         REPLACE_STRTOUMAX.
12944 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
12946         strtoimax: port to HP-UX 11.11
12947         Problem reported by Daniel Richard G.
12948         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
12949         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
12950         they might clash with inttypes.h.
12952 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12954         New module 'count-trailing-zeros'.
12955         * MODULES.html.sh: Mention it.
12956         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
12957         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
12958         * modules/count-trailing-zeros-tests:
12959         * tests/test-count-trailing-zeros.c:
12960         New files.
12962         count-leading-zeros: port to MSC; support types wider than 64 bits
12963         The ideas behind the MSC port are stolen from Emacs.
12964         * lib/count-leading-zeros.h:
12965         Don't include verify.h: it's no longer needed, as types wider than
12966         64 bits are now supported.
12967         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
12968         performance with MSC.  All uses changed.  Do not assume that TYPE
12969         has at most 64 bits.
12970         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
12971         All uses changed.  Fold the subtraction from 31 into the table.
12973         count-one-bits: port to MSC; support types wider than 64 bits
12974         The ideas behind the MSC port are stolen from Emacs.
12975         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
12976         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
12977         Don't include verify.h: it's no longer needed, as types wider than
12978         64 bits are now supported.
12979         (COUNT_ONE_BITS_GENERIC): New macro.
12980         (popcount_supported) [_MSC_VER]: New inline function.
12981         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
12982         performance with MSC.  All uses changed.  Do not assume that TYPE
12983         has at most 64 bits.
12984         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
12986 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
12988         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
12989         * lib/mountlist.c (read_file_system_list): fix leak of directory
12990         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
12992 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12994         tests: improve diagnostic when an assertion fails
12995         * tests/macros.h (ASSERT): Report the assertion that failed.
12997 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
12999         verify: new macro 'assume'
13000         This is taken from Emacs, and should be generally useful.
13001         * doc/verify.texi (assume): Document it.
13002         * lib/verify.h (assume): New macro.
13003         (__has_builtin): Expand to 0 if not defined.
13005 2013-09-26  Eric Blake  <eblake@redhat.com>
13007         dup2, dup3: work around another cygwin crasher
13008         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
13009         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
13010         * tests/test-dup2.c (main): Likewise.
13011         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
13012         * lib/dup3.c (dup3): Likewise.
13013         * doc/posix-functions/dup2.texi (dup2): Document it.
13014         * doc/glibc-functions/dup3.texi (dup3): Likewise.
13016         getdtablesize: work around cygwin issue
13017         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
13018         * modules/getdtablesize (configure.ac): Build replacement.
13019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
13020         * modules/unistd (Makefile.am): Expose the witness.
13021         * lib/unistd.in.h (getdtablesize): Declare replacement.
13022         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
13023         * tests/test-getdtablesize.c (main): Test it.
13024         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
13026 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
13028         pmccabe2html: escaping of special characters
13029         Escape all '<', '>', and '&' in HTML output.
13030         * build-aux/pmccabe2html (html_fnc): Call gsub()
13031         instead of sub() to capture all '<', '>', and '&'.
13032         Neither of '<' and '>' is special in a regexp,
13033         so first arguments to gsub() are corrected. Also,
13034         in replacement strings, ampersand must be escaped.
13035         Finally, '&' must be handled first, then '<' and '>'.
13037 2013-09-24  Eric Blake  <eblake@redhat.com>
13039         manywarnings: enable nicer gcc warning messages
13040         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
13041         some -f options for optimal warnings.
13043 2013-09-21  Jim Meyering  <meyering@fb.com>
13045         timespec: use the new TIMESPEC_RESOLUTION in a few more places
13046         * lib/timespec-add.c (timespec_add): Also replace 999999999
13047         with TIMESPEC_RESOLUTION - 1.
13048         * lib/timespec-sub.c (timespec_sub): Likewise.
13050 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13052         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
13053         Problem reported by Dagobert Michelsen via Eric Blake in
13054         <http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00052.html>.
13055         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
13056         not AC_COMPILE_IFELSE.
13058 2013-09-23  Eric Blake  <eblake@redhat.com>
13060         configmake: support new --runstatedir option
13061         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
13062         even if autoconf was too old to provide the command line option.
13063         * modules/configmake (Makefile.am): Propagate it to .h file.
13065 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
13067         ctype, string: depend on extern-inline
13068         This is needed to complete the recent OS X fixes.
13069         Also, fix related documentation as suggested by Eric Blake.
13070         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
13071         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
13072         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
13073         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
13074         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
13075         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
13076         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
13077         * doc/posix-functions/toupper.texi:
13078         List the 'ctype' gnulib module.
13079         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
13080         * doc/posix-functions/strncpy.texi:
13081         List the 'string' gnulib module.
13082         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
13083         Add string.
13084         * modules/ctype, modules/string (Depends-on): Add extern-inline.
13086 2013-09-19  Pádraig Brady  <P@draigBrady.com>
13088         userspec: support optional parameters to parse_user_spec()
13089         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
13090         then avoid group processing and treat the full spec as a user.
13091         (parse_with_separator): Allow the USERNAME and GROUPNAME to
13092         be optional params (NULL), in which case they're ignored.
13094 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
13096         timespec: new function make_timespec, and new constants
13097         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
13098         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
13099         (make_timespec): New function.
13100         * lib/dtotimespec.c (dtotimespec):
13101         * lib/timespec-add.c (timespec_add):
13102         * lib/timespec-sub.c (timespec_sub):
13103         * lib/utimens.c (validate_timespec):
13104         * lib/utimensat.c (rpl_utimensat):
13105         Use these new constants and functions.
13107         stdio: OS X port of putc_unlocked + extern inline
13108         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
13109         * doc/posix-functions/putc_unlocked.texi:
13110         * doc/posix-functions/putchar_unlocked.texi:
13111         Document this portability problem.
13113         signal: OS X port of sigaddset etc. + extern inline
13114         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
13115         (sigismember): #undef on problematic Apple platforms.
13116         * doc/posix-functions/sigaddset.texi:
13117         * doc/posix-functions/sigdelset.texi:
13118         * doc/posix-functions/sigemptyset.texi:
13119         * doc/posix-functions/sigfillset.texi:
13120         * doc/posix-functions/sigismember.texi:
13121         Document this portability problem.
13123         extern-inline: do not always suppress extern inline on OS X
13124         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
13125         extern inline on Apple only if the particular compile-time
13126         configuration is known to have the problem.
13127         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
13128         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
13129         other Gnulib modules.
13131         extern-inline: document fixes for ctype and wctype macros
13132         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
13133         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
13134         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
13135         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
13136         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
13137         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
13138         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
13139         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
13140         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
13141         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
13142         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
13143         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
13144         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
13145         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
13146         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
13147         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
13148         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
13149         * doc/posix-functions/strncpy.texi:
13150         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
13151         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
13152         Document that Gnulib fixes portability problems with these
13153         functions on OS X 10.8 and earlier when called from plain inline
13154         or extern inline functions.
13156 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
13158         fflush, freadahead, fseeko: Fix for Android
13159         Suggested by Bruno Haible in:
13160         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00306.html>
13161         * lib/stdio-impl.h: Use local __sfileext definition.
13163 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
13165         pmccabe2html: Portability to other awk versions.
13166         The functions systime() and strftime() are available
13167         in Gawk only.  Properly close two HTML-tags 'style'
13168         and 'span'.
13169         * build-aux/pmccabe2html (BEGIN): Store timing
13170         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
13171         systime() in HTML_COMMENT.
13172         (html_header): Correctly close tag 'style'.
13173         (END): Replace strftime() by CHRONOS_TIME.  Close
13174         tag 'span' correctly, not as 'div'.
13176 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
13178         getgroups: statement without effect
13179         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
13180         Change equality conditional to expected assignment.
13182 2013-09-09  Eric Blake  <eblake@redhat.com>
13184         glob: fix compilation
13185         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
13187 2013-09-07  Eric Blake  <eblake@redhat.com>
13189         glob: fix build for platforms without __THROW
13190         * lib/glob.in.h (__THROW): Add definition again.
13192 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
13194         regex-quote: fix buffer access out of bounds
13195         http://lists.gnu.org/archive/html/bug-gnulib/2013-09/msg00001.html
13196         * lib/regex-quote.c (regex_quote_spec_pcre):
13197         Fix typo that resulted in an out-of-bounds read.
13199 2013-09-04  Eric Blake  <eblake@redhat.com>
13201         glob: avoid -Wattribute warnings on glibc
13202         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
13203         __THROWNL, not __THROW, on static functions.
13204         * lib/glob.in.h (__THROW): Adjust...
13205         (__THROWNL): ...accordingly.
13207 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
13209         headers: check that _GL_INLINE_HEADER_BEGIN is defined
13210         Suggested by Bruce Korb in:
13211         http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00070.html
13212         * doc/extern-inline.texi (extern inline):
13213         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
13214         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
13215         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
13216         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
13217         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
13218         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
13219         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
13220         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
13221         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
13222         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
13223         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
13224         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
13225         * lib/xtime.h:
13226         Check that _GL_INLINE_HEADER_BEGIN is defined.
13228 2013-08-29  Pádraig Brady  <P@draigBrady.com>
13230         bootstrap: remove the --version requirement from ancillary tools
13231         * build-aux/bootstrap (check_exists): A new refactored function to
13232         determine if a command exists.
13233         (find_tool): Use the new function which does not require the
13234         --version option to be supported.
13235         (check_versions): Use the new function.
13237 2013-08-26  Simon Josefsson  <simon@josefsson.org>
13239         gc: support HMAC-SHA256 and HMAC-SHA512.
13240         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
13241         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
13242         functions.
13243         (gc_hmac_md5): Use symbolic constant.
13244         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
13245         (gc_hmac_sha256, gc_hmac_sha512): New functions.
13246         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
13247         * m4/sha256.m4: Protect against empty expansion.
13248         * m4/sha512.m4: Likewise.
13249         * lib/hmac-sha256.c: New file.
13250         * lib/hmac-sha512.c: Likewise.
13251         * m4/gc-hmac-sha256.m4: Likewise.
13252         * m4/gc-hmac-sha512.m4: Likewise.
13253         * m4/gc-sha256.m4: Likewise.
13254         * m4/gc-sha512.m4: Likewise.
13255         * modules/crypto/gc-hmac-sha256: Likewise.
13256         * modules/crypto/gc-hmac-sha256-tests: Likewise.
13257         * modules/crypto/gc-hmac-sha512: Likewise.
13258         * modules/crypto/gc-hmac-sha512-tests: Likewise.
13259         * modules/crypto/hmac-sha256: Likewise.
13260         * modules/crypto/hmac-sha256-tests: Likewise.
13261         * modules/crypto/hmac-sha512: Likewise.
13262         * modules/crypto/hmac-sha512-tests: Likewise.
13263         * tests/test-gc-hmac-sha256.c: Likewise.
13264         * tests/test-gc-hmac-sha512.c: Likewise
13265         * tests/test-hmac-sha256.c: Likewise.
13266         * tests/test-hmac-sha512.c: Likewise
13268 2013-08-24  Daiki Ueno  <ueno@gnu.org>
13270         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
13271         of AC_CHECK_DECLS.
13273 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
13275         selinux-at: omit unnecessary include
13276         * lib/selinux-at.c: Don't include dosname.h; not needed, since
13277         this source file doesn't use its macros, and subsidiary files that
13278         use the macros already include it.
13280 2013-08-21  Eric Blake  <eblake@redhat.com>
13282         d-ino: avoid false negative on symlink
13283         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
13284         Reported by Stephane Chazelas.
13286 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
13288         bootstrap: port to OpenBSD sed
13289         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
13290         does not interpret `-' as a file argument to mean stdin.
13292 2013-08-15  Eric Blake  <eblake@redhat.com>
13294         warnings: minor optimization
13295         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
13297         warnings: check -Wfoo rather than -Wno-foo
13298         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
13299         -Wno-, test if the compiler recognizes the positive form instead.
13301 2013-08-15  Karl Berry  <karl@gnu.org>
13303         * config/srclist-update: add option "doclicense" to placate
13304         pulling *.texi files from Emacs.  Write terse usage
13305         documentation at the top.
13307 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
13309         xvasprintf-tests: port to GCC with hardening flags
13310         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
13311         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
13312         http://lists.gnu.org/archive/html/bug-diffutils/2013-08/msg00002.html
13314 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13316         fpending: port to recent Cygwin change to stdio_ext.h
13317         Reported by LRN in
13318         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00028.html>.
13319         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
13320         just declare __fpending unless it's a macro.
13321         A duplicate decl shouldn't hurt.
13322         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
13323         call compiles and links, instead of separately checking for
13324         decl and lib function.
13325         * modules/fpending (configure-ac):
13326         Adjust to fpending.m4's renaming of shell variable.
13328 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13330         sys_time: port to OpenBSD
13331         * lib/sys_time.in.h: Simply delegate to the system's header
13332         in the BSDish cases as well.  Problem reported by Mike Miller in
13333         <http://lists.gnu.org/archive/html/bug-gnulib/2013-08/msg00016.html>.
13334         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
13335         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
13336         wider than time_t.
13338 2013-08-09  Pádraig Brady  <P@draigBrady.com>
13340         bootstrap: support checksum utils having -c but not --status
13341         * build-aux/bootstrap: Only look for sha1sum if updating po files.
13342         Add sha1 to the list of supported checksum utils since it's now
13343         supported through adjustments below.
13344         (update_po_files): Remove the use of --status
13345         in a way that will suppress all error messages, but since this is
13346         only used to minimize updates, it shouldn't cause an issue.
13347         Exit early if there is a problem updating the po file checksums.
13348         (find_tool): Remove the check for --version support as this
13349         is optional as per commit 86186b17.  Don't even check for the
13350         presence of the command as if that is needed, it's supported
13351         through configuring prerequisites in bootstrap.conf.
13352         Prompt that when a tool isn't found, one can define an environment
13353         variable to add to the hardcoded search list.
13355 2013-08-05  Jim Meyering  <meyering@fb.com>
13357         regex: port to non-glibc/lock-using systems
13358         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
13359         system with GNULIB_LOCK would fail due to absence of the
13360         included "glthread/lock.h".  This would affect any package
13361         for which the "lock" module is used only by the regex module,
13362         and not explicitly used.
13363         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
13364         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
13365         Add a dependency on the "lock" module.
13367 2013-07-20  Daiki Ueno  <ueno@gnu.org>
13369         localecharset: make locale_charset thread-safe on Mac OS X
13370         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
13371         instead of MB_CUR_MAX.
13373 2013-07-20  Daiki Ueno  <ueno@gnu.org>
13375         gettext: update to version 0.18.3
13376         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
13377         require AC_PROG_SED to allow user to specify custom sed command when
13378         generating en@quot PO file.
13380 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
13382         bootstrap: use correct source when copying build-aux files
13383         * build-aux/bootstrap (gnulib_extra_files): This variable is
13384         relative to upstream gnulib layout, not downstream.
13386 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13388         tmpdir: fix bug in VMS port
13389         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
13390         See Steven M. Schweda in
13391         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00026.html>.
13393 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13395         tmpdir: port to VMS, to // != /, and to long dirs
13396         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
13397         __secure_getenv, so that we're more like the glibc version.
13398         All uses changed.
13399         (path_search): Don't put slash after directory if __VMS.
13400         Problem reported by Steven M. Schweda in
13401         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00019.html>.
13402         Simplify code to add slash; no need for a loop.
13403         Do not remove trailing slash from "//".
13404         Do not assume dlen <= INT_MAX.
13406 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13408         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
13409         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
13410         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
13411         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00015.html>.
13413         accept4, dup3, pipe2: port to Cygwin
13414         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
13415         * lib/accept4.c (accept4) [O_BINARY]:
13416         * lib/dup3.c (dup3) [O_BINARY]:
13417         * lib/pipe2.c (pipe2) [O_BINARY]:
13418         Use set_binary_mode, not setmode.
13419         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
13420         * modules/binary-io (Depends-on): Remove module indicator.
13421         These last two bits undo the previous change to pipe2 and binary-io.
13423 2013-07-09  Pádraig Brady  <P@draigBrady.com>
13425         mountlist: add support for deallocating returned list entries
13426         * lib/mountlist.c (free_mount_entry): A new exported function
13427         to deallocate a mount list entry.
13428         (read_file_system_list): Refactor to use the new deallocation function.
13429         Suggested by Anton Ovchinnikov.
13431 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13433         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
13434         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
13435         * lib/stdalign.in.h (_Alignas, _Alignof):
13436         Port to FreeBSD 9.1, and to C11 and C++11.
13437         (_Alignas): Also support ICC.
13438         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
13439         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
13441 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13443         fnmatch: don't goto over declaration
13444         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
13445         undefined behavior for goto over a declaration.
13446         Problem reported by Charlie Brown in
13447         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
13449         pipe2: decouple from binary-io a bit
13450         This is for Emacs, which needs pipe2 but not binary-io.
13451         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
13452         * modules/binary-io (Depends-on): Add module indicator.
13454 2013-07-03  Eric Blake  <eblake@redhat.com>
13456         mgetgroups: relax license to LGPLv2+
13457         * modules/getugroups (License): Change from GPLv3+.
13458         * modules/mgetgroups (License): Likewise.
13459         * modules/getgroups (License): Change from LGPLv3+.
13461         xalloc-oversized: relax license to LGPLv2+
13462         * modules/xalloc-oversized (License): Change from GPLv3+.
13464         nproc: relax license to LGPLv2+
13465         * modules/nproc (License): Change from LGPLv3+.
13467         bootstrap: honor --no-git
13468         * build-aux/bootstrap: Don't even try to use git when user is
13469         pointing to a static checkout.
13471 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13473         ignore-value: port to gcc -pedantic
13474         * lib/ignore-value.h (ignore_value):
13475         Port to gcc -pedantic, by using __extension__.
13476         Reindent as per usual gnulib style nowadays.
13477         Simplify GCC version check.
13479 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
13481         extern-inline: port to gcc -std=c89
13482         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
13483         Do not use __gnu_inline__ if pedantic and pre-C99.
13485 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
13487         doc: document extern-inline
13488         * doc/extern-inline.texi: New file.
13489         * doc/gnulib.texi (alloca-opt): Include it.
13490         * m4/extern-inline.m4: Move some comments to documentation,
13491         and others closer to what they describe.
13493         doc: chatter less
13494         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
13495         (updated-stamp): Use it.  This causes 'make' to output just
13496         one file name rather than zillions.
13498         fflush, fseeko: port to musl cross-compiles
13499         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
13500         on some implementation that (1) is not known to be buggy,
13501         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
13502         cross-compiled to so we can't easily check for lack of
13503         conformance.  This is for cross-compiling to musl.
13504         Reported by Rich Felker in
13505         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
13506         * m4/fclose.m4 (gl_FUNC_FCLOSE):
13507         * m4/fflush.m4 (gl_FUNC_FFLUSH):
13508         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
13509         Adjust to above change.
13510         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
13511         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
13512         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
13513         known not to work, or unknown.
13515 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13517         msvc-inval: port to mingw-w64
13518         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
13519         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
13520         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
13522 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
13524         getcwd-lgpl: port to Tru64
13525         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
13526         Problem reported by Steven M. Schweda in
13527         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
13529         tests: port large-fd POSIX spawn tests to OS X
13530         Problem reported by Daiki Ueno in
13531         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
13532         * tests/test-posix_spawn_file_actions_addclose.c:
13533         * tests/test-posix_spawn_file_actions_adddup2.c:
13534         * tests/test-posix_spawn_file_actions_addopen.c:
13535         Include <limits.h>, for OPEN_MAX, if available.
13536         (big_fd): New static function.
13537         (main): Use it.
13539 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
13541         tests/nap.h: use an adaptive delay to avoid ctime update issues
13542         The recent change in nap.h (5191133e) decreased the probability of lost
13543         races to about a third, however such problems could still be observed
13544         in virtual machines and openSUSE's OBS.
13545         Before, nap() detected the needed time once empirically and then used
13546         that delay (together with a small correction multiplier) in further
13547         calls.  This problem has been reported and discussed several times,
13548         including guesses about possible kernel issues:
13549         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
13550         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
13551         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
13552         http://bugs.gnu.org/12820
13553         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
13554         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
13555         Now, nap() avoids the race alltogether by verifying on a reference
13556         file whether a timestamp difference has happened.
13557         * tests/nap.h (nap_fd): Define file descriptor variable for the
13558         witness file.
13559         (nap_works): Change return value to bool.  Change passing
13560         the old file's status by value instead of by reference as this function
13561         does no longer update that timestamp; rename the function argument from
13562         st to old_st.  Remove the local variables cdiff and mdiff because that
13563         function now returns true/false instead of the precise delay.
13564         (guess_delay): Remove function.
13565         (clear_tmp_file): Add new function to close and unlink the witness file.
13566         (nap): Instead of re-using the delay which has been calculated during
13567         the first call, avoid the race by actually verifying that a timestamp
13568         difference can be observed on the current file system.  Use an adaptive
13569         approach for the delay to minimize execution time.  Assert that the
13570         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
13571         = 2^31 - 1 = 2.1s.
13572         Use atexit to call clear_tmp_file when the process terminates.
13574 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13576         sig2str: port to C++
13577         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
13578         Reported by Daniel J Sebald in
13579         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
13581 2013-05-30  Eric Blake  <eblake@redhat.com>
13583         docs: mention cygwin shortcoming in <sys/un.h>
13584         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
13586         vasnprintf: silence mingw compiler warning
13587         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
13589 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13591         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
13592         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
13593         This fixes a porting bug I recently reintroduced in regex, and
13594         some other instances that I discovered while testing the fix.
13595         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
13596         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
13597         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
13598         with an empty argument if this is a pedantic pre-C99 GCC.
13599         * lib/verify.h: Do not use _Static_assert if this is a pedantic
13600         pre-C11 GCC.
13602         regex: adapt to locking regime instead of depending on pthread
13603         Instead of depending on pthread, adapt to whatever thread
13604         modules are in use.  Problem reported by Ludovic Courtès in
13605         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
13606         and by Mats Erik Andersson in
13607         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
13608         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
13609         Support either the 'lock' module, or the 'pthread' module, or
13610         no module.
13611         (lock_lock, lock_unlock): New macros.
13612         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
13613         * modules/lock, modules/pthread (configure.ac): Add module indicator.
13614         * modules/regex (Depends-on): Remove pthread.
13616 2013-05-22  Eric Blake  <eblake@redhat.com>
13618         getgroups: document portability issues
13619         * doc/glibc-functions/initgroups.texi (initgroups): Mention
13620         multithread safety.
13621         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
13622         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
13623         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
13624         getugroups.
13625         * doc/posix-functions/getgroups.texi (getgroups): Mention
13626         multithread safety and mgetgroups.
13628 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
13630         test-lchown, test-chown: also skip test if chown fails with EPERM
13631         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
13632         skip this test, to handle FAT file systems.
13633         * tests/test-chown.h (test_chown): Likewise.
13635 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13637         regex: fix dfa race in multithreaded uses
13638         Problem reported by Ludovic Courtès in
13639         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
13640         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
13641         New macros.  All uses of __libc_lock_define, __libc_lock_init
13642         changed to use the first two of these.
13643         (__libc_lock_lock, __libc_lock_unlock): New macros, for
13644         non-glibc platforms.
13645         (struct re_dfa_t): Define the lock unconditionally.
13646         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
13647         '#ifdef _LIBC"s.
13648         * modules/regex (Depends-on): Add pthread, if we use the
13649         included regex.
13651         * lib/regcomp.c: Do actions that are not needed for glibc,
13652         but may be needed elsewhere.
13653         (regfree, re_compile_internal): Destroy the lock.
13654         (re_compile_internal): Check for lock-initialization failure.
13656         malloca: port to compilers that reject size-zero arrays
13657         This fixes a bug introduced in my previous patch.
13658         * lib/malloca.c (struct preliminary_header): Use an int
13659         rather than a character array of size int; that's simpler.
13660         (struct header): Remove, replacing with ...
13661         (union header): New type.  This avoids the need for declaring a
13662         character array of size zero, which is not allowed on some platforms.
13663         All uses changed.
13665 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13667         parse-datetime, tests: don't use "string" + int
13668         Recent versions of 'clang' complain about C source code that
13669         uses expressions of the form '"string literal" + integer',
13670         I guess on the theory that it's confusing for readers who are
13671         used to C++.  On those grounds I suppose it's OK to make this
13672         minor style change.
13673         * lib/parse-datetime.y (parse_datetime):
13674         * tests/test-fchdir.c (main):
13675         * tests/test-snprintf-posix.h (test_function):
13676         * tests/test-snprintf.c (main):
13677         * tests/test-vasnprintf-posix.c (test_function):
13678         * tests/test-vasnprintf.c (test_function):
13679         * tests/test-vsnprintf.c (main):
13680         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
13681         Rewrite '"str" + E' to '&"str"[E]'.
13683 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
13685         argmatch: port to C++
13686         * lib/argmatch.h [__cplusplus]: Add extern "C".
13688         argp: typo fix
13689         * lib/argp-help.c: Typo in comment.
13691 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
13693         manywarnings: update for GCC 4.8.0
13694         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
13695         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
13696         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
13697         -Wmissing-noreturn, as they are duplicates of other warnings.
13698         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
13699         was documented to be flaky in earlier versions of GCC.
13701         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
13702         * tests/test-spawn.c (main):
13703         * tests/test-sys_socket.c (main):
13704         * tests/test-sys_wait.c (main):
13705         Don't have a switch value that isn't covered by a case.
13707         getaddrinfo-tests: port --enable-gcc-warnings to clang
13708         * tests/test-getaddrinfo.c (simple):
13709         Avoid casts from looser to stricter-aligned pointers.
13711         thread: port --enable-gcc-warnings to clang
13712         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
13713         Include <signal.h>, to pacify a warning about pthread_sigmask.
13715         stdio: use __REDIRECT for fwrite, fwrite_unlocked
13716         * lib/stdio.in.h (fwrite):
13717         When working around bug 11959, use __REDIRECT rather than '#define
13718         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
13719         fix the -Wunused-value issue with clang, and it works with GCC too.
13720         Problem with targeting reported by Eric Blake in
13721         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
13722         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
13723         debugging the fwrite issue.
13725         stdio: port --enable-gcc-warnings to clang
13726         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
13727         since the GCC workaround for fwrite does not pacify clang.
13729         sig2str: port --enable-gcc-warnings to clang
13730         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
13732         obstack: port --enable-gcc-warnings to clang
13733         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
13734         Avoid casts from looser to stricter-aligned pointers.
13736         memchr2: port --enable-gcc-warnings to clang
13737         * lib/memchr2.c (memchr2):
13738         Avoid casts from looser to stricter-aligned pointers.
13740         mbsstr: port --enable-gcc-warnings to clang
13741         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
13742         Avoid casts from looser to stricter-aligned pointers.
13744         malloca: port --enable-gcc-warnings to clang
13745         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
13746         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
13748         inttostr: port --enable-gcc-warnings to clang
13749         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
13751         warnings: port to clang
13752         Problem reported by Daniel P. Berrange via Eric Blake in
13753         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
13754         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
13755         (gl_WARN_ADD): Use it.
13757 2013-05-11  Jim Meyering  <meyering@fb.com>
13759         quotearg: do not read beyond end of buffer
13760         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
13761         end of an ARG for which no length was specified.  With an N-byte
13762         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
13763         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
13764         via coreutils' misc/sort-debug-keys.sh test and detected by running
13765         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
13766         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
13767         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
13768         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
13769         characters correctly."
13771 2013-05-11  Daiki Ueno  <ueno@gnu.org>
13773         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
13774         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
13775         compilation target is Mac OS X 10.6.
13776         Problem reported by parafin and Andoni Morales in
13777         <http://savannah.gnu.org/bugs/?37844> and
13778         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
13780 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13782         mkdir-p: remove assumptions about umask and mode
13783         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
13784         umask is 0, or that MODE is a subset of MODE_BITS.
13786 2013-05-10  Eric Blake  <eblake@redhat.com>
13788         maint.mk: catch more abuse of HAVE_DECL in syntax-check
13789         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
13791 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
13793         deps: require Automake >= 1.9.6 in generated Makefile fragments
13795         That is the same minimal version required in the DEPENDENCIES file.
13796         Moreover, the old code generated a requirement of Automake >= 1.5,
13797         and that is an insanely outdated version.
13799         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
13800         * tests/havelib/rpathlx/Makefile.am: Likewise.
13801         * tests/havelib/rpathly/Makefile.am: Likewise.
13802         * tests/havelib/rpathlyx/Makefile.am: Likewise.
13803         * tests/havelib/rpathlz/Makefile.am: Likewise.
13804         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
13805         * tests/havelib/rpathx/Makefile.am: Likewise.
13806         * tests/havelib/rpathy/Makefile.am: Likewise.
13807         * tests/havelib/rpathz/Makefile.am: Likewise.
13809 2013-05-08  Eric Blake  <eblake@redhat.com>
13811         bootstrap: AC_INIT may have more than four parameters
13812         * build-aux/bootstrap (extract_package_name): Correctly extract
13813         non-empty tarname field.  Avoid range in regex.
13814         Based on a report by Sami Kerola <kerolasa@iki.fi>.
13816 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
13818         qacl: port to MS-Windows port of GNU Emacs
13819         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
13820         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
13821         port of GNU Emacs.  Problem reported by Eli Zaretskii in
13822         <http://bugs.gnu.org/14295#14>.
13824 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
13826         acl: include quote.h
13827         * lib/copy-acl.c: Include quote.h.
13828         * lib/set-acl.c: Likewise.
13830 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
13832         fchownat, renameat, unlinkat: update statat dependencies
13833         These modules use statat and lstatat, not fstatat; so depend on
13834         the statat module, which was split out recently from fstatat.
13835         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
13836         * modules/renameat: Likewise.  Also delete fstat.
13837         URL: http://bugs.gentoo.org/468790
13839 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
13841         Assume gnulib is checked out from Git, not CVS
13843         In fact, access to the gnulib repository through CVS has been
13844         disabled, or more precisely, got broken and was never restored; see:
13845         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
13847         Note that support for CVS is not removed completely and unthinkingly
13848         by this change: only support for CVS checkouts of gnulib itself is
13849         removed.  For example, the 'bootstrap' script still cater to .cvsingore
13850         files and CVS directories, for the benefit of those poor gnulib clients
13851         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
13853         * gnulib-tool: Simplify accordingly.
13854         * posix-modules: Likewise.
13855         * MODULES.html.sh: Likewise.
13856         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
13857         repository.
13858         * doc/gnulib-intro.texi: Likewise.
13859         * doc/gnulib-readme.texi: Likewise.
13860         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
13861         sample '.gitignore' file rather than a sample '.cvsignore'.
13862         * NEWS: Update.
13863         * m4/extensions.m4: While at it, remove a comment mistakenly referring
13864         to "CVS Autoconf" rather than "git Autoconf".
13866 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
13868         utimensat-tests, etc.: try to fix some races
13869         Problem reported by Bernhard Voelker in
13870         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
13871         I don't know whether this patch fixes that race condition, but it
13872         fixes *some* race conditions, so it should be a win.
13873         * modules/chown-tests (Depends-on):
13874         * modules/fchownat-tests (Depends-on):
13875         * modules/fdutimensat-tests (Depends-on):
13876         * modules/futimens-tests (Depends-on):
13877         * modules/lchown-tests (Depends-on):
13878         * modules/stat-time-tests (Depends-on):
13879         * modules/utimens-tests (Depends-on):
13880         * modules/utimensat-tests (Depends-on):
13881         Depend on nanosleep, not usleep.
13882         * modules/chown-tests (test_chown_LDADD):
13883         * modules/lchown-tests (test_lchown_LDADD):
13884         * modules/stat-time-tests (test_stat_time_LDADD):
13885         New macro.
13886         * modules/fchownat-tests (test_fchownat_LDADD):
13887         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
13888         * modules/futimens-tests (test_futimens_LDADD):
13889         * modules/utimens-tests (test_utimens_LDADD):
13890         * modules/utimensat-tests (test_utimensat_LDADD):
13891         Add $(LIB_NANOSLEEP).
13892         * modules/stat-time-tests (Files): Add tests/nap.h.
13893         * tests/nap.h: Include <limits.h>, for INT_MAX.
13894         (lt_mtime): Remove.
13895         (diff_timespec): New function.
13896         (get_stat): Rename from get_mtime.  All callers changed.
13897         (nap_works): Determine the needed delay by inspecting the
13898         file system's timestamp jumps; this should be more reliable.
13899         Look at both mtime and ctime, and take the maximum of the two jumps.
13900         (nap_works, guess_delay):
13901         Return a nanosecond count, not a microsecond count.
13902         All callers changed.
13903         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
13904         failure.
13905         (nap): Multiply the guess by 1.125, to accommodate the case where
13906         the file system's clock is a bit slower than nanosleep's clock.
13907         * tests/test-stat-time.c (BASE): New macro.
13908         Include nap.h.
13909         (nap): Remove; nap.h now defines this.  This removes a duplicate
13910         implementation of 'nap'.
13912         utimens, utimensat: work around Solaris UTIME_OMIT bug
13913         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
13914         Linux kernel 2.6.32 does.  Work around it in the same way.
13915         * doc/posix-functions/futimens.texi (futimens):
13916         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
13917         * lib/utimens.c (fdutimens, lutimens):
13918         * lib/utimensat.c (rpl_utimensat): Work around the bug.
13920         gettext: now it's your responsibility to add -I$(top_builddir)/intl
13921         Formerly, it was your responsibility to do this for all Makefile.ams
13922         other than Gnulib's.  Now it's your responsibility to do it for
13923         Gnulib's Makefile.am, too.
13924         * NEWS: Document this.
13925         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
13927         acl: include errno.h to get errno
13928         Reported by Daiki Ueno in
13929         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
13930         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
13932 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
13934         tests: don't assume getdtablesize () <= 10000000
13935         * modules/cloexec-tests:
13936         * modules/dup2-tests:
13937         * modules/dup3-tests:
13938         * modules/nonblocking-tests:
13939         * modules/posix_spawn_file_actions_addclose-tests:
13940         * modules/posix_spawn_file_actions_adddup2-tests:
13941         * modules/posix_spawn_file_actions_addopen-tests:
13942         * modules/unistd-safer-tests:
13943         Depend on the getdtablesize module.
13944         * tests/test-cloexec.c:
13945         * tests/test-dup-safer.c:
13946         * tests/test-dup2.c:
13947         * tests/test-dup3.c:
13948         * tests/test-fcntl.c:
13949         * tests/test-nonblocking.c:
13950         * tests/test-posix_spawn_file_actions_addclose.c:
13951         * tests/test-posix_spawn_file_actions_adddup2.c:
13952         * tests/test-posix_spawn_file_actions_addopen.c:
13953         Don't assume getdtablesize () <= 10000000.
13955 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
13957         extern-inline: work around bug in Sun c99
13958         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
13959         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
13961 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
13963         qacl: new module, broken out from the acl module
13964         This is for GNU Emacs, which wants the acl functions but does
13965         not want 'error' invoked when they fail.
13966         * lib/acl-internal.h: Do not include error.h, quote.h.
13967         (ENOSYS, ENOTSUP): Remove; no longer needed.
13968         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
13969         * lib/acl.h: Include <stdbool.h>.
13970         (acl_errno_valid): New function.
13971         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
13972         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
13973         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
13974         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
13975         (ACL_INTERNAL_INLINE): Remove; no longer needed.
13976         * lib/file-has-acl.c (file_has_acl):
13977         * lib/qcopy-acl.c (qcopy_acl):
13978         * lib/qset-acl.c (qset_acl):
13979         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
13980         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
13981         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
13982         lib/file-has-acl.c, m4/acl.m4 to qacl module.
13983         Add lib/set-acl.c.
13984         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
13985         Add qacl.
13986         (configure.ac): Move gl_FUNC_ACL to qacl module.
13987         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
13988         Rename set-mode-acl.c to set-acl.c.
13989         * lib/acl-errno-valid.c: New file.
13990         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
13991         copy_acl function remains in copy-acl.c.
13992         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
13993         (_): Remove; not needed.
13994         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
13995         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
13996         * modules/qacl: New file, moved from the old modules/acl.
13997         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
13998         Remove set-mode-acl.c, copy-acl.c.
13999         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
14001         alignof, intprops, malloca: port better to IBM's C compiler
14002         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
14003         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
14004         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
14006 2013-04-25  Daiki Ueno  <ueno@gnu.org>
14008         wctype-h: fix gettext link error on mingw
14009         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
14010         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
14011         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
14012         rpl_towupper and rpl_towupper.
14014 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
14016         regex-tests, regex: allow glibc re_search behavior
14017         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
14018         re_search input data to make the multi-character collating element
14019         in it clearly visible, and treat re_search return code 0 as valid.
14020         * m4/regex.m4 (gl_REGEX): Likewise.
14022 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
14024         stdalign: doc fix
14025         * doc/posix-headers/stdalign.texi (stdalign.h):
14026         Gnulib doesn't support '_Alignof expr'.
14028 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
14030         stdalign: port to stricter ISO C11
14031         ISO C11 says that _Alignof's operand must be a parenthesized type.
14032         Problem reported by Eli Zaretskii in
14033         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
14034         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
14035         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
14037 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
14039         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
14040         Problem reported by Marco Atzeri in
14041         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
14042         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
14043         Simply delegate to the system <sys/select.h> in this case too.
14044         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
14045         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
14046         be needed on Solaris either.
14047         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
14048         Simply delegate to the system <sys/time.h> in this case.
14050 2013-03-19  Karl Berry  <karl@gnu.org>
14052         * build-aux/gnupload: check for erroneous (with gnupload) use of
14053         ftp-upload.gnu.org, tweak help.
14055 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
14057         copy-file, rpmatch: fix problems found by cppcheck
14058         Reported by Arno Onken in
14059         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
14060         * lib/rpmatch.c (try): Fix memory leak.
14061         * lib/copy-file.c: Include "ignore-value.h".
14062         (qcopy_file_preserving): Ignore chown value.
14063         * modules/copy-file (Depends-on): Add ignore-value.
14065 2013-01-27  Jim Meyering  <jim@meyering.net>
14067         prefix-gnulib-mk: give better diagnostics
14068         * build-aux/prefix-gnulib-mk: Don't just "die".
14069         Give better diagnostics upon failure.
14071 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
14073         putenv: port to Solaris 10
14074         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
14075         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
14076         is not what is wanted here.
14077         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
14078         declaration, not for its existence.
14080 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
14082         mktime: fix configure typo
14083         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
14085 2013-03-12  Eric Blake  <eblake@redhat.com>
14087         regex-tests: skip UTF-8 test on mingw
14088         * modules/regex-tests (Depends-on): Add localcharset.
14089         * tests/test-regex.c (main): Use it to skip test on mingw.
14091 2013-03-11  Eric Blake  <eblake@redhat.com>
14093         tests: make it easier to bypass alarm time in debugger
14094         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
14095         * tests/test-memmem.c (main): Likewise.
14096         * tests/test-passfd.c (main): Likewise.
14097         * tests/test-ptsname.c (main): Likewise.
14098         * tests/test-ptsname_r.c (main): Likewise.
14099         * tests/test-strcasestr.c (main): Likewise.
14100         * tests/test-strstr.c (main): Likewise.
14102         regex: port to mingw's recent addition of undeclared alarm
14103         * doc/posix-functions/alarm.texi (alarm): Document that alarm
14104         exists but still doesn't work in newer mingw.
14105         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
14106         not existence.  Ensure SIGALRM is not trapped.
14107         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
14108         * m4/regex.m4 (gl_REGEX): Likewise.
14109         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
14110         * tests/test-regex.c (main): Use correct probe for alarm.
14112         putenv: avoid compilation warning on mingw
14113         * lib/putenv.c (_unsetenv): Protect variable declaration.
14114         (putenv): Fix indentation.
14116 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
14118         unistd: don't prevent Tru64 Unix from using gnulib strtod.
14119         * lib/unistd.in.h: be careful not to include un-needed system
14120         stdlib.h from here, because that prevents gnulib stdlib.h from
14121         defining rpl_strtod correctly.
14123 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
14125         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
14126         changesets, but for the 'precision 0' test.
14127         * tests/test-vasprintf-posix.c (test_function): Don't insist on
14128         round-to-even, since POSIX says rounding is implementation-defined
14129         and OS X 10.8.2 rounds 1.51 to 1 here.
14131         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
14132         changeset.
14133         * tests/test-vasprintf-posix.c (test_function): Don't insist on
14134         round-to-even, since POSIX says rounding is implementation-defined
14135         and OS X 10.8.2 rounds 1.5 to 1 here.
14137 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
14139         vasnprintf-posix-tests: allow rounding 1.5 to 1
14140         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
14141         round-to-even, since POSIX says rounding is implementation-defined
14142         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
14143         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
14145         bootstrap: port to FreeBSD
14146         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
14147         that treat '--' differently.  Reported by Mats Erik Andersson in
14148         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
14150 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
14152         regex: rename remaining __attribute calls to __attribute__.
14153         2012-02-25 changed definition of __attribute, but left some uses
14154         unchanged, preventing compilation of regex module on most non-gcc
14155         environments.
14156         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
14157         (lookup_collation_sequence_value, build_range_exp)
14158         (build_collating_symbol): Set attributes with newly renamed
14159         __attribute__ decorator.
14160         * lib/regex_internal.c (re_string_peek_byte_case)
14161         (re_node_set_compare, re_node_set_contains): Likewise.
14162         * lib/regexec.c (acquire_init_state_context): Likewise.
14164 2013-03-06  Bruno Haible  <bruno@clisp.org>
14166         execute: Revert last change, but use a different condition.
14167         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
14168         on Windows.
14170 2013-03-05  Eric Blake  <eblake@redhat.com>
14172         execute: drop dead code
14173         * lib/execute.c (nonintr_close, nonintr_open): Delete.
14175 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
14177         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
14178         * m4/non-recursive-gnulib-prefix-hack.m4
14179         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
14180         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
14181         <http://bugs.gnu.org/10305#237>.
14183 2013-03-04  Eric Blake  <eblake@redhat.com>
14185         test-getsockopt: avoid compiler warning
14186         * tests/test-getsockopt.c (includes): Ensure close is declared.
14188 2013-03-02  Bruno Haible  <bruno@clisp.org>
14190         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
14191         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
14193 2013-03-02  Bruno Haible  <bruno@clisp.org>
14195         gettext: Update to version 0.18.2.
14196         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
14197         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
14198                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
14200 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14202         regex: merge patches from libc
14204         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
14205         * lib/regex_internal.h (__attribute__): Rename from __attribute.
14206         All uses changed.
14207         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
14208         (re_string_wchar_at, re_string_elem_size_at):
14209         Mark function as possibly unused.
14211         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
14212         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
14213         elements compare against the byte sequence of it, not its name.
14215 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
14217         putenv: port better to native Windows
14218         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
14219         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
14220         (_unsetenv): Use _putenv if available.
14221         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
14222         a bit less likely to cause damage.
14223         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
14224         Fix the wrong value with SetEnvironmentVariable.
14225         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
14226         code better.
14228 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
14230         regex: ignore old-style-definition warnings
14231         * lib/regex.c: Add pragma to ignore these warnings.
14232         Problem reported for GNU tar by Pavel Raiskup.
14234 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
14236         getcwd: support coreutils better
14237         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
14238         but this might not be correct in coreutils, which disables
14239         the raw decl checks.  Problem reported by Nagendra in
14240         <http://bugs.gnu.org/10305#192>.
14241         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
14242         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
14243         Test the getcwd function, not any macro, since getcwd.c wants the
14244         function.
14245         * m4/getcwd.m4 (gl_FUNC_GETCWD):
14246         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
14247         compile, as might happen if there's a macro but no function.
14249         strtod: support coreutils better
14250         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
14251         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
14252         disables the raw decl checks.  This assumes there is an underlying
14253         strtod, but that's a safe assumption these days.
14254         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
14256         mountlist: port to HP NonStop
14257         Reported by Joachim Schmitz in
14258         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
14259         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
14260         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
14262 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
14264         extern-inline: avoid compilation error with HP-UX cc
14265         Reported by Richard Lloyd in
14266         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
14267         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
14268         Suppress extern inline with HP-UX cc.  This should be safe,
14269         though it may hurt performance.  Perhaps someone with some HP-UX
14270         experience can come up with a higher-performance fix.
14272 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
14274         putenv: fix heap corruption with mixed putenv/_putenv
14275         Problem reported by Michael Goffioul in
14276         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
14277         * lib/putenv.c (putenv) [HAVE__PUTENV]:
14278         Rely on _putenv to allocate the new environment.
14279         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
14280         * modules/putenv (configure.ac): Use it.
14282 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
14284         unsetenv etc.: port to Solaris 11 + GNU Emacs
14285         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
14286         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
14287         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
14288         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
14289         idea but is too painful to fix right now), and without this gnulib
14290         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
14291         compiling unsetenv.c on Solaris 11.  Fix the problem for
14292         unsetenv.c, and fix other similar occurrences.
14294 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
14296         secure_getenv: fix C++ declaration typo
14297         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
14298         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
14299         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
14301 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
14303         careadlinkat: stop exporting careadlinkatcwd
14304         Only Emacs used it directly, and Emacs no longer needs it.
14305         * NEWS: Document this simplification.
14306         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
14307         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
14308         for readlink.
14309         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
14310         Don't include stdlib.h; no longer needed.
14311         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
14312         * lib/relocwrapper.c: Adjust comment to match new dependencies.
14313         * modules/areadlink (Depends-on): Add readlink.
14314         (Maintainer): Add self.
14315         * modules/careadlinkat (Depends-on): Remove readlink.
14317         extensions: port better to HP-UX
14318         This is merged from git Autoconf.
14319         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
14320         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
14321         so that it's compatible with the value used when compiling.
14323         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
14324         Problem reported by Mats Erik Andersson in
14325         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
14326         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
14327         openpty function exists, not merely when we intend to replace it.
14328         This corrects the 2013-01-31 patch, which mistakenly defined
14329         HAVE_OPENPTY even on hosts that lacked it.
14331 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
14333         secure_getenv: fix include typo
14334         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
14336         secure_getenv: port better to FreeBSD and Solaris
14337         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
14338         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
14339         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
14340         This works better on BSDish platforms.
14341         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
14342         Test for issetugid if __secure_getenv is missing.
14344 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
14346         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
14347         Some of these changes are merged in from git Autoconf.
14348         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
14349         When deciding whether to define _XOPEN_SOURCE, inspect the
14350         preprocessor macro __hpux instead of the more-heavyweight
14351         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
14352         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
14353         as the key for __EXTENSIONS__.
14355         unistd: avoid namespace pollution on non-glibc systems
14356         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
14357         This avoids namespace pollution on non-glibc systems, by causing
14358         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
14359         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
14360         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
14362 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
14364         tmpdir: use secure_getenv
14365         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
14366         Define to secure_getenv, not getenv.
14367         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
14368         as that's now secure_getenv's job.
14369         * modules/tmpdir (Depends-on): Add secure_getenv.
14371         tempname: use secure_getenv
14372         * lib/tempname.c (__secure_getenv) [!_LIBC]:
14373         Define to secure_getenv, not getenv.
14374         * modules/tempname (Depends-on):
14375         Add secure_getenv.
14377         secure_getenv: new module
14378         * MODULES.html.sh (Extra functions based on ANSI C 89):
14379         Add secure_getenv.
14380         * doc/glibc-functions/secure_getenv.texi: New file.
14381         * doc/gnulib.texi: Include it.
14382         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
14383         New files.
14384         * lib/stdlib.in.h (secure_getenv): New decl.
14385         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
14386         * modules/stdlib (stdlib.h):
14387         Add secure_getenv checks.
14389 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14391         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
14392         Reported for OS X 10.8.2 by Assaf Gordon in
14393         <http://bugs.gnu.org/13516>.
14394         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
14395         !HAVE_OPENAT && !HAVE_FDOPENDIR.
14396         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
14397         so that they can be kept in sync more easily.  Avoid PATH_MAX
14398         test on the Hurd.  Sync from test-getcwd.c for errno tests after
14399         mkdir or chdir failure.
14400         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
14401         lib/getcwd.c.
14402         (test_abort_bug): Do not test for the deep directory bug unless we
14403         have openat support.  Avoid PATH_MAX test on the Hurd.
14405         regex-tests, regex: fix bug: memset undeclared
14406         * tests/test-regex.c: Don't include regex.h twice.  Include
14407         string.h, to declare memset.  Christensen's report also mentioned
14408         this issue.
14409         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
14410         test-regex.c, to avoid future problems like this.  Remove
14411         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
14412         twice.
14414         regex-tests: fix link errors on older Solaris
14415         These need to link with @LIBINTL@ to get libintl_gettext.
14416         Problem reported by Tom G. Christensen in
14417         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
14418         * modules/regex-tests (test_regex_LDADD): New macro.
14420 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
14422         regex-tests: new module
14423         * modules/regex-tests, tests/test-regex.c: New files.
14425         regex: fix off-by-one error in configure test
14426         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
14428 2013-01-31  Eric Blake  <eblake@redhat.com>
14430         regex: avoid infinite configure test
14431         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
14433 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
14435         openpty: fix bug where HAVE_OPENPTY wasn't defined
14436         See the thread starting at:
14437         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
14438         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
14439         openpty function exists, not merely when we intend to replace it.
14441 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
14443         sys_time: port to Solaris 2.6
14444         There is a circularity problem on Solaris 2.6, where <time.h> includes
14445         <sys/time.h> for struct timespec.  The include nesting is gnulib
14446         <time.h>, system <time.h>, gnulib <sys/time.h>, system
14447         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
14448         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
14449         <sys/siginfo.h>; the last, innermost file needs struct
14450         timestruc_t, which is defined in <sys/time.h>, which has not been
14451         fully parsed.  Problem reported by Tom G. Christensen in
14452         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
14453         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
14454         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
14455         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
14456         uses split double-inclusion guards.
14458 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
14460         regex: test for buffer overrun
14461         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
14462         for the just-fixed regex bug.
14464 2013-01-29  Andreas Schwab  <schwab@suse.de>
14466         regex: fix buffer overrun in regexp matcher [BZ #15078]
14467         * lib/regexec.c (extend_buffers): Add parameter min_len.
14468         (check_matching): Pass minimum needed length.
14469         (clean_state_log_if_needed): Likewise.
14470         (get_subexp): Likewise.
14472 2013-01-28  Pádraig Brady  <P@draigBrady.com>
14474         mountlist: don't consider "devtmpfs" as dummy
14475         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
14476         as there is storage associcated with it.
14478 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
14480         futimens-tests, utimens-tests: Depend on gettext.
14481         This works around a problem introduced in my 2013-01-12 patch,
14482         which added @LIBINTL@ to these modules.
14483         * modules/futimens-tests (Depends-on):
14484         * modules/utimens-tests (Depends-on): Add gettext.
14486 2013-01-26  Eric Blake  <eblake@redhat.com>
14488         test-getpeername: fix typo
14489         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
14491 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
14493         bootstrap: remove the need for a sorted .gitignore file
14494         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
14495         rename to insert_if_absent(), so that we don't need or generate
14496         a sorted .gitignore file.  We do require a .gitignore with no
14497         existing duplicate entries and enforce that.
14498         (sort_patterns): Remove this function as we now use the simpler
14499         technigue of inserting blacklist entries at the top of the file,
14500         assuming gnulib won't be inserting !whitelist entries.
14502 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14504         readlinkat: don't depend on gl_FUNC_OPENAT
14505         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
14506         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
14507         renameat.m4, symlinkat.m4; but one thing at a time.
14509         statat: new module, split out from fstatat
14510         GNU Emacs needs the POSIX-specified fstatat, but not the
14511         gnulib-specified statat and lstat.  Split the latter two into a
14512         new module 'statat'.
14513         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
14514         * lib/openat.h, lib/statat.c (STATAT_INLINE):
14515         Rename from FSTATAT_INLINE. All uses changed.
14516         * modules/fstatat (Files): Remove lib/statat.c.
14517         (gl_MODULE_INDICATOR([fstatat])): Remove.
14518         (lib_SOURCES): Remove.
14519         (Maintainer): Add self.
14520         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
14521         * tests/test-fstatat.c (BASE): Don't define if already defined.
14522         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
14524 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
14526         tests: don't assume fd 99 is closed
14527         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
14528         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
14529         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
14530         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
14531         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
14532         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
14533         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
14534         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
14535         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
14536         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
14537         * tests/test-fwrite.c, tests/test-getpeername.c:
14538         * tests/test-getsockname.c, tests/test-getsockopt.c:
14539         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
14540         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
14541         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
14542         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
14543         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
14544         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
14545         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
14546         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
14547         * tests/test-unlinkat.c, tests/test-unlockpt.c:
14548         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
14549         Close file descriptor 99, instead of assuming it's already closed.
14551 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14553         stpncpy: port to OS X 10.8
14554         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
14555         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
14557 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
14559         unistd: port to recent mingw
14560         * lib/unistd.in.h: Remove special invocation convention for mingw,
14561         which breaks for the latest mingw version.  See John W. Eaton in
14562         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
14564         largefile: port better to Mac OS X 10.5
14565         This patch is backported from Autoconf git.
14566         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
14567         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
14568         with ino_t size being different for configuration time versus
14569         build/run time.  Problem reported by PHO in
14570         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
14572 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
14574         doc: clarify -Werror
14575         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
14576         clarify that it's intended for developers, not for ordinary builds,
14577         and mention --enable-gcc-warnings as one possible use.
14579 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
14581         stdint: fix build with Android's Bionic fox x86
14582         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
14583         was already included as _SSIZE_T_DEFINED_ might also be defined
14584         in include/machine/_types.h, which is included by stdio.h
14586 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
14588         net_if-tests: port to Solaris 7 + GCC 3.4.6
14589         Problem reported by Tom G. Christensen in
14590         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
14591         * tests/test-net_if.c (ni): Move to next the code that uses it,
14592         so that it's declared only if needed.
14594 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
14596         net_if-tests: port to older Solaris
14597         Problem reported by Tom G. Christensen in
14598         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
14599         * modules/net_if-tests (NET_IF_LIB): New substitution.
14600         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
14601         (HAVE_IF_NAMEINDEX): New C macro.
14602         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
14604         system-quote-tests: port to older Solaris
14605         Problem reported by Tom G. Christensen in
14606         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
14607         * tests/test-system-quote-child.c (fopen, fread): Undef.
14609         c-xvasprintf etc.: fix link errors on older Solaris
14610         These need to link with @LIBINTL@ to get libintl_gettext.
14611         Problem reported by Tom G. Christensen in
14612         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
14613         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
14614         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
14615         * modules/futimens-tests (test_futimens_LDADD):
14616         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
14618 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
14620         locale: port to Solaris 2.6 and 7 + GNU gettext
14621         * lib/locale.in.h: Just include_next <locale.h> when
14622         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
14623         when combining the localename module with GNU gettext 0.18.2.
14624         Problem reported by Tom G. Christensen in
14625         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
14627 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
14629         stdlib: port to Solaris 2.6
14630         Also, the code worked on Solaris 7 through 9 only by accident.
14631         Problem reported by Tom G. Christensen in
14632         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
14633         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
14634         simply include the system stdlib.h.
14635         * lib/getopt.in.h (__need_system_stdlib_h):
14636         * lib/pthread.in.h (__need_system_stdlib_h):
14637         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
14638         Define when including <stdlib.h>, to avoid problems at least for
14639         the pthread case on Solaris 2.6 and 7.  These .h files can get by
14640         with the system stdlib.h.
14642 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
14644         doc: update main copyright year
14645         * doc/gnulib.texi: Update copyright date.
14647         doc: improve ISO 8601 discussion
14648         * doc/parse-datetime.texi (Combined date and time of day items):
14649         Specify more carefully what formats are supported and what is
14650         done with excess precision.
14652 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
14654         doc: avoid small caps
14655         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
14656         they're more trouble than they're worth.  Suggested by Karl Berry
14657         in <http://bugs.gnu.org/13360>.
14659         regex: conform to strict C
14660         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
14661         From Aharon Robbins.
14663         gnulib-tool: fix incompatibility with autopoint 0.18.2
14664         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
14665         Problem reported by Tom G. Christensen in
14666         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
14668 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
14670         fprintftime: bring back and reword fwrite comment
14671         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
14673         stdio: remove now-unnecessary stdio.c
14674         Since stdio.in.h no longer uses inline functions, we no longer
14675         need to compile the extern versions.
14676         * lib/stdio.c: Remove.
14677         * modules/stdio (Files): Remove lib/stdio.c.
14678         (lib_SOURCES): Remove.
14680         unicodeio: depend on stdio, not ignore-value
14681         * lib/unicodeio.c: Do not include ignore-value.h.
14682         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
14683         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
14685         fprintftime: depend on stdio, not ignore-value
14686         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
14687         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
14688         since the stdio module arranges to silence that warning now.
14689         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
14691 2012-10-04  Simon Josefsson  <simon@josefsson.org>
14693         stdint-tests: Fix expanded-before-required-warning.
14694         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
14696 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
14698         fwrite: silence __wur only for older glibc versions
14699         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
14700         This will help us remove this workaround some time in the far future.
14702 2013-01-03  Eric Blake  <eblake@redhat.com>
14704         fwrite: silence __wur without using inline
14705         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
14706         just gcc, and in a way that avoids inline issues.
14707         * modules/stdio (Depends-on): Drop extern-inline.
14709 2013-01-03  Jim Meyering  <jim@meyering.net>
14711         update-copyright: avoid copyright notice date corruption
14712         Given a sequence of copyright year numbers in which the final
14713         one was a two-digit number that happened to be a substring of
14714         a preceding four-digit year number, we would mistakenly update
14715         the substring (from two- to four-digit) rather than the two-digit
14716         number at the end, which, combined with the addition of the current
14717         4-digit year number would yield two 5-digit year numbers, e.g.,
14718         here, it would convert the first "99" to "1999, 2013" rather than
14719         the final one:
14720           1991, 99
14721           11999, 20131, 1999
14722         * build-aux/update-copyright: Tighten a regexp.
14723         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
14724         Reported by Joseph Myers in
14725         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
14727 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
14729         regex: omit needless signed-pointer casts
14730         * lib/regcomp.c (build_charclass, build_charclass_op):
14731         Use char *, not unsigned char *, for class name and extra.
14732         The char values are always nonnegative so there's no need to
14733         insist on unsigned char * here, and using char * removes the need
14734         for casts.  Reported by Aharon Robbins in
14735         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14737         regex: support Gawk, which never uses alloca
14738         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
14739         Do not include in this case.  Gawk doesn't supply a substitute
14740         alloca.h and doesn't need one.
14742         regex: port __libc_lock_define usage to C89
14743         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
14744         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
14745         does not conform to C89, as it has an empty macro argument.
14746         Reported by Aharon Robbins in
14747         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14749 2013-01-01  Eric Blake  <eblake@redhat.com>
14751         maint: update all copyright year number ranges
14752         Run "make update-copyright".
14754         version-etc: bump copyright year reported in --version
14755         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
14757 2012-12-31  Eric Blake  <eblake@redhat.com>
14759         sigprocmask-tests: skip test if pid is unexpectedly large
14760         * tests/test-sigprocmask.c (main): Add range check.
14762         git-version-gen: avoid test -z portability glitch
14763         * build-aux/git-version-gen: Prefer portable test spelling, since
14764         git-version-gen is run on more than just developer machines.
14766 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
14768         git-version-gen: add --fallback option to use if git is not present
14769         * build-aux/git-version-gen: Add support for the new option --fallback,
14770         which comes into play when there is no $tarball_version_file and
14771         git is not working.
14772         (scriptversion): Update.
14774         maint.mk: handle missing git with more grace
14775         * top/maint.mk (no-submodule-changes, public-submodule-commit):
14776         Quietly proceed if git is not present.
14778 2012-12-31  Eric Blake  <eblake@redhat.com>
14780         dup2: work around cygwin bug
14781         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
14782         * lib/dup2.c (rpl_dup2): Work around it.
14783         * doc/posix-functions/dup2.texi (dup2): Document it.
14785 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
14787         regex: remove unnecessary dependency on localcharset.h
14788         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
14789         hasn't been needed for years.
14790         * modules/regex (Depends-on): Remove localcharset.
14792         regex: revert single-byte change
14793         * lib/regexec.c (check_node_accept_bytes): Revert previous change
14794         to this function.  This was alredy fixed in a different way, at
14795         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
14796         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
14797         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
14799         regex: simplify based on Gawk version
14800         * lib/regex_internal.c (re_dfa_add_node): Simplify.
14801         Reported by Aharon Robbins in
14802         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14804 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
14806         regex: check that pattern char is single-byte
14807         Reported by Aharon Robbins in
14808         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14809         * lib/regexec.c (check_node_accept_bytes):
14810         Return 0 if the pattern string has a multibyte character here.
14812         regex: implement rational ranges
14813         Reported by Aharon Robbins in
14814         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14815         * lib/regcomp.c (build_range_exp) [!_LIBC]:
14816         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
14817         Implement rational ranges.
14819         regex: avoid redefining __wctype
14820         Reported by Aharon Robbins in
14821         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14822         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
14823         #undef before defining.
14825         regex: port to hosts where malloc (0) == NULL
14826         Reported by Aharon Robbins in
14827         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14828         * lib/regex_internal.c (re_node_set_alloc):
14829         Don't assume that malloc (0) yields nonnull.
14830         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
14831         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
14832         * modules/regex (Files): Add m4/eealloc.m4.
14834         regex: port to C89
14835         Reported by Aharon Robbins in
14836         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
14837         * lib/regcomp.c (init_word_char): Declaration before statement.
14839         regex: merge glibc changes
14840         Also, copy the license wording from glibc.  This simplifies
14841         merging changes.  gnulib-tool will change the wording to GPL as
14842         appropriate, when importing it to other packages.  The only
14843         glibc change made since the last merge, which needs merging, is:
14844         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
14845         * lib/regex_internal.h (gettext): Remove use of INTUSE.
14847         * users.txt: Add Emacs.
14849         doc: omit mention of version when not needed
14850         * doc/gnulib-intro.texi (Portability and Application Code):
14851         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
14852         Don't mention particular dates or versions when not necessary, so
14853         that the documentation won't go out of date so quickly.
14855         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
14857 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
14859         bootstrap: pass --force to autoreconf.
14860         * build-aux/bootstrap (AUTORECONFFLAGS): New.
14861         Add "--force" so that Automake's ylwrap and other such tools
14862         be updated at each bootstrap invocation.
14863         Use it.
14865 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
14867         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
14868         The earlier patch forgot to update one of the #if conditions, causing
14869         a problem on Debian testing i386 reported by Mats Erik Andersson
14870         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
14871         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
14872         (__argp_fmtstream_puts, argp_fmtstream_puts)
14873         (__argp_fmtstream_write, argp_fmtstream_write)
14874         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
14876         * doc/gnulib-readme.texi: Minor fixups.
14877         (Portability guidelines): Modernize URLs.  Remove some repetition.
14878         (Indent with spaces not TABs): Reword to avoid too-long lines.
14879         Remove some '@ifset standalone' stuff that isn't used.
14881         * doc/gnulib-readme.texi (Portability guidelines):
14882         ctype.h, not ctime.h.
14884         Correct name of POSIX.1-2001.
14885         * doc/posix-functions/fgetc.texi (fgetc):
14886         * doc/posix-functions/fgets.texi (fgets):
14887         * doc/posix-functions/fread.texi (fread):
14888         * doc/posix-functions/fscanf.texi (fscanf):
14889         * doc/posix-functions/getc.texi (getc):
14890         * doc/posix-functions/getchar.texi (getchar):
14891         * doc/posix-functions/scanf.texi (scanf):
14892         POSIX.1-2001, not POSIX-2001.
14894         doc: move README into manual
14895         * README: Move contents to new file doc/gnulib-readme.texi.
14896         Replace with a one-line summary.
14897         * doc/gnulib.texi (Brief Overview): New section,
14898         with old intro preface.  Include gnulib-readme.texi for contents.
14899         (Philosophy): Rename from "Introduction", since this
14900         section no longer introduces the rest.  Write a new preface.
14901         * doc/gnulib-readme.texi: New file, with the old contents of
14902         README texinfo-ized.  This way, the README info appears
14903         in the online and printed manual.
14905 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
14907         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
14908         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
14909         c_vasprintf() prototype.
14911 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
14913         c-vasprintf: Fix "empty declaration" warning reported by GCC.
14914         * lib/c-vasprintf.h: Remove stray semicolon.
14916 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
14918         gettext: avoid obsolete macro AM_PROG_MKDIR_P
14919         It is obsolete and is planned to be removed from Automake 1.14; see
14920         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
14921         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
14922         (installdirs-data, installdirs-data-yes):
14923         Use $(MKDIR_P), not $(mkdir_p).
14924         * m4/intl.m4 (AM_INTL_SUBDIR):
14925         * m4/po.m4 (AM_PO_SUBDIRS):
14926         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
14928 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
14930         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
14931         On this platform, we are not optimizing but we are using
14932         the substitute for extern inlines, so compile as if
14933         C99-style extern inline, or a substitute, is available.
14934         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
14935         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
14936         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
14937         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
14938         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
14939         Declare as ARGP_FS_EI, not as extern.
14940         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
14941         (__option_is_short, _option_is_end, __option_is_end)
14942         [!_LIBC && __USE_EXTERN_INLINES]:
14943         Declare as ARGP_EI, not as extern.
14945 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
14947         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
14948         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
14949         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
14950         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
14951         ...), as the latter is fatal with older Autoconfs.
14952         Problem reported and fix suggested by Eric Blake in thread starting at
14953         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
14955 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
14957         AC_PROG_MKDIR_P: don't workaround if not buggy
14958         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
14959         Define only for Autoconf versions before 2.62.
14960         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
14961         undocumented m4_PACKAGE_VERSION, for consistency with the
14962         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
14963         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
14964         was introduced in 2.62.
14966 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
14968         New 'c-*printf' modules for formatted output in C locale.
14970         New module 'c-vasnprintf'.
14971         * modules/c-vasnprintf: New file.
14972         * lib/c-vasnprintf.c: New file.
14973         * lib/c-vasnprintf.h: New file.
14975         New module 'c-snprintf'.
14976         * modules/c-snprintf: New file.
14977         * modules/c-snprintf-tests: New file.
14978         * lib/c-snprintf.c: New file.
14979         * lib/c-snprintf.h: New file.
14980         * tests/test-c-snprintf.c: New file.
14981         * tests/test-c-snprintf.sh: New file.
14983         New module 'c-vsnprintf'.
14984         * modules/c-vsnprintf: New file.
14985         * modules/c-vsnprintf-tests: New file.
14986         * lib/c-vsnprintf.c: New file.
14987         * lib/c-vsnprintf.h: New file.
14988         * tests/test-c-vsnprintf.c: New file.
14989         * tests/test-c-vsnprintf.sh: New file.
14991         New module 'c-vasprintf'.
14992         * modules/c-vasprintf: New file.
14993         * modules/c-vasprintf-tests: New file.
14994         * lib/c-asprintf.c: New file.
14995         * lib/c-vasprintf.c: New file.
14996         * lib/c-vasprintf.h: New file.
14997         * tests/test-c-vasprintf.c  +: New file.
14998         * tests/test-c-vasprintf.sh: New file.
15000         New module 'c-xvasprintf'.
15001         * modules/c-xvasprintf: New file.
15002         * modules/c-xvasprintf-tests: New file.
15003         * lib/c-xasprintf.c: New file.
15004         * lib/c-xvasprintf.c: New file.
15005         * lib/c-xvasprintf.h: New file.
15006         * tests/test-c-xvasprintf.c: New file.
15007         * tests/test-c-xvasprintf.sh: New file.
15009 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
15011         argp: better 'inline'
15012         Use extern-inline module to declare extern inline functions.
15013         This avoids some bogus warning diagnostics.  Problem discovered
15014         when modifying GNU tar to use the manywarnings module.
15015         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
15016         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
15017         Define based on extern-inline.
15018         * modules/argp (Depends-on): Add extern-inline.
15020 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
15022         filemode, sys_stat: Handle MPX files a la AIX.
15023         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
15024         * lib/sys_stat.in.h (S_ISMPX): New macro.
15025         * tests/test-sys_stat.c: Add tests for MPX files.
15027 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
15029         x-to-1: honor $PERL
15030         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
15031         a chance to use his preferred version of Perl.  This is typically
15032         required by Darwin users whose default /usr/bin/perl does not have all
15033         the libraries required by help2man, and who need to use their MacPorts
15034         installation of Perl instead.
15036 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
15038         gnu-web-doc-update: add all the new files, even in new directories
15039         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
15040         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
15041         Use it.
15042         (main): Don't use cvsutils to get the list of unknown files,
15043         just add all the existing files and directories.
15045 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
15047         gnu-web-doc-update: improve --help
15048         * build-aux/gnu-web-doc-update: Move comments into --help.
15050 2012-12-07  Eric Wong  <normalperson@yhbt.net>
15052         mountlist: recognize more "dummy" file systems
15053         * lib/mountlist.c (ME_DUMMY_0):
15054         Add these dummy FS names to the list:
15055         - "debugfs" virtual filesystem for kernel debugging
15056         - "devpts" PTY slave filesystem
15057         - "devtmpfs" device filesystem on top of tmpfs/ramfs
15058         - "fusectl" control filesystem for FUSE
15059         - "mqueue" enumerates POSIX message queues
15060         - "rpc_pipefs" kernel <-> userspace bridge for NFS
15061         - "sysfs" is for exporting kernel objects
15062         - "devfs" device filesystem for Linux 2.4 and FreeBSD
15064 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
15066         extern-inline: avoid incompatibility with Darwin Libc
15067         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
15068         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
15069         Problem reported by Akim Demaille in
15070         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
15072 2012-12-11  Simon Josefsson  <simon@josefsson.org>
15074         gnupload: Work with GnuPG using gpg-agent (for smartcards).
15075         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
15076         let it handle password prompting.
15078 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
15080         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
15081         * lib/canonicalize.c (canonicalize_filename_mode):
15082         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
15083         fetching the current directory.  Don't overrun the beginning of
15084         rpath if there's no slashes after the MS-Windows drive letter.
15086 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
15088         maint.mk: avoid extra forks
15089         * top/maint.mk (_cfg_mk): The GNU make manual documents that
15090         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
15091         So use that instead of "$(shell test -f FILE && echo FILE)".
15093 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15095         vasnprintf: fix ASCII_ONLY typo
15096         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
15097         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
15098         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
15099         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
15100         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
15102 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
15104         list, oset, xlist, xoset: fix extern inline issue with C99
15105         This was introduced by my recent changes for 'inline'.
15106         Problem reported for gettext by Daiki Ueno in
15107         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
15108         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
15109         (gl_list_nx_create, gl_list_size, gl_list_node_value)
15110         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
15111         (gl_list_previous_node, gl_list_get_at)
15112         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
15113         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
15114         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
15115         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
15116         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
15117         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
15118         (gl_list_iterator_free, gl_sortedlist_search)
15119         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
15120         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
15121         (gl_sortedlist_remove):
15122         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
15123         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
15124         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
15125         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
15126         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
15127         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
15128         (gl_list_add_at, gl_sortedlist_add):
15129         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
15130         Wrap these extern decls inside "#if 0", because they are implemented
15131         as inline functions, and extern inline is not what's wanted here.
15132         It would simplify these .h files to remove the extern decls entirely,
15133         although a downside would be less-clear separation between
15134         specification and implementation.
15136 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
15138         sys_stat: no 'static inline'
15139         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
15140         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
15142         extern-inline: no 'static inline'
15143         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
15144         Do not require AC_C_INLINE.
15145         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
15146         'static inline', for older compilers.
15148         snippet/warn-on-use: no 'static inline'
15149         * build-aux/snippet/warn-on-use.h:
15150         Remove unnecessary 'inline' in comment.
15152         rbtree-list, rbtreehash-list: no 'static inline'
15153         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
15154         * lib/gl_anytree_list2.h (node_at):
15155         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
15156         (gl_oset_first, add_nodes_to_buckets):
15157         Now static, not static inline.
15159         regex: no 'static inline'
15160         * lib/regex_internal.c (calc_state_hash):
15161         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
15162         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
15163         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
15164         Now static, not static inline.
15165         (inline) [__GNUC__ < 3 && _LIBC]:
15166         Remove macro; no longer needed.
15168         xvasprintf: no 'static inline'
15169         * lib/xvasprintf.c (xstrcat):
15170         Now static, not static inline.
15171         * m4/xvasprintf.m4 (gl_XVASPRINTF):
15172         Do not require AC_C_INLINE.
15174         parse-datetime, parse-duration: no 'static inline'
15175         * lib/parse-datetime.y (to_uchar):
15176         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
15177         (scale_n_add):
15178         Now static, not static inline.
15179         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
15180         * modules/parse-duration (configure.ac):
15181         Do not require AC_C_INLINE.
15183         getaddrinfo: no 'static inline'
15184         * lib/getaddrinfo.c (validate_family):
15185         Now static, not static inline.
15186         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
15187         Do not require AC_C_INLINE.
15189         ftruncate, fts, lstat, openat, raise: no 'static inline'
15190         * lib/ftruncate.c (chsize_nothrow):
15191         * lib/fts.c (opendirat, diropen):
15192         * lib/lstat.c (orig_lstat):
15193         * lib/openat.c (orig_openat):
15194         * lib/raise.c (raise_nothrow):
15195         Now static, not static inline.
15196         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
15197         * m4/fts.m4 (gl_FUNC_FTS_CORE):
15198         * m4/lstat.m4 (gl_PREREQ_LSTAT):
15199         * m4/openat.m4 (gl_PREREQ_OPENAT):
15200         * m4/raise.m4 (gl_PREREQ_RAISE):
15201         Do not require AC_C_INLINE.
15203         fflush, stat: no 'static inline'
15204         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
15205         (clear_ungetc_buffer, disable_seek_optimization)
15206         (restore_seek_optimization, update_fpos_cache):
15207         * lib/stat.c (orig_stat):
15208         Now static, not static inline.
15209         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
15210         (update_fpos_cache):
15211         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
15212         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
15213         * m4/stat.m4 (gl_PREREQ_STAT):
15214         Do not require AC_C_INLINE.
15216         error, filevercmp: no 'static inline'
15217         * lib/error.c (is_open, flush_stdout):
15218         * lib/filevercmp.c (order):
15219         Now static, not static inline.
15220         * m4/error.m4 (gl_PREREQ_ERROR):
15221         * modules/filevercmp (configure.ac):
15222         Do not require AC_C_INLINE.
15224         dup, execute, fatal-signal, etc.: no 'static inline'
15225         * lib/dup.c (dup_nothrow):
15226         * lib/execute.c (nonintr_close, nonintr_open):
15227         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
15228         * lib/fopen.c (orig_fopen):
15229         * lib/freadseek.c (freadptrinc):
15230         * lib/freopen.c (orig_freopen):
15231         * lib/fstat.c (orig_fstat, fstat_nothrow):
15232         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
15233         (get_rusage_as_via_iterator):
15234         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
15235         * lib/getdtablesize.c (_setmaxstdio_nothrow):
15236         * lib/isatty.c (_isatty_nothrow):
15237         * lib/open.c (orig_open):
15238         * lib/read.c (read_nothrow):
15239         * lib/sigprocmask.c (signal_nothrow):
15240         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
15241         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
15242         * lib/wait-process.c (unregister_slave_subprocess):
15243         * lib/write.c (write_nothrow):
15244         Now static, not static inline.
15245         * lib/spawn-pipe.c (nonintr_open): Define only if
15246         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
15247         * m4/dup.m4 (gl_PREREQ_DUP):
15248         * m4/execute.m4 (gl_EXECUTE):
15249         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
15250         * m4/fopen.m4 (gl_PREREQ_FOPEN):
15251         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
15252         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
15253         * m4/fstat.m4 (gl_PREREQ_FSTAT):
15254         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
15255         * m4/isatty.m4 (gl_PREREQ_ISATTY):
15256         * m4/open.m4 (gl_PREREQ_OPEN):
15257         * m4/read.m4 (gl_PREREQ_READ):
15258         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
15259         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
15260         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
15261         * m4/wait-process.m4 (gl_WAIT_PROCESS):
15262         * m4/write.m4 (gl_PREREQ_WRITE):
15263         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
15264         Do not require AC_C_INLINE.
15266         c-strtod, memcoll, readutmp: no 'static inline'
15267         * lib/c-strtod.c (c_locale):
15268         * lib/memcoll.c (strcoll_loop):
15269         * lib/readutmp.c (desirable_utmp_entry):
15270         Now static, not static inline.
15271         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
15272         * m4/memcoll.m4 (gl_MEMCOLL):
15273         * m4/readutmp.m4 (gl_READUTMP):
15274         Do not require AC_C_INLINE.
15276         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
15277         * lib/arctwo.c (to_uchar):
15278         * lib/md4.c (set_uint32):
15279         * lib/md5.c (set_uint32):
15280         * lib/sha1.c (set_uint32):
15281         * lib/sha256.c (set_uint32):
15282         * lib/sha512.c (set_uint64):
15283         Now static, not static inline.  This is a bit simpler, and doesn't
15284         affect performance with GCC and default optimization.
15285         * m4/arctwo.m4 (gl_ARCTWO):
15286         * m4/md4.m4 (gl_MD4):
15287         * m4/md5.m4 (gl_MD5):
15288         * m4/sha1.m4 (gl_SHA1):
15289         * m4/sha256.m4 (gl_SHA256):
15290         * m4/sha512.m4 (gl_SHA512):
15291         Do not require AC_C_INLINE.
15293         cond, lock, thread: better 'inline'
15294         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
15295         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
15296         New macros.  Use them instead of static inline, for header functions.
15297         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
15298         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
15299         * lib/glthread/lock.c (gl_waitqueue_init)
15300         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
15301         * lib/glthread/thread.c (get_current_thread_handle):
15302         Change 'static inline' to 'inline'.
15303         * lib/glthread/cond.h, lib/glthread/thread.h:
15304         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15305         * m4/cond.m4 (gl_COND):
15306         * m4/lock.m4 (gl_PREREQ_LOCK):
15307         * m4/thread.m4 (gl_THREAD):
15308         Do not require AC_C_INLINE.
15309         * modules/cond, modules/thread (Depends-on): Add extern-inline.
15311         chdir-long, cycle-check, savewd: better 'inline'
15312         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
15313         (find_non_slash):
15314         * lib/cycle-check.c (is_zero_or_power_of_two):
15315         * lib/savewd.c (savewd_delegating):
15316         Change 'static inline' to 'inline'.
15317         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
15318         Replace all remaining uses of 'static inline' with it.
15319         * lib/savewd.h:
15320         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15321         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
15322         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
15323         * m4/savewd.m4 (gl_SAVEWD):
15324         Do not require AC_C_INLINE.
15325         * modules/savewd (Depends-on): Add extern-inline.
15327         base32, base64: no need for 'inline'
15328         * lib/base32.c (to_uchar, get_8, decode_8):
15329         * lib/base64.c (to_uchar, get_4, decode_4):
15330         Change 'static inline' to 'inline'.
15331         * m4/base32.m4 (gl_PREREQ_BASE32):
15332         * m4/base64.m4 (gl_PREREQ_BASE64):
15333         Do not require AC_C_INLINE.
15335         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
15336         * lib/gl_array_oset.c (gl_array_nx_add_at):
15337         (gl_array_remove_at):
15338         * lib/gl_linkedhash_list.c (hash_resize_after_add)
15339         (add_to_bucket, remove_from_bucket):
15340         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
15341         Change 'static inline' to 'static', as it's simpler to omit
15342         'inline' unless there's a significant performance advantage.
15344         list, oset, xlist, xoset, xsublist: simplify via extern inline
15345         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
15346         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
15347         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
15348         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
15349         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
15350         New macro.  Replace all uses of 'static inline' with it.
15351         [HAVE_INLINE]: Implement functions as *_INLINE functions,
15352         instead of as macros FOO that are defined to static inline
15353         functions FOO_inline.
15354         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
15355         * lib/gl_xsublist.c:
15356         Reimplement from scratch, by defining the corresponding *_INLINE
15357         macro and including the corresponding .h file.  This is simpler.
15358         * modules/list, modules/oset, modules/xlist, modules/xoset:
15359         (Files): Remove m4/gl_list.m4.
15360         (configure.ac): Remove gl_LIST.
15361         * m4/gl_list.m4: Remove.
15362         * modules/list, modules/oset, modules/xlist, modules/xoset:
15363         * modules/xsublist:
15364         (Depends-on): Depend on extern-inline, not inline.
15366         xalloc: better 'inline'
15367         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
15368         New macro.  Replace all uses of 'static inline' with it.
15369         (static_inline): Remove.
15370         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
15371         Let 'extern inline' do the work automatically, instead of doing
15372         it by hand.
15373         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
15374         Remove.  All uses removed.
15375         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
15377         gethrxtime: better 'inline'
15378         * lib/xtime.c: New file.
15379         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
15380         * lib/xtime.h (XTIME_INCLUDE):
15381         New macros.  Replace all uses of 'static inline' with them.
15382         * lib/gethrxtime.c (gethrxtime): Define only if
15383         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
15384         this source file is now always compiled, because of the extern inline.
15385         * lib/gethrxtime.h, lib/xtime.h:
15386         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15387         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
15388         if gethrtime works, as they're not needed in that case.
15389         (gl_XTIME): Do not require AC_C_INLINE.
15390         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
15391         compiled now.  Move the check into gl_GETHRXTIME.
15392         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
15393         (Depends-on): Add extern-inline.
15394         (configure.ac): gethrxtime is always compiled now.
15395         (lib_SOURCES): Add gethrxtime.c.
15397         wctype-h: better 'inline'
15398         * lib/wctype-h.c: New file.
15399         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
15400         New macro.  Replace all uses of 'static inline' with it.
15401         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15402         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
15403         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
15404         (Depends-on): Add extern-inline.
15406         unistd: better 'inline'
15407         * lib/unistd.c: New file.
15408         * lib/unistd.in.h (_GL_UNISTD_INLINE):
15409         New macro.  Replace all uses of 'static inline' with it.
15410         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15411         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
15412         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
15413         (Depends-on): Add extern-inline.
15415         sys_socket: better 'inline'
15416         * lib/sys_socket.c: New file.
15417         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
15418         New macro.  Replace all uses of 'static inline' with it.
15419         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15420         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
15421         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
15422         (Depends-on): Add extern-inline.
15424         stdio: better 'inline'
15425         * lib/stdio.c: New file.
15426         * lib/stdio.in.h (_GL_STDIO_INLINE):
15427         New macro.  Replace all uses of 'static inline' with it.
15428         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15429         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
15430         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
15431         (Depends-on): Add extern-inline.
15433         sigaction: better 'inline'
15434         * lib/sig-handler.c: New file.
15435         * lib/sig-handler.h (SIG_HANDLER_INLINE):
15436         New macro.  Replace all uses of 'static inline' with it.
15437         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15438         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
15439         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
15440         (Depends-on): Add extern-inline.
15442         selinux-h: better 'inline'
15443         * lib/se-context.c, lib/se-selinux.c: New files.
15444         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
15445         * lib/se-context.in.h (SE_CONTEXT_INLINE):
15446         New macro.  Replace all uses of 'static inline' with it.
15447         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15448         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
15449         New macro.  Replace all uses of 'static inline' with it.
15450         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15451         * modules/selinux-h (Files, lib_SOURCES):
15452         Add lib/se-context.c, lib/se-selinux.c.
15453         (Depends-on): Add extern-inline.
15454         (configure.ac): Do not require AC_C_INLINE.
15456         pthread: better 'inline'
15457         * lib/pthread.c: New file.
15458         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
15459         New macro.  Replace all uses of 'static inline' with it.
15460         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15461         * m4/pthread.m4 (gl_PTHREAD_CHECK):
15462         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
15463         * modules/pthread (Files): Add lib/pthread.c.
15464         (Depends-on): Add extern-inline.
15466         math: better 'inline'
15467         * lib/math.c: New file.
15468         * lib/math.in.h (_GL_MATH_INLINE):
15469         New macro.  Replace all uses of 'static inline' with it.
15470         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15471         * m4/math_h.m4 (gl_MATH_H):
15472         Do not require AC_C_INLINE.
15473         * modules/math (Files, lib_SOURCES):
15474         Add lib/math.c.
15475         (Depends-on): Add extern-inline.
15477         count-one-bits: better 'inline'
15478         * lib/count-one-bits.c: New file.
15479         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
15480         New macro.  Replace all uses of 'static inline' with it.
15481         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15482         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
15483         Do not require AC_C_INLINE.
15484         * modules/count-one-bits (Files, lib_SOURCES):
15485         Add lib/count-one-bits.c.
15486         (Depends-on): Add extern-inline.
15488         count-leading-zeros: better 'inline'
15489         * lib/count-leading-zeros.c: New file.
15490         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
15491         New macro.  Replace all uses of 'static inline' with it.
15492         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15493         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
15494         Do not require AC_C_INLINE.
15495         * modules/count-leading-zeros (Files, lib_SOURCES):
15496         Add lib/count-leading-zeros.c.
15497         (Depends-on): Add extern-inline.
15499         bitrotate: better 'inline'
15500         * lib/bitrotate.c: New file.
15501         * lib/bitrotate.h (BITROTATE_INLINE):
15502         New macros.
15503         Replace all uses of 'static inline' with them.
15504         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15505         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
15506         (Depends-on): Add extern-inline.
15507         (configure.ac): Do not require AC_C_INLINE.
15509 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
15511         maint.mk: avoid gratuitous failure
15512         Reported by Stefano Lattarini in
15513         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
15514         * top/maint.mk (public-submodule-commit): Quote more safely.
15516 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
15518         canonicalize, canonicalize-lgpl: support MS-Windows file names
15519         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
15520         for test cases, which it'd be nice to add at some point.
15521         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
15522         * lib/canonicalize.c (canonicalize_filename_mode):
15523         * lib/canonicalize-lgpl.c (__realpath):
15524         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
15525         slash is at the beginning of the file name.  Use ISSLASH, instead
15526         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
15527         the first character with '/'.  Test for
15528         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
15529         with a drive letter.
15530         * lib/canonicalize.c (SLASHES): New macro.
15531         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
15533 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
15535         fts: introduce FTS_VERBATIM
15536         * lib/fts_.h (FTS_VERBATIM): New bit flag.
15537         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
15538         * lib/fts.c (fts_open): Honor it.
15540 2012-11-09  Pádraig Brady  <P@draigBrady.com>
15542         getlogin-tests: allow errno == ENXIO
15543         * tests/test-getlogin.c (main): Skip tests if getlogin fails
15544         with errno == ENXIO (No controlling tty).
15545         getlogin_r-tests: Likewise. Also allow errno == ENOENT
15546         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
15547         with errno == ENOENT.  This was reported to happen in various
15548         situations on GNU/Linux.
15550 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
15552         getlogin-tests: allow errno == ENOENT
15553         * tests/test-getlogin.c (main): Skip tests if getlogin fails
15554         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
15555         when running a test in an Emacs shell buffer.
15557 2012-11-08  Jim Meyering  <jim@meyering.net>
15559         tests/nap.h: avoid warning about unused variable
15560         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
15562         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
15563         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
15564         white space before each of the special-cased file names, to avoid
15565         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
15566         in http://bugs.gnu.org/12830.
15568 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
15570         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
15571         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
15572         fails with errno == EBADF when fd is opened with O_PATH.
15573         Reported by Jim Meyering in
15574         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
15575         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
15576         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
15578 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
15580         test-utimens: speed up by taking shorter naps
15581         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
15582         New functions.
15583         (nap): Use them, to do a better job of guessing the delay.
15584         On Fedora 17 with ext4 atop md atop hard disks, this made
15585         test-utimens run 10x faster, because the test napped for
15586         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
15587         <http://bugs.gnu.org/12820#11>.
15589 2012-11-07  Jim Meyering  <jim@meyering.net>
15591         mountlist.c: fix a compilation failure
15592         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
15593         I introduced while transforming commit v0.0-7683-g613bcb6
15595 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15597         errno: port to LynxOS 178 2.2.2
15598         Problem reported by Joel Brobecker in
15599         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
15600         * doc/posix-headers/errno.texi (errno.h): Document this.
15601         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
15602         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
15603         Supply a string for EILSEQ.
15604         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
15606 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
15608         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
15609         Linux kernel 2.6.39 introduced O_PATH (see
15610         <http://lwn.net/Articles/433854/>) and this is a better fallback
15611         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
15612         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
15613         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
15614         * lib/fcntl.in.h (O_ACCMODE):
15615         * tests/test-fcntl-h.c (main):
15616         Do not reject O_ACCMODE merely because it has more than the
15617         minimal number of bits, as POSIX allows extensions here.
15619 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
15621         mountlist: do not classify a bind-mounted dir entry as "dummy"
15622         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
15623         the "none"-testing clause.
15624         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
15625         exception for bind-mounted directories.
15627 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
15629         quote: provide a means to escape strings with nul characters
15630         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
15631         (quote, quote_n): Rename formal arguments for consistency with
15632         quotearg.
15634 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
15636         test-raise: don't assume 199 is an invalid signal
15637         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
15639         sh-quote-tests: port to Solaris 9
15640         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
15641         Problem reported by Dagobert Michelsen in
15642         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
15644 2012-10-28  Jim Meyering  <jim@meyering.net>
15646         maint.mk: rename a new configurable variable
15647         * top/maint.mk (_gl_translatable_string_re): Rename from
15648         translation-markers: _gl_ prefix to insulate from user Makefile code,
15649         and the _re suffix to inform that it's a regular expression.
15651 2012-10-26  Eric Blake  <eblake@redhat.com>
15653         maint.mk: let packages tweak sc_po_check pattern
15654         * top/maint.mk (sc_po_check): Add translation-markers, to allow
15655         finding files with other translation markers.
15657 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
15659         euidaccess: speed up 'configure' on GNU hosts
15660         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
15661         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
15662         it's needed only in this case.  Use AC_CHECK_DECLS, not
15663         AC_CHECK_DECLS_ONCE.
15664         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
15665         or AC_REQUIRE for AC_FUNC_GETGROUPS.
15667         * lib/regexec.c (re_search_internal): Fix grammar in comment.
15669 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15671         fchmodat, fchownat, fstatat: port to non-inlining compilers
15672         Problem reported for FreeBSD 9 by Jim Meyering in
15673         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
15674         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
15675         New files, which define FCHMODAT_INLINE etc.
15676         * lib/fchmodat.c (FCHMODAT_INLINE):
15677         * lib/fchownat.c (FCHOWNAT_INLINE):
15678         * lib/fstatat.c (FSTATAT_INLINE):
15679         Remove, as chmodat.c etc. now do this.
15680         * modules/fchmodat (Files): Add lib/chmodat.c.
15681         * modules/fchownat (Files): Add lib/chownat.c.
15682         * modules/fstatat (Files): Add lib/statat.c.
15684 2012-10-15  Jim Meyering  <jim@meyering.net>
15686         fchmodat.c, fchownat.c: compile-impeding typos
15687         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
15688         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
15689         Introduced in commit v0.0-7636-gd202279.
15691 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15693         fcntl-h: support GNU flags like O_IGNORE_CTTY
15694         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
15695         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
15696         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
15697         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
15698         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
15699         Define to 0 if not already defined.
15700         * tests/test-fcntl-h.c: Test these new flags.
15702 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
15704         faccessat, etc.: support AT_FDCWD-only use
15705         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
15706         this function only if its first argument is AT_FDCWD.
15707         Emacs wants faccessat for AT_EACCESS but not for any first-arg
15708         values other than AT_FDCWD, so it doesn't want all the openat
15709         machinery with fchdir etc.
15710         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
15711         * modules/fstatat, modules/mkdirat, modules/openat (Files):
15712         * modules/unlinkat (Files):
15713         Remove lib/openat-priv.h, as at-internal supplies this file.
15714         Removing this file here allows us to support programs like Emacs
15715         that avoid at-internal.
15717         faccessat: speed up 'configure' on mainstream hosts
15718         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
15719         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
15720         since it's only on unusual platforms that we need to check for
15721         'access', and it's better not to slow 'configure' down on all
15722         platforms.
15724         faccessat: port to Solaris 10
15725         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
15726         Needed on Solaris 10, which doesn't have AT_EACCESS,
15727         so we need the Gnulib fcntl.h, which defines it.
15729 2012-10-14  Pádraig Brady  <P@draigBrady.com>
15730         canonicalize: fix C89 compilation
15731         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
15732         declarations so C89 is supported.  Also remove the comment
15733         referencing memorty allocation as the suggested feature could
15734         not be implemented as suggested.
15735         Reported by Michael Goffioul.
15737 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
15739         group-member: omit unnecessary dependencies
15740         This is for Emacs, which has its own allocator and where we
15741         don't want to use xalloc.
15742         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
15743         since we no longer use xmalloc.  Do not include stdbool.h, since
15744         the changes below happen to remove the only use of bool.
15745         (GROUPBUF_SIZE): New constant.
15746         (struct group_info): Remove n_groups member.  Add groupbuf member.
15747         This lets us get the groups without using malloc, usually.
15748         (free_group_info, get_group_info): Adjust to this.
15749         (get_group_info): Return the number of groups found, or -1 on error.
15750         Use plain malloc not xmalloc, and treat its failure as if there
15751         are no groups, as the user already loses in case of error.
15752         (group_member): Simplify, based on changes to get_group_info.
15753         * modules/group-member (Depends-on): Remove dependencies on
15754         xalloc and stdbool.  Add dependency on xalloc-oversized.
15756 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
15758         gethrxtime: port to C++
15759         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
15761 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15763         ptsname: fix macro-name typo
15764         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
15766 2012-10-03  Simon Josefsson  <simon@josefsson.org>
15768         inttostr: Relax license.
15769         * modules/inttostr (License): Change from LGPL to LGPLv2+.
15771 2012-10-03  Eric Blake  <eblake@redhat.com>
15773         ptsname_r: support ptys returned by FreeBSD posix_openpt
15774         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
15775         lives in /dev/pts/.
15777 2012-10-02  Eric Blake  <eblake@redhat.com>
15779         pselect: reject invalid file descriptors
15780         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
15781         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
15782         * modules/pselect (Depends-on): Add dup2.
15783         * doc/posix-functions/pselect.texi (pselect): Document this.
15785         select: reject invalid file descriptors
15786         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
15787         * lib/select.c (rpl_select) [!win32]: Work around it.
15788         * modules/select (Depends-on): Add dup2.
15789         * doc/posix-functions/select.texi (select): Document this.
15791         select: enhance test
15792         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
15793         New functions.
15794         (test_function): Enhance test.
15795         (do_select_bad_fd): Avoid any stale errno values.
15797         ptsname: reject invalid file descriptors
15798         http://www.austingroupbugs.net/view.php?id=503
15799         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
15800         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
15801         * modules/stdlib (Makefile.am): Replace witness.
15802         * lib/stdlib.in.h (ptsname): Allow for replacement.
15803         * modules/ptsname (configure.ac): Trigger replacement.
15804         * doc/posix-functions/ptsname.texi (ptsname): Document this.
15806 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
15808         hash-pjw-bare: new module
15809         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
15810         * lib/hash-pjw-bare.h: Likewise.
15811         * modules/hash-pjw-bare: New file.
15812         * MODULES.html.sh (Misc): Add it.
15814 2012-10-02  Eric Blake  <eblake@redhat.com>
15816         manywarnings: cater to more gcc infelicities
15817         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
15818         -Wuninitialized without -O.
15820 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
15822         select, poll tests: Make setsockopt invocation effective.
15823         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
15824         the bind() call.
15825         * tests/test-select.h (open_server_socket): Likewise.
15827 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15829         sockets, sys_stat: restore AC_C_INLINE
15830         This undoes the 2012-09-22 patch.
15831         * m4/sockets.m4 (gl_SOCKETS):
15832         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
15833         Restore AC_C_INLINE, since MSVC requires __inline or _inline
15834         and does not support plain 'inline'.  Reported by Bruno Haible in
15835         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
15837 2012-09-30  Bruno Haible  <bruno@clisp.org>
15839         localeconv tests: Avoid test failure on OpenIndiana.
15840         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
15841         skip the 'grouping' and 'mon_grouping' tests.
15842         Reported by Jim Meyering.
15844 2012-09-30  Bruno Haible  <bruno@clisp.org>
15846         havelib: Follow libtool developments.
15847         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
15848         Suggested by Simon Josefsson.
15850 2012-09-29  Jim Meyering  <meyering@redhat.com>
15852         fstatat.c: fix a compile-impeding typo
15853         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
15854         Introduced in commit v0.0-7636-gd202279.
15855         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
15857 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
15859         extern-inline: provide a -Wundef safe config.h
15860         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
15861         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
15862         to produce a -Wundef warning free config.h.
15864 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
15866         hash-pjw: relax license to LGPLv2+
15867         * modules/hash-pjw (License): Relax, with consent of author.
15869 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
15871         maint.mk: fix strict vs. lazy variable issues with RELEASE
15872         * top/maint.mk (_equal): New function.
15873         (member_check): Strip the result to avoid spurious spaces.
15874         (url_dir_list): Do not use ifeq, which is strict, as it will
15875         require RELEASE_TYPE to be defined.
15876         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
15877         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
15878         (announcement_Cc_alpha,announcement_mail_headers_alpha)
15879         (announcement_Cc_beta,announcement_mail_headers_beta)
15880         (announcement_Cc_stable,announcement_mail_headers_stable): these.
15881         (release): Do not depend on $(release-type), as it forces its
15882         evaluation.  Bounce to it.
15884 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
15886         maint.mk: formatting changes
15887         * top/maint.mk: Indent bodies of if's.
15889 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
15891         maint.mk: factor the validation of RELEASE_TYPE
15892         With help from Jim Meyering.
15893         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
15894         * top/maint.mk (_empty, _sp): Move their definition earlier.
15895         (member-check, release-type): New.
15896         Use the latter instead of $(RELEASE_TYPE).
15897         Remove now useless local checks.
15899 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
15901         maint.mk: provide "make upload" to ease uploading
15902         See
15903         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
15904         Do not depend simply on the current $(VERSION), as there may have been
15905         new commits since the tarball generation.  Rather, rely on $(RELEASE),
15906         as "make release-commit" already does.
15908         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
15909         "make TYPE".
15911         * top/maint.mk (upload_command, upload, release): New.
15912         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
15913         (VERSION): first word of $(RELEASE) is always right.
15914         (emit_upload_commands): Adjust.
15915         * top/README-release: Update.
15917 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
15919         maint.mk: silent rules
15920         With help from Stefano Lattarini.
15921         * top/maint.mk (writable-files): Use $(AM_V_GEN).
15922         (announcement): Use $(AM_V_at).
15924 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
15926         localename: port gl_locale_name_thread_unsafe to FreeBSD
15927         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
15928         and use the simpler FreeBSD implementation on Mac OS X as well.
15929         Original idea suggested by Ed Maste in
15930         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
15932 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
15934         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
15935         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
15936         * lib/mbuiter.c, lib/xsize.c: New files.
15937         * lib/binary-io.h (BINARY_IO_INLINE):
15938         * lib/eealloc.h (EEALLOC_INLINE):
15939         * lib/mbfile.h (MBFILE_INLINE):
15940         * lib/mbiter.h (MBITER_INLINE):
15941         * lib/mbuiter.h (MBUITER_INLINE):
15942         * lib/xsize.h (XSIZE_INLINE):
15943         New macros.
15944         Replace all uses of 'static inline' with them.
15945         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15946         * m4/eealloc.m4 (gl_EEALLOC):
15947         * m4/mbfile.m4 (gl_MBFILE):
15948         * m4/mbiter.m4 (gl_MBITER):
15949         * m4/xsize.m4 (gl_XSIZE):
15950         Do not require AC_C_INLINE.
15951         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
15952         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
15953         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
15954         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
15955         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
15956         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
15957         * modules/binary-io, modules/eealloc, modules/mbfile:
15958         * modules/mbiter, modules/mbuiter:
15959         (Depends-on): Add extern-inline.
15961         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
15962         * lib/pipe-filter-aux.c: New file.
15963         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
15964         Replace all uses of 'static inline' with it.
15965         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15966         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
15967         (filter_retcode): No real need for inline here.
15968         * modules/pipe-filter-gi, modules/pipe-filter-ii:
15969         (Files): Add lib/pipe-filter-aux.c.
15970         (Depends-on): Add extern-inline.
15971         (configure.ac): Do not require AC_C_INLINE.
15972         (lib_SOURCES): Add pipe-filter-aux.c.
15974         fdutimensat: omit unnecessary AC_C_INLINE
15975         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
15977         fchmodat, fchownat, fstatat: use extern-inline
15978         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
15979         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
15980         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
15981         New macros.
15982         * lib/openat.h:
15983         Replace all uses of 'static inline' with them.
15984         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15985         * modules/fchmodat, modules/fchownat, modules/fstatat:
15986         * modules/openat-h:
15987         (Depends-on):
15988         Add extern-inline.
15989         (configure.ac): Remove AC_C_INLINE.
15991         acl, mbchar, priv-set: use extern-inline
15992         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
15993         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
15994         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
15995         New macros.
15996         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
15997         Replace all uses of 'static inline' with it.
15998         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
15999         * m4/acl.m4 (gl_FUNC_ACL):
16000         * m4/mbchar.m4 (gl_MBCHAR):
16001         * m4/priv-set.m4 (gl_PRIV_SET):
16002         Remove AC_C_INLINE, since 'inline' is no longer used directly.
16003         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
16004         Add extern-inline.
16006         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
16007         * m4/sockets.m4 (gl_SOCKETS):
16008         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
16009         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
16010         environments where it's already guaranteed to work, so we needn't
16011         check for it at 'configure'-time.
16013         tls-tests: omit unnecessary 'inline'
16014         * tests/test-tls.c (perhaps_yield): No longer inline.
16015         Simplicity and portability trump efficiency in test cases.
16017         utimens-tests: avoid unnecessary 'inline'
16018         * modules/fdutimensat-tests (configure.ac):
16019         * modules/futimens-tests (configure.ac):
16020         * modules/utimens-tests (configure.ac):
16021         * modules/utimensat-tests (configure.ac):
16022         Remove AC_C_INLINE.
16023         * tests/test-utimens-common.h (ctime_compare):
16024         No longer inline.  Simplicity and portability trump efficiency here.
16026         misc: don't limit commentary to inline functions
16027         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
16028         * lib/xalloc-oversized.h, lib/xsize.h:
16029         Contrast macros to functions in general, not just to inline functions,
16030         when the commentary does not apply only to inline functions.
16032 2012-09-20  Jim Meyering  <meyering@redhat.com>
16034         non-recursive-gnulib-prefix-hack: new module
16035         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
16036         the file that originated in Bison.
16037         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
16038         largely copied from a snippet that resided in bison's configure.ac.
16039         * modules/non-recursive-gnulib-prefix-hack: New file.
16040         * MODULES.html.sh (Support for maintaining and releasing projects):
16041         Add it.
16043 2012-09-18  Jim Meyering  <meyering@redhat.com>
16045         maint.mk: generalize _gl_tight_scope for non-recursive make
16046         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
16047         that *.h would describe additional .h files in the directory
16048         specified by $(_gl_TS_dir).  I.e., add this...
16049         (_gl_TS_other_headers): New variable.
16051         maint.mk: exempt trailing blanks found in "binary" files
16052         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
16053         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
16054         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
16056 2012-09-17  Jim Meyering  <meyering@redhat.com>
16058         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
16059         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
16060         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
16061         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
16063 2012-09-17  Jim Meyering  <meyering@redhat.com>
16065         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
16066         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
16067         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
16068         It is not in the same category as "exit (0)" or "exit (1)", and
16069         besides, I know of no symbolic name for that 77.  Reported by
16070         Richard W.M. Jones in
16071         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
16073 2012-09-17  Jim Meyering  <meyering@redhat.com>
16075         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
16076         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
16077         all uses of #define, not just those that start in column 1.
16078         Richard W.M. Jones reported a false positive in
16079         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
16081 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
16083         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
16084         * lib/localcharset.c (locale_charset) [DARWIN7]:
16085         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
16086         as these two values are incompatible.  Problem reported by Max Horn.
16087         For more discussion, please see
16088         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
16090         doc: document sticky-EOF issue
16091         * doc/posix-functions/fgetc.texi (fgetc):
16092         * doc/posix-functions/fgets.texi (fgets):
16093         * doc/posix-functions/fread.texi (fread):
16094         * doc/posix-functions/fscanf.texi (fscanf):
16095         * doc/posix-functions/getc.texi (getc):
16096         * doc/posix-functions/getchar.texi (getchar):
16097         * doc/posix-functions/scanf.texi (scanf):
16098         Mention that glibc and default Solaris do not conform to
16099         C99 and POSIX-2001 or later, with respect to how getchar
16100         etc. behave when feof reports nonzero.
16102 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
16104         poll: fix poll(0, NULL, msec)
16105         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
16106         but nfd is 0.  In that case poll should behave like select.
16108 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
16109             Paolo Bonzini  <bonzini@gnu.org>
16111         poll: fix for systems that can't recv() on a non-socket
16112         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
16113         is readable.  In this case POLLHUP will not be supported.
16114         * doc/posix-functions/poll.texi: Document this.
16116 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
16118         poll/select: document portability problems not fixed by Gnulib.
16119         * doc/posix-functions/poll.texi: poll does not work well on
16120         pipes under Windows.  It has the same limitations as select on
16121         BeOS.
16122         * doc/posix-functions/select.texi: select does not work well
16123         on pipes under Windows.
16125 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
16127         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
16128         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
16129         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
16130         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
16132 2012-09-06  Eric Blake  <eblake@redhat.com>
16134         net_if: give more details about the bug being fixed
16135         * doc/posix-headers/net_if.texi: Add clarification.
16137 2012-09-05  Eric Blake  <eblake@redhat.com>
16139         net_if: new module
16140         * modules/net_if: New module, borrowing ideas from netinet_in.
16141         * m4/net_if_h.m4: New file.
16142         * lib/net_if.in.h: Likewise.
16143         * doc/posix-headers/net_if.texi (net/if.h): Document it.
16144         * MODULES.html.sh (lacking POSIX:2008): Likewise.
16145         * tests/test-net_if.c: Make function checks conditional.
16146         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
16148 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
16150         readutmp: fix non-portable UT_PID use
16151         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
16152         Use `UT_PID (u) > 0' as absolute condition.
16154 2012-09-04  Jim Meyering  <meyering@redhat.com>
16156         fts: reduce two or more trailing spaces to just one, usually
16157         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
16158         or more slashes, trim all but the final one.  But if a name consists
16159         solely of two slashes, don't modify it.  If it consists solely of
16160         three or more slashes, strip all but one.
16162         This is part of the solution to a minor problem with rm:
16163         it would print a bogus ELOOP diagnostic when failing to remove
16164         the slash-decorated name of a symlink-to-directory:
16166             $ mkdir d && ln -s d s && env rm -r s/
16167             rm: cannot remove 's': Too many levels of symbolic links
16169         With the change below and a trivial don't-trim-trailing-slashes
16170         adjustment to remove.c, it does this:
16172             $ env rm -r s/
16173             rm: cannot remove 's/': Not a directory
16175         Improved by: Eric Blake
16177         fts: when there is no risk of overlap, use memcpy, not memmove
16178         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
16180 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
16182         stdbool: be more compatible with mixed C/C++ compiles
16183         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
16184         Define to bool, true, false, respectively, as GCC's builtin
16185         stdbool.h does.  Problem reported by Michael Goffioul in
16186         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
16188 2012-08-28  Jim Meyering  <meyering@redhat.com>
16190         revert last change: it was not needed
16191         * tests/test-vc-list-files-git.sh: There's already a test for
16192         a working git, just below.
16194 2012-08-28  Jim Meyering  <meyering@redhat.com>
16196         tests: test-vc-list-files-git.sh: skip if git is not available
16197         * tests/test-vc-list-files-git.sh: Skip this test when git is
16198         not available.
16200 2012-08-26  Bruno Haible  <bruno@clisp.org>
16202         gnulib-tool: Remove no-op option --no-changelog.
16203         * gnulib-tool (func_usage): Don't mention --no-changelog.
16204         (do_changelog): Remove variable.
16205         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
16207 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16209         doc: remove fdl-1.2.texi
16210         It is no longer used or maintained, and its use of @acronym
16211         is problematic.  See the thread containing
16212         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
16213         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
16214         * doc/old-licenses/fdl-1.2.texi: Remove.
16216         execinfo: port to FreeBSD
16217         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
16218         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
16219         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
16220         * modules/execinfo (Link): Add $(LIB_EXECINFO).
16222 2012-08-23  Jim Meyering  <meyering@redhat.com>
16224         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
16225         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
16226         to placate gcc's -Wold-style-declaration.
16228 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
16230         doc: do not use @acronym
16231         * doc/inet_ntoa.texi (inet_ntoa):
16232         * doc/parse-datetime.texi (Seconds since the Epoch)
16233         (Specifying time zone rules):
16234         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
16235         Don't use @acronym.  Problem reported by John Darlington in
16236         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
16238 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
16240         stdnoreturn: port to newer GCCs
16241         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
16242         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
16243         Problem reported by Jim Meyering in
16244         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
16245         Also, rename the 'test' function to a void a clash with the
16246         already-supplied 'main' function; this fixes a bug that incorrectly
16247         rejected GCC 4.7.1's <stdnoreturn.h>.
16248         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
16249         Document GCC problem.
16251 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
16253         pipe-filter: fix comment typo
16254         * lib/pipe-filter.h: Mention correct function.
16256 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
16258         execinfo: new module
16259         This is for Emacs.  Currently, it provides a no-effect stub
16260         on all platforms where it does not already work.
16261         It already works on glibc-based systems, and on Solaris 11.
16262         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
16263         New files.
16264         * doc/glibc-headers/execinfo.texi (execinfo.h):
16265         * MODULES.html.sh (Misc): Document it.
16267 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
16269         extern-inline: support old GCC 'inline'
16270         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
16271         if available.  This applies to GCC versions 2.7 through 4.2, or
16272         when newer GCC is using -fgnu89-inline.  The goal is to address
16273         some of the performance issues mentioned by Bruno Haible in
16274         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
16276 2012-08-20  Eric Blake  <eblake@redhat.com>
16278         maint.mk: avoid redundant file name in message
16279         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
16280         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
16281         (sc_makefile_path_separator_check): Remove bogus $(ME).
16283 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
16285         timer-time: fix link order when static linking on glibc
16286         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
16287         _after_ -lrt so that it's significant.
16289 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16291         timespec: omit unnecessary AC_C_INLINE
16292         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
16294         stat-time: omit unnecessary AC_C_INLINE
16295         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
16296         Do not require AC_C_INLINE.
16298         ignore-value: omit unnecessary AC_C_INLINE
16299         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
16301         sys_select: avoid 'static inline'
16302         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
16304         mktime: avoid 'static inline'
16305         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
16306         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
16308 2012-08-19  Bruno Haible  <bruno@clisp.org>
16310         gnulib-tool: Improve coding style.
16311         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
16312         func_emit_lib_Makefile_am.
16313         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
16315 2012-08-19  Bruno Haible  <bruno@clisp.org>
16317         gnulib-tool: Fix indentation.
16318         * gnulib-tool (func_import): Fix indentation.
16320 2012-08-19  Bruno Haible  <bruno@clisp.org>
16322         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
16323         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
16324         on the list of removed files.
16326 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16328         test-parse-datetime: avoid glibc leap-second glitch
16329         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
16330         with the 2012 rules.  Problem reported by Bruce Dubbs in
16331         <http://bugs.gnu.org/12206>.
16333 2012-08-14  Bruno Haible  <bruno@clisp.org>
16335         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
16336         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
16337         from argument.
16338         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
16340 2012-08-14  Eric Blake  <eblake@redhat.com>
16342         ldexp: relax license
16343         * modules/ldexp (License): Trivial relax, since the module only
16344         provides a permissively licensed m4 file.
16346 2012-08-13  Bruno Haible  <bruno@clisp.org>
16348         gnulib-tool: Fix persistence of --witness-c-macro option.
16349         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
16350         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
16352 2012-08-11  Eric Blake  <eblake@redhat.com>
16354         count-leading-zeros: use a lookup table on non-gcc compilers
16355         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
16356         alternate implementation, suggested by Jim Meyering.
16358 2012-08-10  Eric Blake  <eblake@redhat.com>
16360         count-leading-zeros: new module
16361         * modules/count-leading-zeros: New module.
16362         * m4/count-leading-zeros.m4: New file.
16363         * lib/count-leading-zeros.h: Likewise.
16364         * modules/count-leading-zeros-tests: New test.
16365         * tests/test-count-leading-zeros.c: New file.
16366         * MODULES.html.sh (Integer arithmetic functions): Document it.
16368 2012-08-07  Simon Josefsson  <simon@josefsson.org>
16369             Jim Meyering  <meyering@redhat.com>
16371         maintainer-makefile: Fix syntax error with dash.
16372         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
16373         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
16375 2012-08-05  Jim Meyering  <meyering@redhat.com>
16377         extern-inline: also ignore -Wmissing-declarations
16378         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
16379         required with gcc-4.8.0-to-be.
16381         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
16382         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
16383         for /error ?([^,]*)/.  This avoids false-positives for strings like
16384         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
16386 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
16388         gnumakefile: better interaction with Automake-NG
16389         * modules/gnumakefile [Makefile.am]: The makefiles generated by
16390         Automake-NG always contain a definition of VPATH, even in non-VPATH
16391         builds (its value being simply '.' in that case).  So, in the
16392         'clean-GNUmakefile' rule, to determine whether running under a
16393         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
16394         '$(VPATH)' expands to the empty string.
16396 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
16398         base64: Use extern C scope in header file, for C++.
16399         * lib/base64.h: Add C++ namespace protection.
16401 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
16403         stat-time, timespec, u64: support naive out-of-dir builds
16404         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
16405         Use '#include "foo.h"', not '#include <foo.h>', when including
16406         one's own interface.  This works better when configuring with
16407         out-of-directory builds, since packages need not add an
16408         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
16410 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
16412         utimens: use extern-inline
16413         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
16414         * lib/utimens.h: Add copyright notice, since this is now large enough
16415         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
16416         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
16417         * modules/utimens (Depends-on): Add extern-inline.
16419         u64: use extern-inline
16420         * lib/u64.c: New file.
16421         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
16422         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
16423         * modules/u64 (Files): Add lib/u64.c.
16424         (Depends-on): Add extern-inline.
16425         (configure.ac): No need to require AC_C_INLINE, since extern-inline
16426         does that now.
16427         (lib_SOURCES): Add u64.c.
16429         timespec: use extern-inline
16430         * lib/timespec.c: New file.
16431         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
16432         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
16433         * modules/timespec (Files): Add lib/timespec.c.
16434         (Depends-on): Add extern-inline.
16435         (lib_SOURCES): Add timespec.c.
16437         stat-time: use extern-inline
16438         * lib/stat-time.c: New file.
16439         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
16440         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
16441         * modules/stat-time (Files): Add lib/stat-time.c.
16442         (Depends-on): Add extern-inline.
16443         (lib_SOURCES): Add stat-time.c.
16445         extern-inline: new module
16446         * modules/extern-inline, m4/extern-inline.m4: New files.
16447         This is for better support of 'extern inline' a la ISO C99,
16448         with a portable alternative on compilers that do not support
16449         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
16450         of the Emacs executable, when compiled with debugging disabled,
16451         which is a typical way that Emacs is built while developing.
16453 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
16455         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
16456         * build-aux/do-release-commit-and-tag: Move variable definitions
16457         together.
16458         ($branch): Instead of defaulting to "master", default to the current
16459         branch (as gnu-web-doc-update does).
16460         (help): Display the current values of the option arguments.
16461         * top/maint.mk (release-commit): New.
16462         * top/README-release: Simplify the corresponding step.
16464 2012-07-30  Eric Blake  <eblake@redhat.com>
16466         passfd: fix comment on recvfd
16467         * lib/passfd.c (recvfd): Fix comment.
16468         Reported by Jann Horn <jannhorn@googlemail.com>.
16470 2012-07-30  Jim Meyering  <meyering@redhat.com>
16472         maint.mk: avoid a sub-shell
16473         * top/maint.mk (release-prep): Remove unneeded sub-shell.
16475 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
16477         maint.mk: use silent-rules support from Automake
16478         * top/maint.mk (news-check, vc-diff-check, announcement)
16479         (no-submodule-changes, alpha beta stable, release-prep)
16480         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
16482 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
16484         maint.mk: provide a web-manual-update target
16485         * top/maint.mk: here.
16486         * top/README-release: Use it to simplify the web manual update step.
16488 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
16490         README-release: shorten the circuit to post a news
16491         * top/README-release: Point directly to the news submission form.
16493 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
16495         gnu-web-doc-update: fix --help
16496         * build-aux/gnu-web-doc-update: The information "top level" was written
16497         twice.
16499 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
16501         maint.mk: absolute VPATH issue
16502         * top/maint.mk (release-prep): Help Git find .git/.
16503         From Jim Meyering.
16505 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
16507         gitlog-to-changelog: fix previous change
16508         * build-aux/gitlog-to-changelog: Fix condition.
16509         Add missing ";".
16511 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
16513         gitlog-to-changelog: don't expect .git to be in $srcdir
16514         Reported by Bruno Haible.
16515         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
16516         * build-aux/gitlog-to-changelog (&git_dir_option): New.
16517         Use it.
16519 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
16521         maint.mk: absolute VPATH build fix
16522         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
16523         $(srcdir) is not a parent of $(builddir).
16525 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
16527         clean-temp: Fix memory leak.
16528         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
16529         'files' members of tmpdir.
16531 2012-07-27  Jim Meyering  <meyering@redhat.com>
16533         maint.mk: new rule: refresh-gnulib-patches
16534         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
16535         Use this rule to refresh them.
16536         * top/maint.mk (refresh-gnulib-patches): New rule.
16538 2012-07-24  Bruno Haible  <bruno@clisp.org>
16540         gnulib-tool: Fix handling of inctests variable.
16541         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
16542         Reported by Nick Bowler <nbowler@elliptictech.com>.
16544 2012-07-22  Bruno Haible  <bruno@clisp.org>
16546         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
16547         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
16548         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
16549         Remove exemption for getpass.h.
16550         Suggested by Eric Blake.
16552 2012-07-20  Eric Blake  <eblake@redhat.com>
16554         verify: document conflict with -Wnested-externs
16555         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
16557         maint.mk: forbid exit(-1)
16558         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
16560 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
16562         fsusage: port back to Solaris
16563         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
16564         error (fsd not declared) on Solaris 10.  Reported privately by
16565         Andrew Borodin.
16567 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
16569         gnu-web-doc-update: fix error messages
16570         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
16572         gnu-web-doc-update: check the requirements.
16573         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
16574         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
16575         * build-aux/bootstrap (find_tool): Comment change.
16577 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
16579         maint.mk: minor simplication.
16580         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
16581         for default values.
16583 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
16585         gitlog-to-changelog: VPATH build issues
16586         If builddir is not a subdirectory of srcdir, running git from it will
16587         fail.
16588         * build-aux/gitlog-to-changelog (--srcdir): New option.
16590 2012-07-15  Bruno Haible  <bruno@clisp.org>
16592         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
16593         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
16594         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
16595         Remove exemption for fpending.h.
16596         Suggested by Eric Blake.
16598 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
16600         pthread_sigmask: fix bug on FreeBSD 9
16601         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
16602         Include string.h.
16603         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
16604         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
16605         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
16606         but pthread_sigmask (1729, NULL, NULL) returns zero.
16607         See <http://bugs.gnu.org/11884>.
16608         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
16609         by inspecting whether the main call changed the old mask.
16611 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
16613         README-release: make it more legible
16614         * top/README-release: Improve typography slightly.
16616 2012-07-15  Jim Meyering  <meyering@redhat.com>
16618         maint: require that each sc_... command start with "@"
16619         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
16620         "make sc_maint" helps us avoid this nit.
16622 2012-07-15  Jim Meyering  <meyering@redhat.com>
16624         maint.mk: add leading "@" to quiet new "make syntax-check" rule
16625         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
16627 2012-07-13  Eric Blake  <eblake@redhat.com>
16629         maint.mk: new syntax check for HAVE_DECL checks
16630         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
16631         * cfg.mk
16632         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
16633         Exempt some false positives.
16634         Based on a report by Karel Zak.
16636         argp: make HAVE_DECL usage consistent
16637         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
16638         macros, not whether they are defined.
16639         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
16640         convention with other declaration checks.
16641         Reported by Karel Zak, with suggestions from Paul Eggert.
16643         stat-time: relax license to LGPLv2+
16644         * modules/stat-time (License): Relax, with consent of all authors.
16646         strndup: fix m4 usage error
16647         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
16648         defined, to either 0 or 1.
16649         Reported by Karel Zak.
16651 2012-07-11  Jim Meyering  <meyering@redhat.com>
16653         maint: enable the sc_avoid_if_before_free syntax-check rule
16654         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
16655         (if_before_free_offenders_): Define.
16656         (if_before_free_basename_re_): Define.
16657         Exempt current files with useless if-before-free.
16659 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
16661         gettext: do not assume '#define ... defined ...' behavior
16662         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
16663         Do not use '#define FOO ... defined BAR ...', as the C standard says
16664         it's not portable to expect that this works after macro expansion.
16665         Problem reported for gzip by Steven M. Schweda in
16666         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
16668 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
16670         getloadavg: clean out old Emacs and Autoconf cruft
16671         See Glenn Morris in <http://bugs.gnu.org/11905>.
16672         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
16673         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
16674         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
16675         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
16677 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
16679         bootstrap: let warn be like tests/init.sh's warn_
16680         Reported by Jim Meyering.
16681         * build-aux/bootstrap (warn): Remove, replaced by...
16682         (warnf_, warn_): these.
16683         Adjust callers.
16684         Shorten messages that no longer fit in 80 columns.
16686 2012-07-09  Bruno Haible  <bruno@clisp.org>
16688         getopt: Simplify after Emacs changed.
16689         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
16690         (gl_GETOPT_IFELSE): Remove macro.
16692 2012-07-09  Jim Meyering  <meyering@redhat.com>
16694         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
16695         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
16697         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
16698         Bugs in both of those conspired to make the
16699         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
16700         _sc_search_regexp's handling of non-empty $in_files would filter
16701         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
16702         choice of in_files value meant there would be no match in most
16703         projects, due to the presence of two or more Makefile.in files.
16704         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
16705         Fix a bug in how a non-empty $$in_files was processed:
16706         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
16707         in spite of the name, it's a regexp, not a list of file names.
16709 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16711         getloadavg, getopt: fix commentary re configure.in
16712         Autoconf is deprecating the name 'configure.in', so change it to
16713         to the new name 'configure.ac' in a couple of places.
16714         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
16715         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
16716         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
16717         Emacs has renamed it to configure.ac, and it no longer refers
16718         to these macros anyway.
16720         timespec: mark functions with const attributes
16721         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
16722         Mark with _GL_ATTRIBUTE_CONST.
16724 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
16726         canonicalize[-lgpl]: handle "guessing" values when cross-building
16727         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16728         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
16729         matches "*yes" instead of just "yes".  Regression introduced in commit
16730         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
16732 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
16733             Bruno Haible  <bruno@clisp.org>
16735         canonicalize: make the right guess when cross-compiling to GNU
16736         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
16737         determine whether cross-compiling to glibc systems, so as to
16738         include GNU/Hurd.
16740 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16742         timespec-sub: avoid duplicate include
16743         * lib/timespec-sub.c: Do not include <config.h> twice.
16744         Reported by Juanma Barranquero.
16746 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
16748         bootstrap: use a more consistent error reporting scheme
16749         * build-aux/bootstrap (warn, die): New.
16750         Use them.
16752 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16754         sys_time: allow too-wide tv_sec
16755         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
16756         timeval even if tv_sec is wider than time_t.  This allows
16757         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
16758         as without this patch gnulib replaces struct timeval
16759         and OpenBSD futimes therefore has a type mismatch.
16760         * doc/posix-headers/sys_time.texi: Mention this.
16762         pthread: check for both pthread_create and pthread_join
16763         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
16764         alter the check so that it tests for both pthread_create and
16765         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
16766         Suggested by Bruno Haible and Richard Yao in
16767         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
16769         parse-datetime: doc tuneup
16770         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
16771         spacing issues.
16773 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
16775         do-release-commit-and-tag: fix the previous commit
16776         * build-aux/do-release-commit-and-tag: Actually the test was right,
16777         but the comment and the error message were misleading.
16778         Fix comment, and improve error message.
16779         Perform check first, so that NEWS is not modified uselessly.
16781         do-release-commit-and-tag: fix typo
16782         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
16783         _not_ start with a stub.
16785 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
16787         pthread: check for pthread_create, not pthread_join
16788         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
16789         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
16790         pthread_join in libc.  I hope this removes the need for all the
16791         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
16792         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
16794 2012-07-04  Jim Meyering  <meyering@redhat.com>
16796         parse-datetime: fix failure to diagnose invalid input
16797         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
16798         rather than diagnosing the invalid input.  Now it reports this:
16799         date: invalid date '\260'
16800         * lib/parse-datetime.y (to_uchar): Define.
16801         (yylex): Don't sign-extend "other" bytes.
16802         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
16803         Thanks to Bruno Haible for the patch to this file.
16804         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
16805         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
16807 2012-07-03  Jim Meyering  <meyering@redhat.com>
16809         bootstrap: do not require now-removed build-aux/missing
16810         Now that build-aux/missing is, er, missing, bootstrap would
16811         silently fail.
16812         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
16813         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
16814         no longer part of gnulib.
16815         Diagnose the failure.
16817 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
16819         alloca: add support for HP NonStop TNS/E native
16820         * lib/alloca.in.h (alloca): Support the new host.
16821         From a suggestion by Joachim Schmitz in
16822         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
16824 2012-07-02  Pádraig Brady  <P@draigBrady.com>
16826         fsusage: remove code not needed on non GNU/Linux systems.
16828         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
16829         Don't include headers no longer needed in this case.
16830         * lib/fsusage.c [STAT_STATVFS &&
16831         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
16832         STAT_STATFS2_FRSIZE to exclude code not used in this case.
16834 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
16836         fsusage: include files needed for glibc 2.6 fallback
16837         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
16838         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
16839         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
16840         Problem reported by Ludovic Courtès in
16841         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
16843         fsusage: avoid needless check on GNU/Linux
16844         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
16845         on GNU/Linux systems, since it can't possibly work.
16847 2012-07-01  Bruno Haible  <bruno@clisp.org>
16849         log: Fix an autoconf >= 2.64 warning.
16850         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
16851         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
16853 2012-06-28  Bruno Haible  <bruno@clisp.org>
16855         log10f: Fix possible configuration problem.
16856         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
16857         $LOGF_LIBM.
16858         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
16860 2012-06-28  Bruno Haible  <bruno@clisp.org>
16862         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
16863         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
16864         not gl_cv_func_unlink_works.
16865         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
16867 2012-06-27  Eric Blake  <eblake@redhat.com>
16869         config: drop scripts that automake says are not independent
16870         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
16871         * build-aux/elisp-comp: Delete.
16872         * build-aux/missing: Likewise.
16873         * build-aux/ylwrap: Likewise.
16874         * modules/elisp-comp: Likewise.
16875         * MODULES.html.sh: Drop mention of elisp-comp.
16876         * NEWS: Mention this.
16878 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
16880         root-uid: new module
16881         This is for portability to Tandem's NonStop Kernel.
16882         * lib/root-uid.h, modules/root-uid: New files.
16883         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
16884         * lib/write-any-file.c, tests/test-sethostname2.c:
16885         Include "root-uid.h".
16886         * lib/euidaccess.c (euidaccess):
16887         * lib/pt_chown.c (main):
16888         * lib/unlinkdir.c (cannot_unlink_dir):
16889         * lib/write-any-file.c (can_write_any_file):
16890         * m4/mknod.m4 (gl_FUNC_MKNOD):
16891         * tests/test-sethostname2.c (geteuid, main):
16892         Don't assume ROOT_UID == 0.
16893         * modules/euidaccess (Depends-on):
16894         * modules/pt_chown (Depends-on):
16895         * modules/sethostname-tests (Depends-on):
16896         * modules/unlinkdir (Depends-on):
16897         * modules/write-any-file (Depends-on):
16898         Add root-uid.
16900         regex: use locale-independent comparison for codeset name
16901         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
16902         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
16903         for codeset name.
16904         * lib/regex_internal.h: Do not include <strings.h>, since we
16905         no longer use strcasecmp.
16906         * modules/regex (Depends-on): Remove strcase.
16908 2012-06-23  Bruno Haible  <bruno@clisp.org>
16910         getopt-posix: No longer guarantee that option processing is resettable.
16911         * doc/posix-functions/getopt.texi: Drop description of problem with
16912         internal state. Fix info about mingw and msvc9.
16913         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
16914         option processing by getopt(). Run three test programs instead of one.
16915         Simplify cross-compilation guess.
16916         * NEWS: Mention the change.
16917         Reported by Rich Felker <dalias@aerifal.cx>.
16919 2012-06-26  Bruno Haible  <bruno@clisp.org>
16921         argp, regex: Ensure strcasecmp gets declared.
16922         * lib/argp-help.c: Include <strings.h>.
16923         * lib/regex_internal.h: Likewise.
16924         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
16926 2012-06-24  Bruno Haible  <bruno@clisp.org>
16928         ptsname_r: Make it consistent with ptsname on AIX.
16929         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
16930         implementation as for OSF/1.
16931         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
16932         a pty master.
16934         ptsname_r: Make it consistent with ptsname on OSF/1.
16935         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
16936         OSF/1.
16938 2012-06-24  Bruno Haible  <bruno@clisp.org>
16940         ttyname_r: Fix result on OSF/1, Solaris.
16941         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
16943 2012-06-24  Bruno Haible  <bruno@clisp.org>
16945         ptsname_r: Add support for Solaris.
16946         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
16947         Solaris.
16949         ptsname_r: Fix test failure on native Windows.
16950         * modules/ptsname_r (Depends-on): Add isatty.
16952         ptsname_r: Fix test failures on IRIX, Solaris.
16953         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
16954         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
16955         accordingly.
16956         * lib/ptsname_r.c: Include <fcntl.h>.
16957         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
16958         set errno if fd is invalid.
16959         * tests/test-isatty.c (main): Update comments.
16961 2012-06-24  Bruno Haible  <bruno@clisp.org>
16963         ptsname test: Extend test.
16964         * tests/test-ptsname.c: Include <errno.h>.
16965         (main): Test behaviour with invalid file descriptor.
16967 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
16969         time: fix obsolete comment
16970         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
16971         reference to HAVE_STRUCT_TIMESPEC in comment.
16973 2012-06-23  Bruno Haible  <bruno@clisp.org>
16975         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
16976         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
16977         does not handle abbreviated long options with equivalent
16978         disambiguations, set gl_replace_getopt to yes.
16979         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
16981 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16983         time_r: fix typo that always overrode localtime_r decl
16984         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
16985         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
16986         not in a standard include.
16988 2012-06-22  Bruno Haible  <bruno@clisp.org>
16990         Write "Mac OS X" instead of "MacOS X".
16991         * README: Write "Mac OS X" instead of "MacOS X".
16992         * build-aux/bootstrap: Likewise.
16993         * build-aux/install-reloc: Likewise.
16994         * lib/acl-internal.h: Likewise.
16995         * lib/acl_entries.c: Likewise.
16996         * lib/argp-ba.c: Likewise.
16997         * lib/argp-pv.c: Likewise.
16998         * lib/config.charset: Likewise.
16999         * lib/copy-acl.c: Likewise.
17000         * lib/csharpexec.c: Likewise.
17001         * lib/euidaccess.c: Likewise.
17002         * lib/fbufmode.c: Likewise.
17003         * lib/fflush.c: Likewise.
17004         * lib/file-has-acl.c: Likewise.
17005         * lib/filemode.h: Likewise.
17006         * lib/fpurge.c: Likewise.
17007         * lib/freadable.c: Likewise.
17008         * lib/freadahead.c: Likewise.
17009         * lib/freading.c: Likewise.
17010         * lib/freadptr.c: Likewise.
17011         * lib/freadseek.c: Likewise.
17012         * lib/fseeko.c: Likewise.
17013         * lib/fseterr.c: Likewise.
17014         * lib/fsusage.c: Likewise.
17015         * lib/fwritable.c: Likewise.
17016         * lib/fwriting.c: Likewise.
17017         * lib/get-rusage-as.c: Likewise.
17018         * lib/get-rusage-data.c: Likewise.
17019         * lib/getdomainname.c: Likewise.
17020         * lib/idpriv-drop.c: Likewise.
17021         * lib/idpriv-droptemp.c: Likewise.
17022         * lib/localcharset.c: Likewise.
17023         * lib/locale.in.h: Likewise.
17024         * lib/localename.c: Likewise.
17025         * lib/mbsrtowcs-state.c: Likewise.
17026         * lib/nproc.c: Likewise.
17027         * lib/passfd.c: Likewise.
17028         * lib/posix_openpt.c: Likewise.
17029         * lib/printf-parse.c: Likewise.
17030         * lib/progreloc.c: Likewise.
17031         * lib/safe-read.h: Likewise.
17032         * lib/safe-write.h: Likewise.
17033         * lib/sched.in.h: Likewise.
17034         * lib/set-mode-acl.c: Likewise.
17035         * lib/signal.in.h: Likewise.
17036         * lib/stdint.in.h: Likewise.
17037         * lib/stdio-impl.h: Likewise.
17038         * lib/stdlib.in.h: Likewise.
17039         * lib/strtod.c: Likewise.
17040         * lib/sys_select.in.h: Likewise.
17041         * lib/tcgetsid.c: Likewise.
17042         * lib/unistd.in.h: Likewise.
17043         * lib/unlockpt.c: Likewise.
17044         * lib/vasnprintf.c: Likewise.
17045         * lib/vma-iter.c: Likewise.
17046         * lib/wcsrtombs-state.c: Likewise.
17047         * m4/acl.m4: Likewise.
17048         * m4/acosl.m4: Likewise.
17049         * m4/asinl.m4: Likewise.
17050         * m4/atanl.m4: Likewise.
17051         * m4/c-stack.m4: Likewise.
17052         * m4/cosl.m4: Likewise.
17053         * m4/expl.m4: Likewise.
17054         * m4/extensions.m4: Likewise.
17055         * m4/fdatasync.m4: Likewise.
17056         * m4/fmal.m4: Likewise.
17057         * m4/frexp.m4: Likewise.
17058         * m4/frexpf.m4: Likewise.
17059         * m4/frexpl.m4: Likewise.
17060         * m4/fsusage.m4: Likewise.
17061         * m4/getdomainname.m4: Likewise.
17062         * m4/getloadavg.m4: Likewise.
17063         * m4/getopt.m4: Likewise.
17064         * m4/gettext.m4: Likewise.
17065         * m4/gnulib-common.m4: Likewise.
17066         * m4/intdiv0.m4: Likewise.
17067         * m4/intlmacosx.m4: Likewise.
17068         * m4/largefile.m4: Likewise.
17069         * m4/ldexpl.m4: Likewise.
17070         * m4/link-follow.m4: Likewise.
17071         * m4/locale-ar.m4: Likewise.
17072         * m4/locale-fr.m4: Likewise.
17073         * m4/locale-ja.m4: Likewise.
17074         * m4/locale-tr.m4: Likewise.
17075         * m4/locale-zh.m4: Likewise.
17076         * m4/locale_h.m4: Likewise.
17077         * m4/lock.m4: Likewise.
17078         * m4/logl.m4: Likewise.
17079         * m4/mathfunc.m4: Likewise.
17080         * m4/minus-zero.m4: Likewise.
17081         * m4/mktime.m4: Likewise.
17082         * m4/mmap-anon.m4: Likewise.
17083         * m4/multiarch.m4: Likewise.
17084         * m4/nanosleep.m4: Likewise.
17085         * m4/nocrash.m4: Likewise.
17086         * m4/poll.m4: Likewise.
17087         * m4/printf-frexpl.m4: Likewise.
17088         * m4/printf.m4: Likewise.
17089         * m4/signbit.m4: Likewise.
17090         * m4/sinl.m4: Likewise.
17091         * m4/sqrtl.m4: Likewise.
17092         * m4/strerror_r.m4: Likewise.
17093         * m4/tanl.m4: Likewise.
17094         * m4/threadlib.m4: Likewise.
17095         * m4/ttyname_r.m4: Likewise.
17096         * m4/unlink.m4: Likewise.
17097         * m4/visibility.m4: Likewise.
17098         * m4/wcwidth.m4: Likewise.
17099         * tests/minus-zero.h: Likewise.
17100         * tests/test-alloca-opt.c: Likewise.
17101         * tests/test-copy-acl.sh: Likewise.
17102         * tests/test-copy-file.sh: Likewise.
17103         * tests/test-fdatasync.c: Likewise.
17104         * tests/test-file-has-acl.sh: Likewise.
17105         * tests/test-flock.c: Likewise.
17106         * tests/test-fsync.c: Likewise.
17107         * tests/test-localename.c: Likewise.
17108         * tests/test-malloca.c: Likewise.
17109         * tests/test-nonblocking-pipe.h: Likewise.
17110         * tests/test-nonblocking-socket.h: Likewise.
17111         * tests/test-openpty.c: Likewise.
17112         * tests/test-posix_openpt.c: Likewise.
17113         * tests/test-ptsname.c: Likewise.
17114         * tests/test-ptsname_r.c: Likewise.
17115         * tests/test-sameacls.c: Likewise.
17116         * tests/test-select.h: Likewise.
17117         * tests/test-set-mode-acl.sh: Likewise.
17118         * tests/test-snprintf-posix.h: Likewise.
17119         * tests/test-sprintf-posix.h: Likewise.
17120         * tests/test-strtod.c: Likewise.
17121         * tests/test-time.c: Likewise.
17122         * tests/test-vasnprintf-posix.c: Likewise.
17123         * tests/test-vasprintf-posix.c: Likewise.
17124         * doc/acl-resources.txt: Likewise.
17125         * doc/**/*.texi: Likewise.
17126         Reported by Max Horn <max@quendi.de>.
17128 2012-06-22  Bruno Haible  <bruno@clisp.org>
17130         grantpt: Relax requirement regarding invalid file descriptors.
17131         * lib/grantpt.c: Don't include <fcntl.h>.
17132         (grantpt): Don't verify the validity of the file descriptor.
17133         * modules/grantpt (Depends-on): Remove fcntl-h.
17134         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
17135         file descriptors.
17136         * doc/posix-functions/grantpt.texi: Document more platforms on which
17137         grantpt succeeds for invalid file descriptors.
17138         Reported by Rich Felker <dalias@aerifal.cx>.
17140 2012-06-22  Bruno Haible  <bruno@clisp.org>
17142         fbufmode test: Don't test unportable behaviour.
17143         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
17144         (main): Invoke it three times.
17145         Reported by Szabolcs Nagy <nsz@port70.net>
17146         and Rich Felker <dalias@aerifal.cx>.
17148 2012-06-21  Bruno Haible  <bruno@clisp.org>
17150         gnulib-tool: Refactor inctests variable.
17151         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
17152         (func_modules_transitive_closure,
17153         func_modules_transitive_closure_separately,
17154         func_import, func_create_testdir): Update.
17156         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
17157         * gnulib-tool: Accept option --without-tests.
17158         (func_usage): Document --without-tests option. Rearrange.
17159         (inctests): Normalize according to the mode.
17160         * NEWS: Mention the change.
17161         Suggested by Simon Josefsson.
17163 2012-06-21  Bruce Korb  <bkorb@gnu.org>
17165         parse-duration test: Avoid spurious output.
17166         * tests/test-parse-duration.sh: Reindent with leading tabs.
17168 2012-06-21  Jim Meyering  <meyering@redhat.com>
17170         maint: disable the strncpy prohibition
17171         * cfg.mk: Do not prohibit strncpy here.
17173 2012-06-21  Bruno Haible  <bruno@clisp.org>
17175         nonblocking: Avoid compilation error on mingw64.
17176         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
17177         fscanf.
17178         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
17179         * modules/vfscanf (configure.ac): Likewise.
17180         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
17181         definition only if stdio.h has prepared it.
17182         Reported by Daniel P. Berrange <berrange@redhat.com>.
17184 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
17186         gnulib-tool: Use readlink if it is available.
17187         * gnulib-tool (func_readlink): Choose function more appropriately.
17189 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
17191         posixtm-tests: port to buggy compiler
17192         Problem reported by Simon Josefsson in
17193         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
17194         * modules/posixtm-tests (Depends-on): Add stdint.
17195         * tests/test-posixtm.c (struct posixtm_test.t_expected):
17196         Now of type int_least64_t, not int64_t, both because that's
17197         what INT64_C returns and because int_least64_t works even
17198         on 72-bit hosts.
17199         (T): Use INT64_C on constants outside the traditional int range,
17200         to work around compiler bug noted by Simon.
17202         mktime: fix integer overflow in 'configure'-time test
17203         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
17204         after integer overflow.  Problem reported by Rich Felker in
17205         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
17206         Also, don't look for further instances of a bug if we've already
17207         found one instance; this helps 'configure' run faster.
17209 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
17211         tmpfile, clean-temp: Fix invocation of GetVersionEx.
17212         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
17213         GetVersionEx correctly.
17214         * lib/clean-temp.c (supports_delete_on_close): Likewise.
17216 2012-06-20  Bruno Haible  <bruno@clisp.org>
17218         fdopen: Allow implementations that don't reject invalid fd arguments.
17219         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
17220         succeeds.
17221         Reported by Rich Felker <dalias@aerifal.cx>.
17223 2012-06-20  Simon Josefsson  <simon@josefsson.org>
17225         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
17226         bring in LIBINTL.
17228 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
17230         init.sh: do not rely on autoupated PWD
17231         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
17232         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
17233         Although Nelson's bug was not necessarily fixed by this patch,
17234         it seems wise to make the change for safety.
17235         * tests/init.sh (path_prepend_): Do not rely on PWD updating
17236         automagically after 'cd'; this is not reliable on older shells.
17237         (setup_): Fail if we cannot cd to temporary directory.
17239 2012-06-19  Bruno Haible  <bruno@clisp.org>
17241         stat, fstat: Avoid warnings on mingw64.
17242         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
17243         redefining.
17244         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
17245         Reported by Daniel P. Berrange <berrange@redhat.com>.
17247 2012-06-19  Bruno Haible  <bruno@clisp.org>
17249         stdioext: Add support for musl libc.
17251         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
17252         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
17254         * m4/fseterr.m4: New file.
17255         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
17256         function exists.
17257         * modules/fseterr (Files): Add m4/fseterr.m4.
17258         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
17259         __fseterr does not exist.
17260         (Makefile.am): Remove fseterr.c from lib_SOURCES.
17262         * lib/freadable.h: Update comment.
17264         * lib/fwritable.h: Update comment.
17266         * lib/freading.h: Update comment.
17268         * lib/fwriting.h: Update comment.
17270         * m4/freadahead.m4: New file.
17271         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
17272         that function exists.
17273         * modules/freadahead (Files): Add m4/freadahead.m4.
17274         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
17275         __freadahead does not exist.
17276         (Makefile.am): Remove freadahead.c from lib_SOURCES.
17278         * m4/freadptr.m4: New file.
17279         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
17280         function exists.
17281         * modules/freadptr (Files): Add m4/freadptr.m4.
17282         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
17283         __freadptr does not exist.
17284         (Makefile.am): Remove freadptr.c from lib_SOURCES.
17286         * m4/freadseek.m4: New file.
17287         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
17288         exists.
17289         * modules/freadseek (Files): Add m4/freadseek.m4.
17290         (configure.ac): Invoke gl_FUNC_FREADSEEK.
17292         * lib/fpurge.c (fpurge): Update comment.
17294         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
17296 2012-06-19  Bruno Haible  <bruno@clisp.org>
17298         *printf-posix: Put more info into config.log.
17299         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
17300         exit code into config.log.
17302 2012-06-19  Bruno Haible  <bruno@clisp.org>
17304         getopt-gnu: Fix exit code overflow in autoconf test.
17305         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
17306         to keep them below < 128.
17308 2012-06-17  Jim Meyering  <meyering@redhat.com>
17310         maint.mk: fix typo in code to derive GPG key at release time
17311         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
17313 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
17315         regex: avoid warning when pointers are not long
17316         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
17317         and uintptr_t, not long, for portability to hosts where pointers and
17318         long have different sizes.  Issue noted by Daniel P. Berrange in
17319         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
17320         and fix suggested by Bruno Haible in
17321         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
17323 2012-06-17  Bruno Haible  <bruno@clisp.org>
17325         dummy: Relicense into the public domain.
17326         * modules/dummy (License): Set to "public domain".
17327         Suggested by Reuben Thomas.
17329 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
17331         announce-gen: VPATH issues
17332         * build-aux/announce-gen (--srcdir): New option, used to trim the
17333         $srcdir part of the path from $builddir to NEWS.
17334         * top/maint.mk (announcement): Adjust.
17336 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
17338         gnu-web-doc-update: VPATH builds
17339         * build-aux/gnu-web-doc-update (--builddir): New option.
17340         Revamp the handling of options.
17341         Prefer $(...) to `...`.
17342         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
17343         the template, and it is GNU mktemp specific.
17344         Prefer set -e to long series of &&.
17345         Restore the initial git branch, not "master".
17346         Properly initialize submodules (don't rely only on bootstrap).
17347         Do not reconfigure blindly, use config.status.
17348         * top/README-release: Update instructions for gnu-web-doc-update.
17350 2012-06-11  Jim Meyering  <meyering@redhat.com>
17352         maint.mk: revert most of the previous change re "all these"
17353         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
17354         For rationale, see the discussion at
17355         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
17357 2012-06-10  Karl Berry  <karl@gnu.org>
17359         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
17361         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
17363 2012-06-10  Bruce Korb  <bkorb@gnu.org>
17365         parse-duration: Relicense under LGPLv2+.
17366         * modules/parse-duration (License): Change to LGPLv2+.
17368 2012-06-10  Jim Meyering  <meyering@redhat.com>
17370         maint.mk: prohibit common grammar error: "all these"
17371         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
17372         the list of prohibited word sequences.  It should be "all of these".
17373         * lib/tempname.c (__gen_tempname): Fix one of them.
17375 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
17377         do-release-commit-and-tag: support VPATH builds
17378         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
17379         (noteworthy): Defined earlier to factor its value.
17380         (noteworthy_stub): New.
17381         Use it to factor.
17382         (help_version): Split into...
17383         (help, version): these.
17384         Adjust the option processing part.
17385         Support "--option=value" in addition to "--option value".
17386         (builddir): New.
17387         (--builddir): New option.
17388         * top/README-release: Document this.
17389         Reword slightly so that the reader cannot understand that he
17390         has to do these steps before calling do-release-commit-and-tag.
17392 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
17394         readme-release: also require announce-gen and maintainer-makefile
17395         * modules/readme-release (Depends-on): here.
17396         * modules/announce-gen, modules/do-release-commit-and-tag,
17397         modules/gnu-web-doc-update, modules/maintainer-makefile
17398         (Description): Point to readme-release.
17400 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
17402         maint.mk: fix VPATH issues.
17403         * top/maint.mk (news-check): GNU Make understand $< very well.
17404         (release-prep): NEWS is in $(srcdir).
17406 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
17408         readme-release: require the promoted modules.
17409         * modules/readme-release (Depends-on): Add
17410         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
17411         in this text.
17413 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
17414             Bruno Haible  <bruno@clisp.org>
17416         error, strerror-override: Support mingw64 from Fedora 17.
17417         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
17418         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
17419         EINPROGRESS.
17420         * lib/strerror-override.h (strerror_override): Test it.
17421         * lib/strerror-override.c (strerror_override): Likewise.
17422         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
17424 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
17425             Bruno Haible  <bruno@clisp.org>
17427         error, strerror-override: Support mingw64 from Fedora 17.
17428         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
17429         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
17430         * lib/strerror-override.h (strerror_override): Test it.
17431         * lib/strerror-override.c (strerror_override): Likewise.
17433 2012-06-03  Bruno Haible  <bruno@clisp.org>
17435         error, strerror-override: Support new errno values from POSIX:2008.
17436         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
17437         ENOTRECOVERABLE.
17438         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
17439         platforms.
17440         * lib/strerror-override.c (strerror_override): Conditionalize the
17441         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
17442         * lib/strerror-override.h (strerror_override): Declare also if
17443         GNULIB_defined_EOWNERDEAD is defined.
17444         * tests/test-errno.c (e130, e131): New variables.
17445         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
17446         ENOTRECOVERABLE.
17447         Reported by Paolo Bonzini.
17449 2012-05-31  Jim Meyering  <meyering@redhat.com>
17451         savewd: add missing dependency on sys_wait module
17452         * modules/savewd (Depends-on): Add sys_wait, needed at least
17453         for MSVC.  Report and suggested change by Michael Goffioul.
17455 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17457         system-quote-tests: port to CentOS 5
17458         Problem reported by Tom G. Christensen in
17459         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
17460         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
17462 2012-05-29  Jim Meyering  <meyering@redhat.com>
17464         maint: fix typos in comments and ChangeLog
17465         Culprits identified and fixed mostly automatically using these commands:
17466         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
17467         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
17468         using http://github.com/lyda/misspell-check
17469         * ChangeLog: Fix typos.
17470         * doc/solaris-versions: Likewise.
17471         * lib/regexec.c (re_search_stub): Likewise.
17472         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
17474 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17476         manywarnings: remove duplicate -Wmultichar entry
17477         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
17478         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
17479         so keep the entry marked as documented.
17481 2012-05-27  Karl Berry  <karl@gnu.org>
17483         * config/srclist.txt (mktime.c): remove last libc sync,
17484         perhaps just temporarily.
17486 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
17488         regex: don't assume uint64_t or uint32_t
17489         * lib/regcomp.c (init_word_char): Don't assume that the types
17490         uint64_t and uint32_t exist.  The C standard doesn't guarantee
17491         them, and on some 32-bit compilers there is no uint64_t.
17492         Problem reported by Gianluigi Tiesi in
17493         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
17495 2012-05-25  Jim Meyering  <meyering@redhat.com>
17497         maint.mk: add strncpy-prohibiting syntax-check rule
17498         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
17500 2012-05-24  Jim Meyering  <meyering@redhat.com>
17502         maint.mk: compute $(gpg_key_ID) more portably
17503         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
17504         That use of sed is not portable to some fringe systems.
17505         Reported by Paul Eggert in
17506         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
17508 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17510         mktime: sync from glibc
17511         * config/srclist.txt: Uncomment mktime.c.
17512         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
17513         First, indent with tabs, since glibc uses tabs and doesn't want to
17514         change and we'd rather be identical to glibc.  Also, two small
17515         coding changes:
17516         (isdst_differ): Use &&, not &, as && is the usual style.
17517         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
17518         for clarity.
17520 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
17522         announce-gen: du -h is more portable than du --human
17523         * build-aux/announce-gen (sizes): Invoke du with -h instead
17524         of --human.  Accept leading white space in its output.
17526 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
17528         announce-gen: Improve diagnostics.
17529         * build-aux/announce-gen: When parsing command line options,
17530         prefer "announce-gen: option --release-type requires an argument"
17531         to "Option release-type requires an argument".
17533 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
17535         maint.mk: gpg_key_ID: use sed more portably
17536         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
17537         the closing brace.
17538         (refresh-po): Fuse two sed invocations into one.
17540 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
17542         gitlog-to-changelog: support the log message format used in Bison.
17543         * build-aux/gitlog-to-changelog: Support --strip-tab and
17544         --strip-cherry-picked.
17546 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
17548         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
17549         the rest of the current time slice to another thread in the current
17550         process. So if the thread that feeds the file decscriptor we're
17551         polling is not in the current process, we get busy-waiting.
17552         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
17553         Patch from Theodore Leblond.
17554         * lib/select.c: Split polling out of the loop that sets the output
17555         fd_sets.  Check for zero result and loop if the wait timeout is
17556         infinite.
17558 2012-05-21  Simon Josefsson  <simon@josefsson.org>
17560         select: Fix build error on IRIX 6.5.
17561         * lib/select.c: Include stddef.h for NULL.
17563 2012-05-21  Simon Josefsson  <simon@josefsson.org>
17565         gc: fix libgcrypt detection on older machines.
17566         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
17567         copyright years because the file has been distributed every year
17568         since it was created.
17570 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
17572         crypto: fix bug in large buffer handling
17573         Problem reported by Serge Belyshev for glibc in
17574         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
17575         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
17576         * lib/md4.c (md4_process_block):
17577         * lib/md5.c (md5_process_block):
17578         * lib/sha1.c (sha1_process_block):
17579         * lib/sha256.c (sha256_process_block):
17580         Don't assume the buffer length is less than 2**32.
17581         * lib/sha512.c (sha512_process_block): Likewise.
17582         Here, the bug is present only in the rare case where the host does
17583         not support uint64_t or where size_t is wider than 64 bits.
17584         Use u64size to work around the problems.
17585         * lib/u64.h (u64size): New macro.
17587 2012-05-15  Pádraig Brady  <P@draigBrady.com>
17589         fsusage: fix block size returned on older Linux 2.6
17591         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
17592         which is available since Linux 2.6.
17593         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
17594         when the member is available so it can be used as a fallback.
17595         * doc/posix-functions/statvfs.texi: Mention the hang issue
17596         on Linux < 2.6.36.
17598 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
17600         bootstrap: suppress stderr chatter
17601         * build-aux/bootstrap (insert_sorted_if_absent, main program):
17602         Omit unnecessary chatter to stderr.  The main program chatter
17603         was there only inadvertantly.
17605         bootstrap: .gitignore files created by autopoint, libtool
17606         I ran into this problem when bootstrapping the latest diffutils.
17607         After './bootstrap', 'git status' reported lots of untracked files
17608         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
17609         autopoint and do not need to be version-controlled.
17610         * build-aux/bootstrap: Put into .gitignore the files that
17611         autopoint and libtool create, by keeping track of files that exist
17612         after but not before these programs are run.
17613         (version_controlled_file): Move up.  2nd arg is now full file
17614         name, not base name; this is more convenient.  Put CVS at the end,
17615         as it's now somewhat deprecated.
17617 2012-05-14  Jim Meyering  <meyering@redhat.com>
17619         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
17620         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
17621         definition.  Reported by Bruno Haible.
17623 2012-05-13  Bruno Haible  <bruno@clisp.org>
17624             Paul Eggert  <eggert@cs.ucla.edu>
17626         binary-io: Define set_binary_mode function.
17627         * lib/binary-io.h (set_binary_mode): New function.
17628         (SET_BINARY): Define in terms of set_binary_mode.
17629         * modules/binary-io (configure.ac): Require AC_C_INLINE.
17630         * tests/test-binary-io.c (main): Accept an argument, and test either
17631         set_binary_mode or SET_BINARY depending on the argument.
17632         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
17633         argument. Clean up also t-bin-out0.tmp.
17635 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
17637         bootstrap: take advantage of POSIX shell features
17639         The 'bootstrap' script offered by Gnulib script already uses POSIX
17640         shell features (like $((...)) arithmetic expansions) that are not
17641         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
17642         means that bootstrap must already be run using a proper POSIX shell,
17643         which will thus provide more features, like ${var#pattern} parameter
17644         expansion or inversion of a command exit status with '!'.  We can
17645         thus use these features to improve the clarity and the performances
17646         of the bootstrap script.
17648         Suggested by Eric Blake.
17650         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
17651         of sed/expr plus command substitutions, to save some forks.  While
17652         we are at it, prefer the POSIX $(...) form of command substitution,
17653         rather than the legacy form `...` (since the former is visually
17654         clearer and interacts better with quoting), and prefer the idiom:
17655           "if ! CMD; then ACTION ..."
17656         over the idiom:
17657           "if CMD; then :; else ACTION ..."
17658         which was required by legacy Bourne shells not supporting '!'.
17660 2012-05-12  Bruno Haible  <bruno@clisp.org>
17662         system-quote: Add more comments.
17663         * lib/system-quote.h: Add more comments about wilcards and limitations.
17664         Suggested by Eli Zaretskii <eliz@gnu.org>.
17666         sh-quote, system-quote: Add comments about wildcards.
17667         * lib/sh-quote.h: Clarify what happens with wildcard characters.
17668         * lib/system-quote.h: Likewise.
17669         Reported by Eli Zaretskii <eliz@gnu.org>.
17671 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
17673         fsusage: check for GNU/Linux statvfs problem dynamically
17674         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
17675         Define STAT_STATFS2_BSIZE too, since in this case the code now
17676         checks dynamically whether statvfs is reliable, falling back on
17677         Linux-style statfs otherwise.
17678         (statvfs_works): New function, for dynamically testing statvfs.
17679         (get_fs_usage) [STAT_STATVFS]: Use it.
17680         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
17681         statvfs on GNU/Linux hosts, since it's now done dynamically.
17683 2012-05-10  Bruno Haible  <bruno@clisp.org>
17685         system-quote, execute, spawn-pipe: Escape '?' on Windows.
17686         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
17687         '?' character.
17688         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
17689         * tests/test-system-quote-main.c (check_all): Check also strings like
17690         "??????????".
17691         Reported by Eli Zaretskii <eliz@gnu.org>.
17693 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
17695         _Noreturn: port config.h to gcc -Wundef
17696         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
17697         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
17698         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
17700 2012-05-10  Bruno Haible  <bruno@clisp.org>
17702         system-quote: Refactor.
17703         * lib/system-quote.h (system_quote_copy): Fix comment.
17704         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
17705         New functions, extracted from system_quote_copy.
17706         (system_quote_length, system_quote_copy): Use these functions.
17707         Reported by Paul Eggert.
17709 2012-05-08  Bruno Haible  <bruno@clisp.org>
17711         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
17712         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
17714 2012-05-08  Bruno Haible  <bruno@clisp.org>
17716         Tests for module 'system-quote'.
17717         * modules/system-quote-tests: New file.
17718         * tests/test-system-quote.sh: New file.
17719         * tests/test-system-quote-main.c: New file.
17720         * tests/test-system-quote-child.c: New file.
17722         New module 'system-quote'.
17723         * lib/system-quote.h: New file.
17724         * lib/system-quote.c: New file.
17725         * modules/system-quote: New file.
17727 2012-05-08  Bruno Haible  <bruno@clisp.org>
17729         sh-quote: Make C++ safe and allow multiple inclusion.
17730         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
17731         declarations in extern "C".
17733 2012-05-08  Bruno Haible  <bruno@clisp.org>
17735         sh-quote tests: Make tests stricter.
17736         * tests/test-sh-quote.c (check_one): Check the return value of
17737         shell_quote_copy.
17738         (main): Check a string with a CR character. Check a string that
17739         contains UCHAR_MAX.
17741 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
17743         warnings.m4: provide a means to specify the program to compile.
17744         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
17745         (gl_WARN_ADD): here.
17746         Use gl_AS_VAR_APPEND.
17747         Support an argument to specify the program to compile.
17748         (gl_WARN_ADD): Accept an argument to specify the program to compile.
17749         AC_SUBST the WARN_CFLAGS when they are used.
17750         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
17751         leave this to gl_WARN_ADD.
17753 2012-05-08  Eric Blake  <eblake@redhat.com>
17755         doc: recommendations on gettext version
17756         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
17757         choice between versions.
17758         * DEPENDENCIES (gettext): Cover both approaches.
17760 2012-05-08  Jim Meyering  <meyering@redhat.com>
17762         init.sh: explain why EXEEXT support uses aliases rather than functions
17763         * tests/init.sh: Add a comment.
17765         init.sh: don't let bash aliases interfere with tests
17766         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
17767         is bash.  This avoids problems for those who alias standard commands to
17768         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
17769         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
17771 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
17773         stdint: be more consistent with glibc, SunOS libc
17774         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
17775         (gl_int_fast16_t, gl_uint_fast16_t)
17776         (gl_int_fast32_t, gl_uint_fast32_t)
17777         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
17778         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
17779         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
17780         Be consistent with glibc by default, and with SunOS 5.10 and later
17781         if __sun is defined.  This lessens the likelihood of clashes if
17782         code compiled for older hosts is combined with code compiled for
17783         newer ones.  Problem reported by Niels Möller in
17784         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
17786 2012-05-07  Eric Blake  <eblake@redhat.com>
17788         isatty: relax license to LGPLv2+
17789         * modules/isatty (License): Relax license.
17791 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17793         stat-size: comment fix
17794         * lib/stat-size.h: Remove obsolete comment about indenting.
17796 2012-05-06  Bruno Haible  <bruno@clisp.org>
17798         Tests for module 'sh-quote'.
17799         * modules/sh-quote-tests: New file.
17800         * tests/test-sh-quote.c: New file.
17802 2012-05-06  Bruno Haible  <bruno@clisp.org>
17804         sh-quote: Improve shell_quote_argv's signature.
17805         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
17806         * lib/sh-quote.c (shell_quote_argv): Likewise.
17808 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17810         stdint: document issues with int_fast8_t etc.
17811         * doc/posix-headers/stdint.texi (stdint.h): Say that other
17812         stdint.h substitutes may define these types differently.  See
17813         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
17815 2012-05-05  Bruno Haible  <bruno@clisp.org>
17817         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
17818         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
17819         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
17820         or 'guessing no (mishandles large arguments)'.
17822 2012-05-05  Bruno Haible  <bruno@clisp.org>
17824         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
17825         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
17826         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
17827         set gl_cv_func_link_follows_symlink to "guessing no".
17829 2012-05-05  Bruno Haible  <bruno@clisp.org>
17831         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
17832         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
17833         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
17834         "guessing no".
17835         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
17837 2012-05-05  Bruno Haible  <bruno@clisp.org>
17839         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
17840         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
17841         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
17842         set gl_cv_struct_dirent_d_ino to "guessing yes".
17844 2012-05-05  Bruno Haible  <bruno@clisp.org>
17846         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
17847         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
17848         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
17849         "guessing yes".
17851 2012-05-05  Bruno Haible  <bruno@clisp.org>
17853         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
17854         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
17855         compiling to a glibc system, set gl_cv_func_signbit and
17856         gl_cv_func_signbit_gcc to "guessing yes".
17858 2012-05-05  Bruno Haible  <bruno@clisp.org>
17860         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
17861         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
17862         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
17863         to "guessing yes".
17864         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
17865         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
17867 2012-05-05  Bruno Haible  <bruno@clisp.org>
17869         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
17870         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
17871         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
17872         gl_cv_func_realpath_works to "guessing yes".
17874 2012-05-05  Bruno Haible  <bruno@clisp.org>
17876         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
17877         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
17878         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
17880 2012-05-04  Bruno Haible  <bruno@clisp.org>
17882         Tweak last commit.
17883         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
17884         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17886 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
17888         unistd_h: make it easier to avoid sys_types_h
17889         This is useful for Emacs, which has its own method of porting to
17890         Windows, and which therefore does not need the sys_types_h module.
17891         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
17892         code moved here from gl_SYS_TYPES_H.
17893         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
17894         using the code directly.
17895         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
17896         gl_SYS_TYPES_H.
17897         * modules/sys_types (Files):
17898         * modules/unistd (Files): Add m4/off_t.m4.
17900 2012-05-03  Bruno Haible  <bruno@clisp.org>
17902         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
17903         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
17904         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
17905         "guessing yes" or "guessing no".
17906         (gl_FUNC_LSTAT): Update.
17907         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
17908         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
17909         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
17911 2012-05-03  Bruno Haible  <bruno@clisp.org>
17913         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
17914         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
17915         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
17916         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
17917         cross-compiling, choose the first alternative on glibc systems.
17918         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
17920 2012-05-03  Bruno Haible  <bruno@clisp.org>
17922         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
17923         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
17924         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
17926 2012-05-03  Bruno Haible  <bruno@clisp.org>
17928         chown: Avoid "guessing no" when cross-compiling to glibc systems.
17929         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
17931 2012-05-03  Bruno Haible  <bruno@clisp.org>
17933         Avoid "guessing no" guesses when cross-compiling to glibc systems.
17934         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
17935         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
17936         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
17937         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
17938         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
17939         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
17940         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
17941         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
17942         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
17943         compiling to glibc systems, set gl_cv_func_chown_slash_works,
17944         gl_cv_func_chown_ctime_works to "guessing yes".
17945         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
17946         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
17947         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
17948         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
17949         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
17950         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
17951         compiling to glibc systems, set gl_cv_func_open_directory_works to
17952         "guessing yes".
17953         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
17954         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
17955         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
17956         "guessing yes".
17957         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
17958         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
17959         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
17960         compiling to glibc systems, set gl_cv_func_floorf_ieee to
17961         "guessing yes".
17962         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
17963         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
17964         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
17965         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
17966         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
17967         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
17968         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
17969         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
17970         "guessing yes".
17971         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
17972         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
17973         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
17974         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
17975         "guessing yes".
17976         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
17977         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
17978         "guessing yes".
17979         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
17980         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
17981         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
17982         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
17983         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
17984         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
17985         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
17986         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
17987         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
17988         compiling to glibc systems, set gl_cv_func_log10f_ieee to
17989         "guessing yes".
17990         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
17991         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
17992         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
17993         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
17994         "guessing yes".
17995         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
17996         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
17997         "guessing yes".
17998         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
17999         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
18000         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
18001         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
18002         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
18003         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
18004         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
18005         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
18006         compiling to glibc systems, set gl_cv_func_mkfifo_works to
18007         "guessing yes".
18008         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
18009         compiling to glibc systems, set gl_cv_func_mknod_works to
18010         "guessing yes".
18011         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
18012         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
18013         "guessing yes".
18014         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
18015         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
18016         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
18017         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
18018         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
18019         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
18020         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
18021         compiling to glibc systems, set gl_cv_func_svid_putenv to
18022         "guessing yes".
18023         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
18024         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
18025         "guessing yes".
18026         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
18027         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
18028         "guessing yes".
18029         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
18030         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
18031         to "guessing yes".
18032         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
18033         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
18034         to "guessing yes".
18035         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
18036         compiling to glibc systems, set gl_cv_func_rmdir_works to
18037         "guessing yes".
18038         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
18039         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
18040         gl_cv_func_unlink_parent_fails to "guessing yes".
18041         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
18042         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
18043         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
18044         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
18045         gl_cv_func_rename_dest_works to "guessing yes".
18046         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
18047         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
18048         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
18049         compiling to glibc systems, set gl_cv_func_roundf_ieee to
18050         "guessing yes".
18051         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
18052         compiling to glibc systems, set gl_cv_func_roundl_ieee to
18053         "guessing yes".
18054         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
18055         compiling to glibc systems, set gl_cv_func_setenv_works to
18056         "guessing yes".
18057         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
18058         compiling to glibc systems, set gl_cv_func_unsetenv_works to
18059         "guessing yes".
18060         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
18061         compiling to glibc systems, set gl_cv_func_sleep_works to
18062         "guessing yes".
18063         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
18064         compiling to glibc systems, set gl_cv_func_stat_file_slash to
18065         "guessing yes".
18066         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
18067         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
18068         "guessing yes".
18069         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
18070         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
18071         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
18072         compiling to glibc systems, set gl_cv_func_truncf_ieee to
18073         "guessing yes".
18074         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
18075         compiling to glibc systems, set gl_cv_func_truncl_ieee to
18076         "guessing yes".
18077         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
18078         compiling to glibc systems, set gl_cv_func_usleep_works to
18079         "guessing yes".
18080         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
18081         compiling to glibc systems, set gl_cv_func_futimesat_works to
18082         "guessing yes".
18084 2012-05-03  Bruno Haible  <bruno@clisp.org>
18086         Say "guessing yes" or "guessing no" when cross-compiling.
18087         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
18088         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
18089         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
18090         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
18091         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
18092         am_cv_func_working_getline to "guessing yes" or "guessing no".
18093         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
18094         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
18095         (gl_FUNC_MEMMEM): When cross-compiling, set
18096         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
18097         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
18098         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
18099         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
18100         set gl_cv_func_strcasestr_works_always to "guessing yes" or
18101         "guessing no".
18102         (gl_FUNC_STRCASESTR): When cross-compiling, set
18103         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
18104         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
18105         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
18106         (gl_FUNC_STRSTR): When cross-compiling, set
18107         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
18108         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
18109         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
18110         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
18111         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
18113 2012-05-01  Bruno Haible  <bruno@clisp.org>
18115         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
18116         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
18117         * build-aux/reloc-ldflags: Likewise.
18118         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
18120 2012-05-01  Bruno Haible  <bruno@clisp.org>
18122         gnulib-tool: Remove transitional code.
18123         * gnulib-tool: Don't warn about --import with 0 arguments any more.
18124         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
18126 2012-05-01  Bruno Haible  <bruno@clisp.org>
18128         getcwd: Fix misindentation.
18129         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
18131 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
18133         exclude: process exclude and include directives in order
18134         This restores the pre-2009 behavior, and is part of a fix of a
18135         grep bug reported by Quentin Arce in
18136         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
18137         * lib/exclude.c (struct exclude): Remove 'tail' member.
18138         (new_exclude_segment): Prepend the new segment instead of appending.
18139         Return void, since that's now more convenient.
18140         (file_pattern_matches): Renamed from excluded_file_pattern_p.
18141         (file_name_matches): Renamed from excluded_file_name_p.
18142         (file_pattern_matches, file_name_matches):
18143         Return true if the pattern matches, not if it excludes.
18144         All callers changed.
18145         (excluded_file_name): Process the list in reverse order;
18146         since the list is now reversed this restores the pre-2009 behavior.
18147         (add_exclude): Adjust to new reversed-order list.  Use local var
18148         rather than macro, for clarity.
18149         * tests/test-exclude7.sh: Adjust to corrected behavior.
18151         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
18152         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
18153         it's not possible here.  Handle the case of \ at end of pattern
18154         without dumping core.
18155         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
18157         _Noreturn: future-proof non-GNU and non-MSVC compilers
18158         * build-aux/snippet/_Noreturn.h (_Noreturn):
18159         * m4/gnulib-common.m4 (gl_COMMON_BODY):
18160         Do not define _Noreturn if __STDC_VERSION__ indicates this is
18161         C11 or later.  This is more likely to work with random future C
18162         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
18163         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
18165         exclude: handle wildcards with FNM_EXTMATCH
18166         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
18167         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
18168         comment that "has wildcards" really means "has or may have
18169         wildcards".  Simplify by avoiding the need to call strcspn.
18171 2012-04-29  Bruno Haible  <bruno@clisp.org>
18173         gnulib-tool: Fix list of authors.
18174         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
18176 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
18178         bootstrap: support Automake-NG in $buildreq
18179         * bootstrap (check_versions): Handle automake and aclocal from
18180         Automake-NG specially.  They can be specified as respectively
18181         the "automake-ng" and "aclocal-ng" requirements.
18183 2012-04-25  Eric Blake  <eblake@redhat.com>
18185         bootstrap: only force latest Makefile.in.in for gettext module
18186         * build-aux/bootstrap (with_gettext): Only install latest
18187         Makefile.in.in for projects requesting bleeding edge gettext.
18189 2012-04-22  Bruno Haible  <bruno@clisp.org>
18191         doc: Mention reason for replacement on glibc/Linux systems.
18192         * doc/posix-functions/dprintf.texi: Mention the problem with special
18193         'long double' values.
18194         * doc/posix-functions/fprintf.texi: Likewise.
18195         * doc/posix-functions/printf.texi: Likewise.
18196         * doc/posix-functions/snprintf.texi: Likewise.
18197         * doc/posix-functions/sprintf.texi: Likewise.
18198         * doc/posix-functions/vdprintf.texi: Likewise.
18199         * doc/posix-functions/vfprintf.texi: Likewise.
18200         * doc/posix-functions/vprintf.texi: Likewise.
18201         * doc/posix-functions/vsnprintf.texi: Likewise.
18202         * doc/posix-functions/vsprintf.texi: Likewise.
18203         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
18204         platforms with F_DUPFD_CLOEXEC problems.
18205         * doc/posix-functions/glob.texi: Mention which platforms are affected
18206         by the problem with symbolic links.
18207         * doc/posix-functions/linkat.texi: Mention the problem with
18208         AT_SYMLINK_FOLLOW on Linux.
18210 2012-04-22  Bruno Haible  <bruno@clisp.org>
18212         pwrite: Don't replace on all platforms.
18213         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
18215 2012-04-22  Bruno Haible  <bruno@clisp.org>
18217         rint* tests: Avoid gcc warnings.
18218         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
18219         * tests/test-rintf.c (INFINITY, NAN): Likewise.
18220         * tests/test-rintl.c (INFINITY, NAN): Likewise.
18222 2012-04-21  Bruno Haible  <bruno@clisp.org>
18224         users.txt: Update.
18225         * users.txt: Add freedink, wdiff. Update URLs for projects that have
18226         switched from CVS to git, bzr, or svn.
18228 2012-04-21  Bruno Haible  <bruno@clisp.org>
18230         Large File Support for native Windows platforms.
18232         * m4/largefile.m4 (gl_LARGEFILE): New macro.
18233         * modules/largefile (configure.ac): Require gl_LARGEFILE.
18235         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
18236         type.
18237         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
18238         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
18239         * doc/posix-headers/sys_types.texi: Mention the effect of the
18240         'largefile' module.
18242         * lib/fcntl.in.h: Add comments about off_t.
18243         * modules/fcntl-h (Depends-on): Add sys_types.
18245         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
18246         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
18247         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
18248         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
18249         * modules/unistd (Depends-on): Add sys_types.
18250         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
18252         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
18253         instead of lseek.
18254         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
18255         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
18256         * modules/lseek (Depends-on): Add sys_types.
18258         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
18259         msvc-nothrow.h.
18260         (SetFileSize): New function.
18261         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
18262         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
18263         if Large File Support is requested.
18264         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
18265         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
18267         * lib/stdio.in.h: Add comments about off_t.
18268         * modules/stdio (Depends-on): Add sys_types.
18270         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
18271         instead of ftello.
18272         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
18273         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
18274         (gl_PREREQ_FTELLO): New macro.
18275         * modules/ftello (Depends-on): Add sys_types.
18276         (configure.ac): Incoke gl_PREREQ_FTELLO.
18278         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
18279         instead of fseeko.
18280         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
18281         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
18282         (gl_PREREQ_FSEEKO): New macro.
18283         * modules/fseeko (Depends-on): Add sys_types.
18284         (configure.ac): Invoke gl_PREREQ_FSEEKO.
18286         * lib/sys_stat.in.h: Add comments about off_t.
18287         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
18288         64-bit integer for st_size in 'struct stat'.
18289         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
18290         Define _GL_WINDOWS_64_BIT_ST_SIZE.
18291         * modules/sys_stat (Depends-on): Add sys_types.
18292         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
18294         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
18295         instead of stat or _stat.
18297         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
18298         'struct _stati64' instead of fstat and 'struct stat'.
18299         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
18300         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
18302         Reported by Ray Satiro <raysatiro@yahoo.com>.
18304 2012-04-19  Eric Blake  <eblake@redhat.com>
18306         bootstrap: accommodate older libtool
18307         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
18308         Reported by Daniel P. Berrange.
18310 2012-04-19  Jim Meyering  <meyering@redhat.com>
18312         announce-gen: avoid failure due to lack of Digest::SHA1
18313         Even with the preferred Digest::SHA available, this script
18314         would fail when the backup module, Digest::SHA1, was not installed.
18315         * build-aux/announce-gen: Quote the conditional use of "use".
18316         Reported by Reuben Thomas in:
18317         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
18319         bootstrap: don't let a user's CDPATH setting affect this script
18320         When CDPATH is set, cd will sometimes generate output.
18321         When "cd" is run in a subshell whose output matters, that
18322         surprising-to-some output can cause malfunction.
18323         Unsetting CDPATH turns off this shell "feature."
18324         * build-aux/bootstrap (CDPATH): Unset.
18325         Reported by Reuben Thomas in:
18326         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
18327         and inspired by his patch here:
18328         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
18330 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
18331         and Jim Meyering  <meyering@redhat.com>
18333         maint.mk: catch "see @xref{}" and similar
18334         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
18335         prohibit "See also @xref{", "Also see @pxref{", and similar.
18337 2012-04-16  Jim Meyering  <meyering@redhat.com>
18339         bootstrap: really use gnulib's po/Makefile.in.in
18340         * build-aux/bootstrap: Correct the source file name in previous change.
18341         Reported by Akim Demaille.
18343         configmake: correct minor inconsistency in Makefile rule
18344         * modules/configmake (Makefile.am): All other rules like this one
18345         run the final "mv -f ..." in the same backslash-continued command
18346         as the one that does everything else.  This one put the mv -f ...
18347         command on a separate, non-backslash-continued line.
18348         Make it like the others.
18350         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
18351         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
18352         the one from gettext.  Reported by Akim Demaille.
18354 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
18356         Fix recursion of install-* into po directories.
18357         Bison's install-pdf bug reported by Hans Aberg at
18358         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
18359         * build-aux/po/Makefile.in.in (install-dvi, install-html)
18360         (install-info, install-pdf, install-ps): New targets.
18362 2012-04-16  Jim Meyering  <meyering@redhat.com>
18364         maint: avoid spurious "make sc_maint" failure
18365         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
18366         exempt all *.class file names, for lib/javaversion.class.
18368 2012-04-15  Bruno Haible  <bruno@clisp.org>
18370         lseek: Make configure test independent of environment.
18371         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
18372         Windows, we know that lseek() on pipes is broken; skip the runtime
18373         test.
18375 2012-04-14  Bruno Haible  <bruno@clisp.org>
18377         stat: Bypass buggy override in mingw64.
18378         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
18379         * lib/stat.c (stat) [mingw64]: Define to _stat.
18380         * doc/posix-functions/stat.texi: Mention mingw64 bug.
18382 2012-04-14  Bruno Haible  <bruno@clisp.org>
18384         pathmax: Fix compilation error on MSVC 9.
18385         * modules/pathmax (Depends-on): Add unistd.
18387 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
18389         README: document pointer comparison assumption
18390         * README (Portability guidelines): Document assumption about
18391         pointer comparisons, in response to a recent bug-gnulib comment by
18392         Jeffrey Kegler.
18394 2012-04-12  Bruno Haible  <bruno@clisp.org>
18396         Tests for module 'getrusage'.
18397         * modules/getrusage-tests: New file.
18398         * tests/test-getrusage.c: New file.
18400         New module 'getrusage'.
18401         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
18402         warn-on-use.h.
18403         (getrusage): New declaration.
18404         * lib/getrusage.c: New file.
18405         * m4/getrusage.m4: New file.
18406         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
18407         is declared.
18408         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
18409         HAVE_GETRUSAGE.
18410         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
18411         snippet/c++defs, snippet/warn-on-use.
18412         (Makefile.am): Update generation of sys/resource.h. Substitute
18413         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
18414         * modules/getrusage: New file.
18415         * doc/posix-functions/getrusage.texi: Mention the new module.
18417 2012-04-12  Bruno Haible  <bruno@clisp.org>
18419         Tests for module 'sys_resource'.
18420         * modules/sys_resource-tests: New file.
18421         * tests/test-sys_resource.c: New file.
18423         New module 'sys_resource'.
18424         * lib/sys_resource.in.h: New file.
18425         * m4/sys_resource_h.m4: New file.
18426         * modules/sys_resource: New file.
18427         * doc/posix-headers/sys_resource.texi: Mention the new module.
18429 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
18431         ioctl: Fix compilation error on mingw.
18432         * lib/ioctl.c: Include <windows.h>.
18433         Also reported by Ray Satiro <raysatiro@yahoo.com>.
18435 2012-04-04  Jim Meyering  <meyering@redhat.com>
18437         regex: correct #pragma guard expression
18438         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
18439         not 4.3.  Correct its cpp guard expression.
18441 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
18443         regex: remove unnecessary type punning
18444         Problem reported by Vladimir Serbinenko in
18445         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
18446         * lib/regex.h (struct re_pattern_buffer): Change the type of
18447         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
18448         Fix comment to match code.
18449         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
18450         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
18451         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
18452         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
18453         (set_regs):
18454         Omit no-longer-necessary casts.
18456 2012-04-03  Bruno Haible  <bruno@clisp.org>
18458         Tests for module 'ilogbl'.
18459         * modules/ilogbl-tests: New file.
18460         * tests/test-ilogbl.c: New file.
18462         New module 'ilogbl'.
18463         * lib/math.in.h (ilogbl): New declaration.
18464         * lib/ilogbl.c: New file.
18465         * m4/ilogbl.m4: New file.
18466         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
18467         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
18468         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
18469         Split sed invocation, to avoid the limit of 100 substitutions of
18470         HP-UX 'sed'.
18471         * modules/ilogbl: New file.
18472         * tests/test-math-c++.cc: Check the declaration of ilogbl.
18473         * doc/posix-functions/ilogbl.texi: Mention the new module.
18475 2012-04-03  Bruno Haible  <bruno@clisp.org>
18477         Tests for module 'ilogbf'.
18478         * modules/ilogbf-tests: New file.
18479         * tests/test-ilogbf.c: New file.
18481         New module 'ilogbf'.
18482         * lib/math.in.h (ilogbf): New declaration.
18483         * lib/ilogbf.c: New file.
18484         * m4/ilogbf.m4: New file.
18485         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
18486         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
18487         REPLACE_ILOGBF.
18488         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
18489         REPLACE_ILOGBF.
18490         * modules/ilogbf: New file.
18491         * tests/test-math-c++.cc: Check the declaration of ilogbf.
18492         * doc/posix-functions/ilogbf.texi: Mention the new module.
18494 2012-04-03  Bruno Haible  <bruno@clisp.org>
18496         Tests for module 'ilogb'.
18497         * modules/ilogb-tests: New file.
18498         * tests/test-ilogb.c: New file.
18499         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
18500         tests/test-logb-ieee.h.
18502         New module 'ilogb'.
18503         * lib/math.in.h (ilogb): New declaration.
18504         * lib/ilogb.c: New file.
18505         * m4/ilogb.m4: New file.
18506         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
18507         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
18508         REPLACE_ILOGB.
18509         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
18510         REPLACE_ILOGB.
18511         * modules/ilogb: New file.
18512         * tests/test-math-c++.cc: Check the declaration of ilogb.
18513         * doc/posix-functions/ilogb.texi: Mention the new module.
18515 2012-04-03  Bruno Haible  <bruno@clisp.org>
18517         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
18518         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
18519         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
18520         (main): Check their values.
18521         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
18522         problem.
18524 2012-04-03  Bruno Haible  <bruno@clisp.org>
18526         Tests for module 'logbl-ieee'.
18527         * modules/logbl-ieee-tests: New file.
18528         * tests/test-logbl-ieee.c: New file.
18530         New module 'logbl-ieee'.
18531         * modules/logbl-ieee: New file.
18533         Tests for module 'logb-ieee'.
18534         * modules/logb-ieee-tests: New file.
18535         * tests/test-logb-ieee.c: New file.
18537         New module 'logb-ieee'.
18538         * modules/logb-ieee: New file.
18540         Tests for module 'logbf-ieee'.
18541         * modules/logbf-ieee-tests: New file.
18542         * tests/test-logbf-ieee.c: New file.
18543         * tests/test-logb-ieee.h: New file.
18545         New module 'logbf-ieee'.
18546         * modules/logbf-ieee: New file.
18548 2012-04-03  Bruno Haible  <bruno@clisp.org>
18550         Tests for module 'logbl'.
18551         * modules/logbl-tests: New file.
18552         * tests/test-logbl.c: New file.
18554         New module 'logbl'.
18555         * lib/math.in.h (logbl): New declaration.
18556         * lib/logbl.c: New file.
18557         * m4/logbl.m4: New file.
18558         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
18559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
18560         REPLACE_LOGBL.
18561         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
18562         REPLACE_LOGBL.
18563         * modules/logbl: New file.
18564         * tests/test-math-c++.cc: Check the declaration of logbl.
18565         * doc/posix-functions/logbl.texi: Mention the new module.
18567 2012-04-02  Bruno Haible  <bruno@clisp.org>
18569         Tests for module 'logbf'.
18570         * modules/logbf-tests: New file.
18571         * tests/test-logbf.c: New file.
18573         New module 'logbf'.
18574         * lib/math.in.h (logbf): New declaration.
18575         * lib/logbf.c: New file.
18576         * m4/logbf.m4: New file.
18577         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
18578         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
18579         REPLACE_LOGBF.
18580         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
18581         REPLACE_LOGBF.
18582         * modules/logbf: New file.
18583         * tests/test-math-c++.cc: Check the declaration of logbf.
18584         * doc/posix-functions/logbf.texi: Mention the new module.
18586 2012-04-02  Bruno Haible  <bruno@clisp.org>
18588         logb tests: More tests.
18589         * tests/test-logb.h: New file, based on tests/test-logb.c and
18590         tests/test-frexp.h.
18591         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
18592         (main): Just invoke test_function.
18593         * modules/logb-tests (Files): Add tests/test-logb.h,
18594         tests/minus-zero.h, tests/randomd.c.
18595         (Makefile.am): Add randomd.c to test_logb_SOURCES.
18597         logb: Provide replacement and workarounds.
18598         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
18599         is 1.
18600         * lib/logb.c: New file.
18601         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
18602         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
18603         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
18604         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
18605         * modules/logb (Files): Add lib/logb.c.
18606         (Depends-on): Add isfinite, frexp, isnand.
18607         (configure.ac): Compile the replacement code logb.c if needed.
18608         * tests/test-math-c++.cc: Check the declaration of logb.
18609         * doc/posix-functions/logb.texi: Mention the replacement and the bug
18610         with subnormal numbers.
18612 2012-04-02  Bruno Haible  <bruno@clisp.org>
18614         log10* tests: Speed up.
18615         * tests/test-log10.h (test_function): Reduce amount of random numbers
18616         to test.
18618 2012-04-01  Bruno Haible  <bruno@clisp.org>
18620         logf-ieee: Fix test whether logf works.
18621         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
18623 2012-04-01  Bruno Haible  <bruno@clisp.org>
18625         log10l: Work around log10l-ieee test failure on IRIX 6.5.
18626         * lib/log10l.c: Include <float.h>
18627         (log10l): On IRIX, normalize the +Infinity value.
18628         * modules/log10l (Depends-on): Add 'float'.
18629         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
18630         +Infinity.
18632         log10f-ieee: Work around test failure on NetBSD 5.1.
18633         * m4/log10f-ieee.m4: New file.
18634         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
18635         test whether log10f works with a negative argument. Replace it if not.
18636         * lib/log10f.c (log10f): For negative arguments, return NaN.
18637         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
18638         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
18639         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
18641         log10f-ieee: Work around test failure on Solaris 9.
18642         * modules/log10f-ieee (Depends-on): Add log10-ieee.
18643         (configure.ac): Require gl_FUNC_LOG10F.
18645         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
18646         * m4/log10-ieee.m4: New file.
18647         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
18648         whether log10 works with a negative argument. Replace it if not.
18649         * lib/log10.c (log10): For negative arguments, return NaN.
18650         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
18651         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
18652         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
18654         Tests for module 'log10l-ieee'.
18655         * modules/log10l-ieee-tests: New file.
18656         * tests/test-log10l-ieee.c: New file.
18658         New module 'log10l-ieee'.
18659         * modules/log10l-ieee: New file.
18661         Tests for module 'log10-ieee'.
18662         * modules/log10-ieee-tests: New file.
18663         * tests/test-log10-ieee.c: New file.
18665         New module 'log10-ieee'.
18666         * modules/log10-ieee: New file.
18668         Tests for module 'log10f-ieee'.
18669         * modules/log10f-ieee-tests: New file.
18670         * tests/test-log10f-ieee.c: New file.
18671         * tests/test-log10-ieee.h: New file.
18673         New module 'log10f-ieee'.
18674         * modules/log10f-ieee: New file.
18676 2012-04-01  Bruno Haible  <bruno@clisp.org>
18678         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
18679         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
18680         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
18681         workaround.
18682         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
18683         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
18684         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
18685         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
18686         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
18687         (Depends-on): Update conditions.
18688         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
18689         IRIX 6.5, OSF/1 5.1 problems.
18691 2012-04-01  Bruno Haible  <bruno@clisp.org>
18693         log10f: Work around OSF/1 5.1 bug.
18694         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
18695         * lib/log10f.c (log10f): If logf exists, use it and provide just the
18696         workaround.
18697         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
18698         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
18699         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
18700         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
18701         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
18702         (Depends-on): Update conditions.
18703         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
18705 2012-04-01  Bruno Haible  <bruno@clisp.org>
18707         log10: Work around OSF/1 5.1 bug.
18708         * lib/math.in.h (log10): New declaration.
18709         * lib/log10.c: New file.
18710         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
18711         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
18712         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
18713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
18714         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
18715         * modules/log10 (Files): Add lib/log10.c.
18716         (Depends-on): Add math.
18717         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
18718         * tests/test-math-c++.cc: Check the declaration of log10.
18719         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
18721 2012-03-31  Bruno Haible  <bruno@clisp.org>
18723         log10l tests: More tests.
18724         * modules/log10l-tests (Files): Add tests/test-log10l.h,
18725         tests/minus-zero.h, tests/randoml.c.
18726         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
18727         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
18728         (main): Invoke test_function.
18730         log10f tests: More tests.
18731         * modules/log10f-tests (Files): Add tests/test-log10.h,
18732         tests/minus-zero.h, tests/randomf.c.
18733         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
18734         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
18735         (main): Invoke test_function.
18737         log10 tests: More tests.
18738         * tests/test-log10.h: New file.
18739         * modules/log10-tests (Files): Add tests/test-log10.h,
18740         tests/minus-zero.h, tests/randomd.c.
18741         (Makefile.am): Add randomd.c to test_log10_SOURCES.
18742         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
18743         (main): Invoke test_function.
18745 2012-03-31  Simon Josefsson  <simon@josefsson.org>
18747         fflush: Fix syntax error.
18748         * lib/fflush.c: Include unused-parameter.h, needed for
18749         _GL_UNUSED_PARAMETER.
18750         * modules/fflush (Depends-on): Add snippet/unused-parameter.
18752 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18754         regex: pacify GCC when compiling GRUB
18755         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
18756         a diagnostic.  Reported by Vladimir Serbinenko in
18757         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
18759 2012-03-29  Eric Blake  <eblake@redhat.com>
18761         stdio: don't assume gets any more
18762         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
18763         support.
18764         * modules/stdio (Makefile.am): Likewise.
18765         * lib/stdio-read.c (gets): Likewise.
18766         * tests/test-stdio-c++.cc: Likewise.
18767         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
18768         * lib/stdio.in.h (gets): Make warning occur in more places.
18769         * doc/posix-functions/gets.texi (gets): Update documentation.
18770         Reported by Christer Solskogen.
18772         maint.mk: fix syntax checks without exclusions
18773         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
18774         Reported by Daniel P. Berrange.
18776         strerror_r: avoid compiler warning
18777         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
18778         level.
18780         fflush: avoid compiler warning
18781         * lib/fflush.c (update_fpos_cache): Mark variables that are
18782         potentially unused.
18784 2012-03-25  Bruno Haible  <bruno@clisp.org>
18786         Tests for module 'localeconv'.
18787         * modules/localeconv-tests: New file.
18788         * tests/test-localeconv.c: New file.
18790         New module 'localeconv'.
18791         * lib/locale.in.h (localeconv): New declaration.
18792         * lib/localeconv.c: New file.
18793         * m4/localeconv.m4: New file.
18794         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
18795         REPLACE_LOCALECONV.
18796         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
18797         REPLACE_LOCALECONV.
18798         * modules/localeconv: New file.
18799         * modules/nl_langinfo (Depends-on): Add localeconv.
18800         * modules/human (Depends-on): Likewise.
18801         * doc/posix-functions/localeconv.texi: Mention the new module.
18803 2012-03-25  Bruno Haible  <bruno@clisp.org>
18805         locale: Provide a complete 'struct lconv'.
18806         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
18807         'struct lconv' does not contain int_p_cs_precedes.
18808         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
18809         * doc/posix-headers/locale.texi: Update.
18811         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
18812         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
18813         * doc/posix-headers/locale.texi: Update.
18815         locale: Provide a working 'struct lconv'.
18816         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
18817         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
18818         'struct lconv' does not even contain decimal_point.
18819         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
18820         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
18821         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
18822         * doc/posix-headers/locale.texi: Mention the problems with
18823         'struct lconv'.
18824         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
18826 2012-03-24  Bruno Haible  <bruno@clisp.org>
18828         Enable common subexpression optimization in GCC.
18829         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
18830         macros.
18831         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
18832         GCC attribute 'const'.
18833         (uc_locale_language): Declare with GCC attribute 'pure'.
18834         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
18835         with GCC attribute 'const'.
18836         * lib/unictype.in.h (uc_is_general_category_withtable,
18837         uc_combining_class, uc_combining_class_name,
18838         uc_combining_class_long_name, uc_bidi_class_name,
18839         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
18840         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
18841         uc_decimal_value, uc_digit_value, uc_numeric_value,
18842         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
18843         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
18844         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
18845         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
18846         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
18847         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
18848         Declare with GCC attribute 'const'.
18849         (uc_general_category_name, uc_general_category_long_name,
18850         uc_general_category_byname, uc_general_category,
18851         uc_is_general_category, uc_combining_class_byname,
18852         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
18853         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
18854         Declare with GCC attribute 'pure'.
18855         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
18856         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
18857         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
18858         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
18859         with GCC attribute 'pure'.
18860         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
18861         'const'.
18862         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
18863         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
18864         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
18865         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
18866         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
18867         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
18868         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
18869         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
18870         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
18871         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
18872         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
18873         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
18874         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
18875         GCC attribute 'pure'.
18876         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
18877         'const'.
18878         * lib/uniwidth.in.h (uc_width): Simplify declaration.
18879         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
18880         u32_strwidth): Declare with GCC attribute 'pure'.
18882         Enable common subexpression optimization in GCC.
18883         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
18884         (alphasort): Declare with GCC attribute 'pure'.
18885         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
18886         (atoll): Declare with GCC attribute 'pure'.
18887         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
18888         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
18889         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
18890         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
18891         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
18892         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
18893         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
18895 2012-03-24  Bruno Haible  <bruno@clisp.org>
18897         gnulib-tool: Avoid unintended error output from 'cmp'.
18898         * gnulib-tool (func_add_file, func_update_file, func_import): Use
18899         "cmp -s", not "cmp > /dev/null".
18901 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
18903         gnulib-tool: fix imprecise comments w.r.t. an automake bug
18905         It's not just Automake versions < 1.9b that creates an empty
18906         pkgdatadir at installation time if pkgdata_DATA is specified
18907         to empty; modern automake versions do this as well, at least
18908         until automake 1.11.4 (not yet released at the moment of writing,
18909         but soon to appear).  That behaviour was generally considered a
18910         feature rather than a bug, at least until this discussion:
18911         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
18913         See also automake bugs #10997 and #11030.
18915         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
18916         reference to relevant automake bug numbers.
18917         (func_emit_tests_Makefile_am): Likewise.
18919 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
18921         announce-gen: use Digest::SHA when possible
18922         * build-aux/announce-gen: Use Digest::SHA when possible, falling
18923         back to Digest::SHA1 if necessary.
18925 2012-03-20  Jim Meyering  <meyering@redhat.com>
18927         tests: avoid gcc warnings about argv vs. const initializers
18928         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
18929         warnings about discarding 'const' qualifier from pointer target type.
18930         * tests/test-posix_spawn2.c (main): Likewise.
18932 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
18934         README-release: simplify slightly
18935         * top/README-release: Run "git checkout master" only once.
18937 2012-03-15  Mark Wielaard  <mark@klomp.org>
18939         git-merge-changelog: add specific example on how to use with hg.
18940         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
18942 2012-03-18  Mark Wielaard  <mark@klomp.org>
18944         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
18946 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
18948         git-version-gen: don't let "prefix" envvar cause trouble
18949         * build-aux/git-version-gen (prefix): Initialize properly,
18950         so as not to use a value specified via the environment.
18951         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
18953 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
18955         regex: diagnose too-large repeat counts in EREs
18956         Previously, the code did not diagnose the too-large repeat count
18957         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
18958         as if it were 'b\{1000000000}', which is unexpected.
18959         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
18960         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
18961         is a reasonable one for this problem.  Another option would be to
18962         create a new REG_OVERFLOW error for repeat counts that are too large.
18963         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
18964         count is too large, so that the caller can distinguish the two cases.
18965         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
18966         "Too large" return code, and that repeat counts are one example of this.
18968 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
18970         doc: some glibc x32 integer width issues
18971         * doc/posix-headers/sys_types.texi (sys/types.h):
18972         * doc/posix-headers/time.texi (time.h):
18973         Mention that glibc x32 does not conform to POSIX in a couple of
18974         areas related to integer widths.
18976 2012-03-15  Bruno Haible  <bruno@clisp.org>
18978         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
18979         * lib/fma.c (VOLATILE): New macro.
18980         (FUNC): Use it to work around a GCC compiler bug.
18982 2012-03-13  Bruno Haible  <bruno@clisp.org>
18984         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
18985         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
18986         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
18987         REPLACE_HYPOTL to 1.
18988         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
18990 2012-03-13  Bruno Haible  <bruno@clisp.org>
18992         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
18993         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
18994         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
18995         REPLACE_REMAINDERL to 1.
18996         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
18997         bug.
18999 2012-03-13  Bruno Haible  <bruno@clisp.org>
19001         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
19002         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
19003         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
19004         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
19005         too big rounding errors.
19006         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
19007         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
19008         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
19009         (Depends-on): Update conditions.
19010         * tests/test-sqrtl.c (my_ldexpl): New function.
19011         (main): Add test of a particular value.
19012         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
19014 2012-03-13  Pádraig Brady  <P@draigBrady.com>
19016         doc: Update timer_* platform portability notes.
19017         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
19018         that always return ENOSYS.
19019         * doc/posix-functions/timer_delete.texi: Likewise.
19020         * doc/posix-functions/timer_gettime.texi: Likewise.
19021         * doc/posix-functions/timer_settime.texi: Likewise.
19023 2012-03-13  Bruno Haible  <bruno@clisp.org>
19025         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
19026         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
19027         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
19028         REPLACE_CBRTL to 1.
19029         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
19031 2012-03-13  Bruno Haible  <bruno@clisp.org>
19033         remainderl: Avoid compilation error on AIX >= 5.2.
19034         * lib/math.in.h (remainderl): Undefine macro from the system header.
19036 2012-03-13  Bruno Haible  <bruno@clisp.org>
19038         Avoid compilation errors with MSVC option -fp:strict.
19039         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
19040         * lib/cbrtf.c: Likewise.
19041         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
19043 2012-03-12  Bruno Haible  <bruno@clisp.org>
19045         uninorm: Don't crash in out-of-memory conditions.
19046         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
19047         gracefully.
19048         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
19049         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
19051 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
19053         quote: fix syntax-check
19054         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
19055         also exports quote_quoting_options.
19057 2012-03-12  Simon Josefsson  <simon@josefsson.org>
19059         Collapse list of copyright years to ranges.  See
19060         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
19061         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
19062         build-aux/csharpexec.sh.in, build-aux/gnupload,
19063         build-aux/install-reloc, build-aux/javacomp.sh.in,
19064         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
19065         build-aux/move-if-change, build-aux/reloc-ldflags,
19066         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
19068 2012-03-11  Bruno Haible  <bruno@clisp.org>
19070         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
19071         * m4/log2f-ieee.m4: New file.
19072         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
19073         whether log2f works with a minus zero argument. Replace it if not.
19074         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
19075         (Depends-on): Add log2-ieee.
19076         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
19077         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
19079         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
19080         * m4/log2-ieee.m4: New file.
19081         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
19082         whether log2 works with a minus zero argument. Replace it if not.
19083         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
19084         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
19085         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
19087         Tests for module 'log2l-ieee'.
19088         * modules/log2l-ieee-tests: New file.
19089         * tests/test-log2l-ieee.c: New file.
19091         New module 'log2l-ieee'.
19092         * modules/log2l-ieee: New file.
19094         Tests for module 'log2-ieee'.
19095         * modules/log2-ieee-tests: New file.
19096         * tests/test-log2-ieee.c: New file.
19098         New module 'log2-ieee'.
19099         * modules/log2-ieee: New file.
19101         Tests for module 'log2f-ieee'.
19102         * modules/log2f-ieee-tests: New file.
19103         * tests/test-log2f-ieee.c: New file.
19104         * tests/test-log2-ieee.h: New file.
19106         New module 'log2f-ieee'.
19107         * modules/log2f-ieee: New file.
19109 2012-03-11  Bruno Haible  <bruno@clisp.org>
19111         Tests for module 'log2l'.
19112         * modules/log2l-tests: New file.
19113         * tests/test-log2l.c: New file.
19115         New module 'log2l'.
19116         * lib/math.in.h (log2l): New declaration.
19117         * lib/log2l.c: New file.
19118         * m4/log2l.m4: New file.
19119         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
19120         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
19121         REPLACE_LOG2L.
19122         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
19123         REPLACE_LOG2L.
19124         * modules/log2l: New file.
19125         * tests/test-math-c++.cc: Check the declaration of log2l.
19126         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
19127         and OSF/1 problems.
19129 2012-03-11  Bruno Haible  <bruno@clisp.org>
19131         Tests for module 'log2f'.
19132         * modules/log2f-tests: New file.
19133         * tests/test-log2f.c: New file.
19135         New module 'log2f'.
19136         * lib/math.in.h (log2f): New declaration.
19137         * lib/log2f.c: New file.
19138         * m4/log2f.m4: New file.
19139         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
19140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
19141         REPLACE_LOG2F.
19142         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
19143         REPLACE_LOG2F.
19144         * modules/log2f: New file.
19145         * tests/test-math-c++.cc: Check the declaration of log2f.
19146         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
19147         and OSF/1 and Cygwin problems.
19149 2012-03-11  Bruno Haible  <bruno@clisp.org>
19151         Tests for module 'log2'.
19152         * modules/log2-tests: New file.
19153         * tests/test-log2.c: New file.
19154         * tests/test-log2.h: New file.
19156         New module 'log2'.
19157         * lib/math.in.h (log2): New declaration.
19158         * lib/log2.c: New file.
19159         * m4/log2.m4: New file.
19160         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
19161         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
19162         REPLACE_LOG2.
19163         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
19164         REPLACE_LOG2.
19165         * modules/log2: New file.
19166         * tests/test-math-c++.cc: Check the declaration of log2.
19167         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
19168         and OSF/1 and Cygwin problems.
19170 2012-03-11  Bruno Haible  <bruno@clisp.org>
19172         exp2* tests: More tests.
19173         * tests/test-exp2.h (test_function): Test all integral arguments that
19174         don't need to overflow or denormalized numbers.
19175         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
19176         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
19177         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
19179 2012-03-10  Bruno Haible  <bruno@clisp.org>
19181         log1pl-ieee: Work around test failure on AIX 7.1.
19182         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
19184         log1pl-ieee: Work around test failure on IRIX 6.5.
19185         * m4/log1pl-ieee.m4: New file.
19186         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
19187         test whether log1pl works with a minus zero argument. Replace it if
19188         not.
19189         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
19190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
19191         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
19192         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
19193         (Depends-on): Update conditions.
19194         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
19195         m4/signbit.m4.
19196         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
19197         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
19199         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
19200         * m4/log1pf-ieee.m4: New file.
19201         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
19202         test whether log1pf works with a minus zero argument. Replace it if
19203         not.
19204         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
19205         m4/signbit.m4.
19206         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
19207         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
19209         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
19210         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
19211         (configure.ac): Require gl_FUNC_LOG1PF.
19213         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
19214         * m4/log1p-ieee.m4: New file.
19215         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
19216         whether log1p works with a minus zero argument. Replace it if not.
19217         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
19218         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
19219         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
19220         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
19221         (Depends-on): Update conditions.
19222         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
19223         m4/signbit.m4.
19224         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
19225         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
19227         Tests for module 'log1pl-ieee'.
19228         * modules/log1pl-ieee-tests: New file.
19229         * tests/test-log1pl-ieee.c: New file.
19231         New module 'log1pl-ieee'.
19232         * modules/log1pl-ieee: New file.
19234         Tests for module 'log1p-ieee'.
19235         * modules/log1p-ieee-tests: New file.
19236         * tests/test-log1p-ieee.c: New file.
19238         New module 'log1p-ieee'.
19239         * modules/log1p-ieee: New file.
19241         Tests for module 'log1pf-ieee'.
19242         * modules/log1pf-ieee-tests: New file.
19243         * tests/test-log1pf-ieee.c: New file.
19244         * tests/test-log1p-ieee.h: New file.
19246         New module 'log1pf-ieee'.
19247         * modules/log1pf-ieee: New file.
19249 2012-03-10  Bruno Haible  <bruno@clisp.org>
19251         Tests for module 'log1pl'.
19252         * modules/log1pl-tests: New file.
19253         * tests/test-log1pl.c: New file.
19255         New module 'log1pl'.
19256         * lib/math.in.h (log1pl): New declaration.
19257         * lib/log1pl.c: New file.
19258         * m4/log1pl.m4: New file.
19259         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
19260         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
19261         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
19262         * modules/log1pl: New file.
19263         * tests/test-math-c++.cc: Check the declaration of log1pl.
19264         * doc/posix-functions/log1pl.texi: Mention the new module.
19266 2012-03-10  Bruno Haible  <bruno@clisp.org>
19268         Tests for module 'log1pf'.
19269         * modules/log1pf-tests: New file.
19270         * tests/test-log1pf.c: New file.
19272         New module 'log1pf'.
19273         * lib/math.in.h (log1pf): New declaration.
19274         * lib/log1pf.c: New file.
19275         * m4/log1pf.m4: New file.
19276         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
19277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
19278         REPLACE_LOG1PF.
19279         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
19280         REPLACE_LOG1PF.
19281         * modules/log1pf: New file.
19282         * tests/test-math-c++.cc: Check the declaration of log1pf.
19283         * doc/posix-functions/log1pf.texi: Mention the new module.
19285 2012-03-10  Bruno Haible  <bruno@clisp.org>
19287         log1p tests: More tests.
19288         * tests/test-log1p.h: New file.
19289         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
19290         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
19291         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
19292         (main): Invoke test_function.
19294         log1p: Provide replacement for Minix and MSVC.
19295         * lib/math.in.h (log1p): New declaration.
19296         * lib/log1p.c: New file.
19297         * m4/log1p.m4: New file.
19298         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
19299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
19300         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
19301         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
19302         (Depends-on): Add math, isnand, log, round.
19303         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
19304         HAVE_LOG1P is 0.
19305         * tests/test-math-c++.cc: Check the declaration of log1p.
19306         * doc/posix-functions/log1p.texi: Mention the replacement.
19308 2012-03-10  Bruno Haible  <bruno@clisp.org>
19310         math tests: Small simplification.
19311         * tests/test-exp.h (test_function): Use the same err_bound for
19312         'double' on platforms with sizeof (long double) == sizeof (double)
19313         than on platforms with sizeof (long double) > sizeof (double).
19314         * tests/test-exp2.h (test_function): Likewise.
19315         * tests/test-expm1.h (test_function): Likewise.
19316         * tests/test-log.h (test_function): Likewise.
19318 2012-03-10  Bruno Haible  <bruno@clisp.org>
19320         Fix some comments.
19321         * lib/expl.c: Fix an ambiguous comment.
19322         * lib/expm1.c: Likewise.
19323         * lib/expm1l.c: Likewise.
19324         * lib/exp2.c: Likewise.
19325         * lib/exp2l.c: Likewise.
19327 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
19329         regex: allow inclusion of <regex.h> before <limits.h>
19330         Without this patch, portable programs had to include <limits.h> before
19331         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
19332         I ran into this problem with a test version of GNU grep on Solaris 8.
19333         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
19334         This is done conditionally so that this change can be merged
19335         back to glibc.
19336         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
19337         using the included regex.
19339         fts: depend on fdopendir
19340         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
19341         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
19342         problem was introduced when fdopendir was split out.
19344 2012-03-10  Bruno Haible  <bruno@clisp.org>
19346         Remove unused variables.
19347         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
19348         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
19350 2012-03-10  Bruno Haible  <bruno@clisp.org>
19352         isnanf-nolibm: Fix last commit.
19353         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
19355         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
19356         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
19358 2012-03-10  Bruno Haible  <bruno@clisp.org>
19360         logf-ieee: Work around test failure on NetBSD 5.1.
19361         * m4/logf-ieee.m4: New file.
19362         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
19363         whether logf works with a negative argument. Replace it if not.
19364         * lib/logf.c (logf): For negative arguments, return NaN.
19365         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
19366         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
19367         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
19369         logf-ieee: Work around test failure on Solaris 9.
19370         * modules/logf-ieee (Depends-on): Add log-ieee.
19371         (configure.ac): Require gl_FUNC_LOGF.
19373         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
19374         * m4/log-ieee.m4: New file.
19375         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
19376         log works with a negative argument. Replace it if not.
19377         * lib/log.c (log): For negative arguments, return NaN.
19378         * modules/log-ieee (Files): Add m4/log-ieee.m4.
19379         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
19380         * doc/posix-functions/log.texi: Mention the log-ieee module.
19382         Tests for module 'logl-ieee'.
19383         * modules/logl-ieee-tests: New file.
19384         * tests/test-logl-ieee.c: New file.
19386         New module 'logl-ieee'.
19387         * modules/logl-ieee: New file.
19389         Tests for module 'log-ieee'.
19390         * modules/log-ieee-tests: New file.
19391         * tests/test-log-ieee.c: New file.
19393         New module 'log-ieee'.
19394         * modules/log-ieee: New file.
19396         Tests for module 'logf-ieee'.
19397         * modules/logf-ieee-tests: New file.
19398         * tests/test-logf-ieee.c: New file.
19399         * tests/test-log-ieee.h: New file.
19401         New module 'logf-ieee'.
19402         * modules/logf-ieee: New file.
19404 2012-03-10  Bruno Haible  <bruno@clisp.org>
19406         log: Fix bug introduced on 2012-03-09.
19407         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
19409 2012-03-10  Pádraig Brady  <P@draigBrady.com>
19411         timer-time: link explicitly with pthreads on glibc
19412         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
19413         to support static linking, when newer glibc is
19414         detected, as that contains pthread emulation of
19415         POSIX timer functions where required.
19416         * modules/timer-time: Depend on threadlib to
19417         pull in the appropriate library to link.
19419 2012-03-10  Bruno Haible  <bruno@clisp.org>
19421         log* tests: More tests.
19422         * tests/test-log.h: New file.
19423         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
19424         (main): Invoke test_function.
19425         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
19426         (main): Invoke test_function.
19427         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
19428         (main): Invoke test_function.
19429         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
19430         tests/randomd.c.
19431         (Makefile.am): Add randomd.c to test_log_SOURCES.
19432         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
19433         tests/randomf.c.
19434         (Makefile.am): Add randomf.c to test_logf_SOURCES.
19435         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
19436         tests/randoml.c.
19437         (Depends-on): Add 'float'.
19438         (Makefile.am): Add randoml.c to test_logl_SOURCES.
19440 2012-03-09  Bruno Haible  <bruno@clisp.org>
19442         logl: Work around OSF/1 5.1 bug.
19443         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
19444         * lib/logl.c (logl): If logl exists, use it and provide just the
19445         workaround.
19446         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
19447         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
19448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
19449         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
19450         * modules/logl (configure.ac): Consider REPLACE_LOGL.
19451         (Depends-on): Update conditions.
19452         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
19454 2012-03-09  Bruno Haible  <bruno@clisp.org>
19456         logf: Work around OSF/1 5.1 bug.
19457         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
19458         * lib/logf.c (logf): If logf exists, use it and provide just the
19459         workaround.
19460         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
19461         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
19462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
19463         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
19464         * modules/logf (configure.ac): Consider REPLACE_LOGF.
19465         (Depends-on): Update conditions.
19466         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
19468 2012-03-09  Bruno Haible  <bruno@clisp.org>
19470         log: Work around OSF/1 5.1 bug.
19471         * lib/math.in.h (log): New declaration.
19472         * lib/log.c: New file.
19473         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
19474         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
19475         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
19476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
19477         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
19478         * modules/log (Files): Add lib/log.c.
19479         (Depends-on): Add math.
19480         (configure.ac): If REPLACE_LOG is 1, compile an override.
19481         * tests/test-math-c++.cc: Check the declaration of log.
19482         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
19484 2012-03-09  Jim Meyering  <meyering@redhat.com>
19486         readtokens.c: adjust wording in a comment
19487         * lib/readtokens.c: Insert omitted "that" in a comment.
19489 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19491         modechange: add notations +40, 00440, etc.
19492         * lib/modechange.c (mode_compile): Support new notations
19493         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
19495 2012-03-08  Bruno Haible  <bruno@clisp.org>
19497         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
19498         * m4/exp2l-ieee.m4: New file.
19499         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
19500         test whether exp2l works with a NaN argument and with a negative
19501         infinity argument. Replace it if not.
19502         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
19503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
19504         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
19505         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
19506         (Depends-on): Update conditions.
19507         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
19508         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
19509         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
19511         Tests for module 'exp2l-ieee'.
19512         * modules/exp2l-ieee-tests: New file.
19513         * tests/test-exp2l-ieee.c: New file.
19515         New module 'exp2l-ieee'.
19516         * modules/exp2l-ieee: New file.
19518         Tests for module 'exp2-ieee'.
19519         * modules/exp2-ieee-tests: New file.
19520         * tests/test-exp2-ieee.c: New file.
19522         New module 'exp2-ieee'.
19523         * modules/exp2-ieee: New file.
19525         Tests for module 'exp2f-ieee'.
19526         * modules/exp2f-ieee-tests: New file.
19527         * tests/test-exp2f-ieee.c: New file.
19528         * tests/test-exp2-ieee.h: New file.
19530         New module 'exp2f-ieee'.
19531         * modules/exp2f-ieee: New file.
19533 2012-03-08  Bruno Haible  <bruno@clisp.org>
19535         Tests for module 'exp2l'.
19536         * modules/exp2l-tests: New file.
19537         * tests/test-exp2l.c: New file.
19539         New module 'exp2l'.
19540         * lib/math.in.h (exp2l): New declaration.
19541         * lib/exp2l.c: New file.
19542         * lib/expl-table.c: New file, extracted from lib/expl.c.
19543         * lib/expl.c (gl_expl_table): New declaration.
19544         (expl): Remove expl_table. Update reference.
19545         * m4/exp2l.m4: New file.
19546         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
19547         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
19548         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
19549         * modules/exp2l: New file.
19550         * modules/expl (Files): Add lib/expl-table.c.
19551         (configure.ac): Compile also expl-table.c.
19552         * tests/test-math-c++.cc: Check the declaration of exp2l.
19553         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
19554         problem.
19556 2012-03-08  Bruno Haible  <bruno@clisp.org>
19558         Tests for module 'exp2f'.
19559         * modules/exp2f-tests: New file.
19560         * tests/test-exp2f.c: New file.
19562         New module 'exp2f'.
19563         * lib/math.in.h (exp2f): New declaration.
19564         * lib/exp2f.c: New file.
19565         * m4/exp2f.m4: New file.
19566         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
19567         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
19568         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
19569         * modules/exp2f: New file.
19570         * tests/test-math-c++.cc: Check the declaration of exp2f.
19571         * doc/posix-functions/exp2f.texi: Mention the new module and the
19572         IRIX problem.
19574 2012-03-08  Bruno Haible  <bruno@clisp.org>
19576         Tests for module 'exp2'.
19577         * modules/exp2-tests: New file.
19578         * tests/test-exp2.c: New file.
19579         * tests/test-exp2.h: New file.
19581         New module 'exp2'.
19582         * lib/math.in.h (exp2): New declaration.
19583         * lib/exp2.c: New file.
19584         * m4/exp2.m4: New file.
19585         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
19586         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
19587         REPLACE_EXP2.
19588         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
19589         REPLACE_EXP2.
19590         * modules/exp2: New file.
19591         * tests/test-math-c++.cc: Check the declaration of exp2.
19592         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
19593         and OpenBSD problems.
19595 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19597         savedir: fix comment typo
19598         * lib/savedir.c (savedirstream): Fix typo in comment.
19600 2012-03-08  Bruno Haible  <bruno@clisp.org>
19602         test-readtokens.c: use const; remove unwarranted cast
19603         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
19605 2012-03-08  Bruno Haible  <bruno@clisp.org>
19607         fmal: Avoid compilation error on AIX.
19608         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
19609         AIX 5.2..7.1.
19611 2012-03-08  Bruno Haible  <bruno@clisp.org>
19613         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
19614         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
19615         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
19616         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
19617         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
19618         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
19619         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
19621 2012-03-08  Bruno Haible  <bruno@clisp.org>
19623         remainderf: Override buggy system function on IRIX 6.5.
19624         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
19625         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
19626         when it exists.
19627         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
19629 2012-03-08  Jim Meyering  <meyering@redhat.com>
19631         test-readtokens.c: avoid const-related compilation warnings
19632         * tests/test-readtokens.c: Avoid const-related compilation warnings.
19634 2012-03-07  Jim Meyering  <meyering@redhat.com>
19635             Bruno Haible  <bruno@clisp.org>
19637         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
19638         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
19639         tests/randomd.c.
19640         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
19641         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
19642         tests/randoml.c.
19643         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
19645 2012-03-07  Bruno Haible  <bruno@clisp.org>
19647         expm1l: Avoid compilation error on AIX.
19648         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
19649         AIX 5.2..7.1.
19651 2012-03-07  Bruno Haible  <bruno@clisp.org>
19653         expm1l: Don't override undeclared system function on IRIX 6.5.
19654         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
19655         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
19656         it exists. Set HAVE_DECL_EXPM1L.
19657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
19658         HAVE_EXPM1L.
19659         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
19660         HAVE_EXPM1L.
19661         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
19663 2012-03-07  Bruno Haible  <bruno@clisp.org>
19665         remainderl: Don't override undeclared system function on IRIX 6.5.
19666         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
19667         HAVE_REMAINDERL.
19668         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
19669         declared when it exists. Set HAVE_DECL_REMAINDERL.
19670         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
19671         not HAVE_REMAINDERL.
19672         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
19673         HAVE_REMAINDERL.
19674         * doc/posix-functions/remainderl.texi: Mention missing declaration
19675         problem.
19677 2012-03-07  Bruno Haible  <bruno@clisp.org>
19679         rintf: Don't override undeclared system function on IRIX 6.5.
19680         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
19681         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
19682         exists. Set HAVE_DECL_RINTF.
19683         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
19684         HAVE_RINTF.
19685         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
19686         HAVE_RINTF.
19687         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
19689 2012-03-07  Bruno Haible  <bruno@clisp.org>
19691         roundl: Avoid compilation error on AIX.
19692         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
19693         AIX 5.2..7.1.
19695 2012-03-07  Bruno Haible  <bruno@clisp.org>
19697         roundl: Don't override undeclared system function on IRIX 6.5.
19698         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
19699         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
19700         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
19701         * modules/roundl (configure.ac): For replacement code, test
19702         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
19703         (Depends-on): Update conditions.
19704         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
19706 2012-03-07  Bruno Haible  <bruno@clisp.org>
19708         roundf: Don't override undeclared system function on IRIX 6.5.
19709         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
19710         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
19711         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
19712         * modules/roundf (configure.ac): For replacement code, test
19713         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
19714         (Depends-on): Update conditions.
19715         * modules/roundf-ieee (Depends-on): Update conditions.
19716         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
19718 2012-03-07  Bruno Haible  <bruno@clisp.org>
19720         round: Don't override undeclared system function on IRIX 6.5.
19721         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
19722         argument.
19723         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
19724         also when it is not declared. Set HAVE_ROUND. For replacement code,
19725         test HAVE_ROUND, not HAVE_DECL_ROUND.
19726         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
19727         not HAVE_DECL_ROUND.
19728         (Depends-on): Update conditions.
19729         * modules/round-ieee (Depends-on): Update conditions.
19730         * doc/posix-functions/round.texi: Mention the IRIX problem.
19732 2012-03-07  Bruno Haible  <bruno@clisp.org>
19734         copysignf: Don't override undeclared system function on IRIX 6.5.
19735         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
19736         HAVE_COPYSIGNF.
19737         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
19738         declared when it exists. Set HAVE_DECL_COPYSIGNF.
19739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
19740         not HAVE_COPYSIGNF.
19741         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
19742         HAVE_COPYSIGNF.
19743         * doc/posix-functions/copysignf.texi: Mention missing declaration
19744         problem.
19746 2012-03-07  Jim Meyering  <meyering@redhat.com>
19748         readtokens: add tests
19749         * modules/readtokens-tests: New file.
19750         * tests/test-readtokens.c: New file.
19752 2012-03-07  Jim Meyering  <meyering@redhat.com>
19754         quotearg: the module must now include quote.h
19755         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
19756         So must the module.
19757         * modules/quotearg (Files): Add quote.h.
19759 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
19761         readtokens: avoid core dumps with unusual calling patterns
19762         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
19763         * lib/readtokens.c: Include limits.h.
19764         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
19765         (readtoken): Don't cache the delimiters; the cache code was buggy
19766         if !delim && saved_delim, or if the new n_delim differs from the old.
19767         Also, it wasn't thread-safe.
19769 2012-03-07  Bruno Haible  <bruno@clisp.org>
19771         quote: Adhere to common module description layout.
19772         * modules/quote (Makefile.am): Add back empty section.
19774 2012-03-06  Akim Demaille  <demaille@gostai.com>
19776         quote: fuse into quotearg
19777         This patch is made for the benefit of Bison.
19778         quote does not leave the choice of the quoting style to the user.
19779         quoting_style provides poor customizability, yet quoting_options,
19780         which is very rich, is hidden inside quotearg.c.  So in order to
19781         allow quote customization, move its implementation to quotearg.c.
19782         * lib/quote.c: Remove.
19783         * modules/quote: Adjust.
19784         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
19785         warning: provide all the members of literal structs.
19786         (quote_quoting_options): New.
19787         (quote, quote_n): Import implementation from quote.c.
19788         * lib/quote.h: Import the comments from quote.c.
19789         (quote_quoting_options): New.
19791 2012-03-06  Bruno Haible  <bruno@clisp.org>
19793         Tests for module 'expm1l-ieee'.
19794         * modules/expm1l-ieee-tests: New file.
19795         * tests/test-expm1l-ieee.c: New file.
19797         New module 'expm1l-ieee'.
19798         * modules/expm1l-ieee: New file.
19800         Tests for module 'expm1f-ieee'.
19801         * modules/expm1f-ieee-tests: New file.
19802         * tests/test-expm1f-ieee.c: New file.
19804         New module 'expm1f-ieee'.
19805         * modules/expm1f-ieee: New file.
19807         Tests for module 'expm1-ieee'.
19808         * modules/expm1-ieee-tests: New file.
19809         * tests/test-expm1-ieee.c: New file.
19810         * tests/test-expm1-ieee.h: New file.
19812         New module 'expm1-ieee'.
19813         * modules/expm1-ieee: New file.
19814         * m4/expm1-ieee.m4: New file.
19815         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
19816         whether expm1 works with a minus zero argument. Replace it if not.
19817         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
19818         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
19819         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
19820         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
19821         (Depends-on): Update conditions.
19822         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
19823         AIX problem.
19825 2012-03-06  Bruno Haible  <bruno@clisp.org>
19827         Work around expm1f bug on IRIX 6.5.
19828         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
19829         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
19830         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
19831         not work.
19832         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
19833         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
19834         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
19835         (Depends-on): Update conditions.
19836         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
19838 2012-03-06  Bruno Haible  <bruno@clisp.org>
19840         Tests for module 'expm1l'.
19841         * modules/expm1l-tests: New file.
19842         * tests/test-expm1l.c: New file.
19844         New module 'expm1l'.
19845         * lib/math.in.h (expm1l): New declaration.
19846         * lib/expm1l.c: New file.
19847         * m4/expm1l.m4: New file.
19848         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
19849         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
19850         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
19851         * modules/expm1l: New file.
19852         * tests/test-math-c++.cc: Check the declaration of expm1l.
19853         * doc/posix-functions/expm1l.texi: Mention the new module.
19855 2012-03-06  Bruno Haible  <bruno@clisp.org>
19857         Tests for module 'expm1f'.
19858         * modules/expm1f-tests: New file.
19859         * tests/test-expm1f.c: New file.
19861         New module 'expm1f'.
19862         * lib/math.in.h (expm1f): New declaration.
19863         * lib/expm1f.c: New file.
19864         * m4/expm1f.m4: New file.
19865         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
19866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
19867         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
19868         * modules/expm1f: New file.
19869         * tests/test-math-c++.cc: Check the declaration of expm1f.
19870         * doc/posix-functions/expm1f.texi: Mention the new module.
19872 2012-03-06  Bruno Haible  <bruno@clisp.org>
19874         Tests for module 'expm1'.
19875         * modules/expm1-tests: New file.
19876         * tests/test-expm1.c: New file.
19877         * tests/test-expm1.h: New file.
19879         New module 'expm1'.
19880         * lib/math.in.h (expm1): New declaration.
19881         * lib/expm1.c: New file.
19882         * m4/expm1.m4: New file.
19883         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
19884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
19885         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
19886         * modules/expm1: New file.
19887         * tests/test-math-c++.cc: Check the declaration of expm1.
19888         * doc/posix-functions/expm1.texi: Mention the new module.
19890 2012-03-06  Bruno Haible  <bruno@clisp.org>
19892         math: Ensure declarations of math functions.
19893         * modules/acosf (Depends-on): Add 'extensions'.
19894         * modules/asinf (Depends-on): Likewise.
19895         * modules/atan2f (Depends-on): Likewise.
19896         * modules/atanf (Depends-on): Likewise.
19897         * modules/cbrt (Depends-on): Likewise.
19898         * modules/cbrtf (Depends-on): Likewise.
19899         * modules/cbrtl (Depends-on): Likewise.
19900         * modules/copysignf (Depends-on): Likewise.
19901         * modules/copysignl (Depends-on): Likewise.
19902         * modules/cosf (Depends-on): Likewise.
19903         * modules/coshf (Depends-on): Likewise.
19904         * modules/expf (Depends-on): Likewise.
19905         * modules/fabsf (Depends-on): Likewise.
19906         * modules/fabsl (Depends-on): Likewise.
19907         * modules/fmaf (Depends-on): Likewise.
19908         * modules/fmal (Depends-on): Likewise.
19909         * modules/fmodf (Depends-on): Likewise.
19910         * modules/fmodl (Depends-on): Likewise.
19911         * modules/frexpf (Depends-on): Likewise.
19912         * modules/frexpl (Depends-on): Likewise.
19913         * modules/hypot (Depends-on): Likewise.
19914         * modules/hypotf (Depends-on): Likewise.
19915         * modules/hypotl (Depends-on): Likewise.
19916         * modules/ldexpf (Depends-on): Likewise.
19917         * modules/ldexpl (Depends-on): Likewise.
19918         * modules/log10f (Depends-on): Likewise.
19919         * modules/log10l (Depends-on): Likewise.
19920         * modules/log1p (Depends-on): Likewise.
19921         * modules/logb (Depends-on): Likewise.
19922         * modules/logf (Depends-on): Likewise.
19923         * modules/modff (Depends-on): Likewise.
19924         * modules/modfl (Depends-on): Likewise.
19925         * modules/powf (Depends-on): Likewise.
19926         * modules/remainderf (Depends-on): Likewise.
19927         * modules/remainderl (Depends-on): Likewise.
19928         * modules/rintf (Depends-on): Likewise.
19929         * modules/rintl (Depends-on): Likewise.
19930         * modules/sinf (Depends-on): Likewise.
19931         * modules/sinhf (Depends-on): Likewise.
19932         * modules/sqrtf (Depends-on): Likewise.
19933         * modules/tanf (Depends-on): Likewise.
19934         * modules/tanhf (Depends-on): Likewise.
19935         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
19936         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
19937         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
19938         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
19939         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
19940         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
19941         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
19942         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
19943         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
19944         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
19945         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
19946         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
19947         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
19948         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
19949         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
19950         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
19951         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
19952         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
19953         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
19954         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
19955         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
19956         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
19957         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
19958         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
19959         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
19960         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
19961         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
19962         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
19963         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
19964         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
19965         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
19966         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
19967         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
19968         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
19969         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
19970         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
19971         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
19972         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
19973         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
19974         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
19975         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
19977 2012-03-06  Bruno Haible  <bruno@clisp.org>
19979         math: Update module names in warnings.
19980         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
19981         tanl): Use specific module name in warn-on-use warning.
19983 2012-03-06  Bruno Haible  <bruno@clisp.org>
19985         expl: Simplify computation.
19986         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
19988 2012-03-05  Bruno Haible  <bruno@clisp.org>
19990         exp* tests: More tests.
19991         * tests/test-exp.h: New file.
19992         * tests/test-exp.c: Include <float.h> and test-exp.h.
19993         (main): Invoke test_function.
19994         * tests/test-expf.c: Include <float.h> and test-exp.h.
19995         (main): Invoke test_function.
19996         * tests/test-expl.c: Include <float.h> and test-exp.h.
19997         (main): Invoke test_function.
19998         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
19999         (Makefile.am): Add randomd.c to test_exp_SOURCES.
20000         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
20001         (Makefile.am): Add randomf.c to test_expf_SOURCES.
20002         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
20003         (Depends-on): Add 'float'.
20004         (Makefile.am): Add randoml.c to test_expl_SOURCES.
20006         expl: Fix precision of computed result.
20007         * lib/expl.c: Completely rewritten.
20008         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
20009         (Maintainer): Add me.
20010         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
20012 2012-03-05  Bruno Haible  <bruno@clisp.org>
20014         cbrt* tests: More tests.
20015         * tests/test-cbrt.h: New file.
20016         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
20017         (main): Invoke test_function.
20018         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
20019         (main): Invoke test_function.
20020         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
20021         (main): Invoke test_function.
20022         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
20023         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
20024         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
20025         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
20026         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
20027         (Depends-on): Add 'float'.
20028         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
20030 2012-03-05  Bruno Haible  <bruno@clisp.org>
20032         hypot* tests: More tests.
20033         * tests/test-hypot.h: New file, partially extracted from
20034         tests/test-hypotl.c.
20035         * tests/test-hypot.c: Include test-hypot.h.
20036         (main): Invoke test_function.
20037         * tests/test-hypotf.c: Include test-hypot.h.
20038         (main): Invoke test_function.
20039         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
20040         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
20041         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
20042         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
20043         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
20044         tests/randomf.c.
20045         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
20046         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
20047         tests/randoml.c.
20048         (Depends-on): Add 'fpucw', 'float'.
20049         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
20051 2012-03-05  Bruno Haible  <bruno@clisp.org>
20053         fpucw: Doc about FreeBSD.
20054         * lib/fpucw.h: Mention FreeBSD in comments.
20056 2012-03-04  Bruno Haible  <bruno@clisp.org>
20058         sqrt* tests: More tests.
20059         * tests/test-sqrt.h: New file.
20060         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
20061         (main): Invoke test_function.
20062         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
20063         (main): Invoke test_function.
20064         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
20065         (main): Invoke test_function.
20066         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
20067         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
20068         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
20069         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
20070         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
20071         (Depends-on): Add 'float'.
20072         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
20074 2012-03-04  Bruno Haible  <bruno@clisp.org>
20076         remainder* tests: More tests.
20077         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
20078         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
20079         (main): Invoke test_function.
20080         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
20081         (main): Invoke test_function.
20082         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
20083         (main): Invoke test_function.
20084         * modules/remainder-tests (Files): Add tests/test-remainder.h,
20085         tests/randomd.c.
20086         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
20087         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
20088         tests/randomf.c.
20089         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
20090         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
20091         tests/randoml.c.
20092         (Depends-on): Add 'float'.
20093         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
20095 2012-03-04  Bruno Haible  <bruno@clisp.org>
20097         remainder, remainderf, remainderl: Fix computation for large quotients.
20098         * lib/remainder.c: Completely rewritten.
20099         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
20100         USE_FLOAT.
20101         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
20102         USE_LONG_DOUBLE.
20103         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
20104         isnand, isinf. Remove round, fma.
20105         * modules/remainderf (Files): Add lib/remainder.c.
20106         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
20107         Remove roundf, fmaf.
20108         * modules/remainderl (Files): Add lib/remainder.c.
20109         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
20110         isinf. Remove roundl, fmal.
20111         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
20112         REMAINDER_LIBM.
20113         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
20114         REMAINDERF_LIBM.
20115         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
20116         REMAINDERL_LIBM.
20118 2012-03-04  Bruno Haible  <bruno@clisp.org>
20120         fmod* tests: More tests.
20121         * tests/test-fmod.h (my_ldexp): New function.
20122         (test_function): Reduce amount of random numbers to test. Add tests
20123         of very large quotients x / y.
20124         * tests/test-fmod.c (MAX_EXP): New macro.
20125         * tests/test-fmodf.c (MAX_EXP): Likewise.
20126         * tests/test-fmodl.c (MAX_EXP): Likewise.
20128 2012-03-04  Bruno Haible  <bruno@clisp.org>
20130         fmod, fmodl: Fix computation for large quotients x / y.
20131         * lib/fmod.c: Completely rewritten.
20132         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
20133         USE_LONG_DOUBLE.
20134         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
20135         isnand. Remove fma.
20136         * modules/fmodl (Files): Add lib/fmod.c.
20137         (Depends-on): Add float, isfinite, signbit, fabsl,
20138         frexpl, ldexpl, isnanl. Remove fma.
20139         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
20140         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
20142 2012-03-03  Bruno Haible  <bruno@clisp.org>
20144         fmod* tests: More tests.
20145         * tests/test-fmod.h: New file.
20146         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
20147         (main): Invoke test_function.
20148         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
20149         (main): Invoke test_function.
20150         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
20151         (main): Invoke test_function.
20152         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
20153         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
20154         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
20155         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
20156         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
20157         (Depends-on): Add 'float'.
20158         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
20160 2012-03-03  Bruno Haible  <bruno@clisp.org>
20162         rint* tests: More tests.
20163         * tests/test-rint.h: New file, partially extracted from
20164         tests/test-rintl.c.
20165         * tests/test-rint.c: Include test-rint.h.
20166         (main): Invoke test_function.
20167         * tests/test-rintf.c: Include test-rint.h.
20168         (main): Invoke test_function.
20169         * tests/test-rintl.c: Include test-rint.h.
20170         (main): Invoke test_function.
20171         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
20172         (Makefile.am): Add randomd.c to test_rint_SOURCES.
20173         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
20174         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
20175         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
20176         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
20178 2012-03-03  Bruno Haible  <bruno@clisp.org>
20180         modf* tests: More tests.
20181         * tests/test-modf.h: New file.
20182         * tests/test-modf.c: Include <float.h> and test-modf.h.
20183         (main): Invoke test_function.
20184         * tests/test-modff.c: Include <float.h> and test-modf.h.
20185         (main): Invoke test_function.
20186         * tests/test-modfl.c: Include <float.h> and test-modf.h.
20187         (main): Invoke test_function.
20188         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
20189         (Makefile.am): Add randomd.c to test_modf_SOURCES.
20190         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
20191         (Makefile.am): Add randomf.c to test_modff_SOURCES.
20192         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
20193         (Depends-on): Add 'float'.
20194         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
20196 2012-03-03  Bruno Haible  <bruno@clisp.org>
20198         fabs* tests: More tests.
20199         * tests/test-fabs.h: New file, partially extracted from
20200         tests/test-fabsl.c.
20201         * tests/test-fabs.c (RANDOM): New macro.
20202         * tests/test-fabsf.c (RANDOM): New macro.
20203         * tests/test-fabsl.c (RANDOM): New macro.
20204         * modules/fabs-tests (Files): Add tests/randomd.c.
20205         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
20206         * modules/fabsf-tests (Files): Add tests/randomf.c.
20207         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
20208         * modules/fabsl-tests (Files): Add tests/randoml.c.
20209         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
20211 2012-03-03  Bruno Haible  <bruno@clisp.org>
20213         ldexp* tests: More tests.
20214         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
20215         * tests/test-ldexp.c (RANDOM): New macro.
20216         * tests/test-ldexpf.c (RANDOM): New macro.
20217         * tests/test-ldexpl.c (RANDOM): New macro.
20218         * modules/ldexp-tests (Files): Add tests/randomd.c.
20219         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
20220         * modules/ldexpf-tests (Files): Add tests/randomf.c.
20221         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
20222         * modules/ldexpl-tests (Files): Add tests/randoml.c.
20223         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
20225 2012-03-03  Bruno Haible  <bruno@clisp.org>
20227         frexp* tests: More tests.
20228         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
20229         * tests/test-frexp.c (RANDOM): New macro.
20230         * tests/test-frexpf.c (RANDOM): New macro.
20231         * tests/test-frexpl.c (RANDOM): New macro.
20232         * modules/frexp-tests (Files): Add tests/randomd.c.
20233         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
20234         * modules/frexpf-tests (Files): Add tests/randomf.c.
20235         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
20236         * modules/frexpl-tests (Files): Add tests/randoml.c.
20237         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
20239 2012-03-03  Bruno Haible  <bruno@clisp.org>
20241         Support for pseudo-random numbers in tests.
20242         * tests/randomf.c: New file.
20243         * tests/randomd.c: New file.
20244         * tests/randoml.c: New file.
20245         * tests/macros.h (randomf, randomd, randoml): New declarations.
20247 2012-03-03  Bruno Haible  <bruno@clisp.org>
20249         frexp* tests: Refactor.
20250         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
20251         * tests/test-frexp.c: Include and use it.
20252         * tests/test-frexpf.c: Likewise.
20253         * tests/test-frexpl.c: Likewise.
20254         * modules/frexp-tests (Files): Add tests/test-frexp.h.
20255         * modules/frexpf-tests (Files): Likewise.
20256         * modules/frexpl-tests (Files): Likewise.
20258 2012-03-02  Jim Meyering  <meyering@redhat.com>
20260         maint: don't specify XZ_OPT=-9ev in dist-related rule
20261         Using xz's -9 option is warranted only if you have a very large
20262         tarball (see xz's documentation for the sizes vs. presets), and
20263         requires 64MiB of memory at decompression time.
20264         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
20265         Automake's default of just "-e" is fine.  Override on a
20266         per-package basis by setting XZ_OPT e.g., in cfg.mk.
20268 2012-03-01  Eric Blake  <eblake@redhat.com>
20270         maint.mk: allow announcement for non-gnulib project
20271         * maint.mk (announcement): Skip gnulib version if not used.
20273 2012-03-01  Jim Meyering  <meyering@redhat.com>
20275         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
20276         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
20277         envvar settings cannot interfere.  Otherwise, setting envvars like
20278         prohibit=foo require=bar, etc. would cause spurious test failures.
20280 2012-03-01  Eric Blake  <eblake@redhat.com>
20282         maint.mk: add per-line exclusions to prohibitions
20283         * maint.mk (_sc_search_regexp): Add $exclude parameter.
20284         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
20285         (sc_const_long_option): Use it.
20287 2012-03-01  Bruno Haible  <bruno@clisp.org>
20289         Tests for module 'expl-ieee'.
20290         * modules/expl-ieee-tests: New file.
20291         * tests/test-expl-ieee.c: New file.
20293         New module 'expl-ieee'.
20294         * modules/expl-ieee: New file.
20296         Tests for module 'exp-ieee'.
20297         * modules/exp-ieee-tests: New file.
20298         * tests/test-exp-ieee.c: New file.
20300         New module 'exp-ieee'.
20301         * modules/exp-ieee: New file.
20303         Tests for module 'expf-ieee'.
20304         * modules/expf-ieee-tests: New file.
20305         * tests/test-expf-ieee.c: New file.
20306         * tests/test-exp-ieee.h: New file.
20308         New module 'expf-ieee'.
20309         * modules/expf-ieee: New file.
20311 2012-02-29  Bruno Haible  <bruno@clisp.org>
20313         cbrtl-ieee: Work around test failure on IRIX 6.5.
20314         * m4/cbrtl-ieee.m4: New file.
20315         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
20316         test whether cbrtl works with a minus zero argument. Replace it if not.
20317         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
20318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
20319         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
20320         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
20321         (Depends-on): Update conditions.
20322         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
20323         m4/signbit.m4.
20324         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
20325         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
20326         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
20328         Tests for module 'cbrtl-ieee'.
20329         * modules/cbrtl-ieee-tests: New file.
20330         * tests/test-cbrtl-ieee.c: New file.
20332         New module 'cbrtl-ieee'.
20333         * modules/cbrtl-ieee: New file.
20335         Tests for module 'cbrt-ieee'.
20336         * modules/cbrt-ieee-tests: New file.
20337         * tests/test-cbrt-ieee.c: New file.
20339         New module 'cbrt-ieee'.
20340         * modules/cbrt-ieee: New file.
20342         Tests for module 'cbrtf-ieee'.
20343         * modules/cbrtf-ieee-tests: New file.
20344         * tests/test-cbrtf-ieee.c: New file.
20345         * tests/test-cbrt-ieee.h: New file.
20347         New module 'cbrtf-ieee'.
20348         * modules/cbrtf-ieee: New file.
20350 2012-02-29  Bruno Haible  <bruno@clisp.org>
20352         cbrtf: Work around bug in IRIX 6.5 system function.
20353         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
20354         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
20355         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
20356         work.
20357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
20358         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
20359         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
20360         (Depends-on): Update conditions.
20361         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
20363 2012-02-29  Bruno Haible  <bruno@clisp.org>
20365         Tests for module 'cbrtl'.
20366         * modules/cbrtl-tests: New file.
20367         * tests/test-cbrtl.c: New file.
20369         New module 'cbrtl'.
20370         * lib/math.in.h (cbrtl): New declaration.
20371         * lib/cbrtl.c: New file.
20372         * m4/cbrtl.m4: New file.
20373         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
20374         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
20375         HAVE_DECL_CBRTL.
20376         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
20377         HAVE_DECL_CBRTL.
20378         * modules/cbrtl: New file.
20379         * tests/test-math-c++.cc: Check the declaration of cbrtl.
20380         * doc/posix-functions/cbrtl.texi: Mention the new module.
20382 2012-02-29  Bruno Haible  <bruno@clisp.org>
20384         Tests for module 'cbrtf'.
20385         * modules/cbrtf-tests: New file.
20386         * tests/test-cbrtf.c: New file.
20388         New module 'cbrtf'.
20389         * lib/math.in.h (cbrtf): New declaration.
20390         * lib/cbrtf.c: New file.
20391         * m4/cbrtf.m4: New file.
20392         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
20393         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
20394         HAVE_DECL_CBRTF.
20395         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
20396         HAVE_DECL_CBRTF.
20397         * modules/cbrtf: New file.
20398         * tests/test-math-c++.cc: Check the declaration of cbrtf.
20399         * doc/posix-functions/cbrtf.texi: Mention the new module.
20401 2012-02-29  Bruno Haible  <bruno@clisp.org>
20403         cbrt: Provide replacement on MSVC and Minix.
20404         * lib/math.in.h (cbrt): New declaration.
20405         * lib/cbrt.c: New file.
20406         * m4/cbrt.m4: New file.
20407         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
20408         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
20409         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
20410         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
20411         (Depends-on): Add dependencies.
20412         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
20413         * tests/test-math-c++.cc: Check the declaration of cbrt.
20414         * doc/posix-functions/cbrt.texi: Mention that the module provides a
20415         replacement.
20417 2012-02-29  Bruno Haible  <bruno@clisp.org>
20419         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
20420         * m4/hypotl-ieee.m4: New file.
20421         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
20422         test whether hypotl works with mixed NaN and Infinity arguments.
20423         Replace it if not.
20424         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
20425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
20426         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
20427         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
20428         (Depends-on): Update conditions.
20429         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
20430         (Depends-on): Add hypot-ieee.
20431         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
20432         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
20434         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
20435         * m4/hypotf-ieee.m4: New file.
20436         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
20437         test whether hypotf works with mixed NaN and Infinity arguments.
20438         Replace it if not.
20439         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
20440         (Depends-on): Add hypot-ieee.
20441         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
20442         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
20444         hypot-ieee: Work around test failure on OSF/1 and native Windows.
20445         * lib/math.in.h (hypot): New declaration.
20446         * lib/hypot.c: New file.
20447         * m4/hypot-ieee.m4: New file.
20448         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
20449         whether hypot works with mixed NaN and Infinity arguments. Replace it
20450         if not.
20451         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
20452         REPLACE_HYPOT.
20453         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
20454         * modules/hypot (Files): Add lib/hypot.c.
20455         (Depends-on): Add dependencies.
20456         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
20457         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
20458         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
20459         * tests/test-math-c++.cc: Check the declaration of hypot.
20460         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
20462         Tests for module 'hypotl-ieee'.
20463         * modules/hypotl-ieee-tests: New file.
20464         * tests/test-hypotl-ieee.c: New file.
20466         New module 'hypotl-ieee'.
20467         * modules/hypotl-ieee: New file.
20469         Tests for module 'hypot-ieee'.
20470         * modules/hypot-ieee-tests: New file.
20471         * tests/test-hypot-ieee.c: New file.
20473         New module 'hypot-ieee'.
20474         * modules/hypot-ieee: New file.
20476         Tests for module 'hypotf-ieee'.
20477         * modules/hypotf-ieee-tests: New file.
20478         * tests/test-hypotf-ieee.c: New file.
20479         * tests/test-hypot-ieee.h: New file.
20481         New module 'hypotf-ieee'.
20482         * modules/hypotf-ieee: New file.
20484 2012-02-29  Bruno Haible  <bruno@clisp.org>
20486         Remove unused variables.
20487         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
20488         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
20489         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
20490         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
20492 2012-02-29  Eric Blake  <eblake@redhat.com>
20494         termios: fix pid_t always, not just for tcgetsid
20495         * doc/posix-headers/termios.texi (termios.h): Mention problem.
20496         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
20497         just when building tcgetsid.
20499 2012-02-29  Bruno Haible  <bruno@clisp.org>
20501         Tests for module 'hypotl'.
20502         * modules/hypotl-tests: New file.
20503         * tests/test-hypotl.c: New file.
20505         New module 'hypotl'.
20506         * lib/math.in.h (hypotl): New declaration.
20507         * lib/hypotl.c: New file.
20508         * m4/hypotl.m4: New file.
20509         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
20510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
20511         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
20512         * modules/hypotl: New file.
20513         * tests/test-math-c++.cc: Check the hypotl declaration.
20514         * doc/posix-functions/hypotl.texi: Mention the new module.
20516 2012-02-29  Eric Blake  <eblake@redhat.com>
20518         tcgetsid: fix cygwin header bug
20519         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
20521         docs: update cygwin progress
20522         * doc/posix-functions/llround.texi (llround): Added in cygwin
20523         1.7.8.
20524         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
20525         * doc/glibc-functions/program_invocation_name.texi
20526         (program_invocation_name): Likewise.
20527         * doc/glibc-functions/program_invocation_short_name.texi
20528         (program_invocation_short_name): Likewise.
20529         * doc/glibc-functions/madvise.texi (madvise): Likewise.
20530         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
20531         Likewise.
20532         * doc/posix-functions/pthread_spin_destroy.texi
20533         (pthread_spin_destroy): Added in cygwin 1.7.10.
20534         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
20535         Likewise.
20536         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
20537         Likewise.
20538         * doc/posix-functions/pthread_spin_trylock.texi
20539         (pthread_spin_trylock): Likewise.
20540         * doc/posix-functions/pthread_spin_unlock.texi
20541         (pthread_spin_unlock): Likewise.
20542         * doc/posix-functions/pthread_setschedprio.texi
20543         (pthread_setschedprio): Likewise.
20544         * doc/posix-functions/pthread_attr_getstack.texi
20545         (pthread_attr_getstack): Likewise.
20546         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
20547         (pthread_attr_getstackaddr): Likewise.
20548         * doc/glibc-functions/pthread_getattr_np.texi
20549         (pthread_getattr_np): Likewise.
20550         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
20551         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
20552         * doc/posix-functions/clock_settime.texi (clock_settime):
20553         Likewise.
20554         * doc/posix-functions/pthread_attr_getguardsize.texi
20555         (pthread_attr_getguardsize): Likewise.
20556         * doc/posix-functions/pthread_attr_setguardsize.texi
20557         (pthread_attr_setguardsize): Likewise.
20558         * doc/posix-functions/pthread_attr_setstack.texi
20559         (pthread_attr_setstack): Likewise.
20560         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
20561         (pthread_attr_setstackaddr): Likewise.
20562         * doc/posix-functions/clock_getcpuclockid.texi
20563         (clock_getcpuclockid): Likewise.
20564         * doc/posix-functions/pthread_getcpuclockid.texi
20565         (pthread_getcpuclockid): Likewise.
20566         * doc/glibc-functions/error.texi (error): Likewise.
20567         * doc/glibc-functions/error_at_line.texi (error_at_line):
20568         Likewise.
20569         * doc/glibc-functions/error_message_count.texi
20570         (error_message_count): Likewise.
20571         * doc/glibc-functions/error_one_per_line.texi
20572         (error_one_per_line): Likewise.
20573         * doc/glibc-functions/error_print_progname.texi
20574         (error_print_progname): Likewise.
20575         * doc/posix-functions/pthread_condattr_getclock.texi
20576         (pthread_condattr_getclock): Likewise.
20577         * doc/posix-functions/pthread_condattr_setclock.texi
20578         (pthread_condattr_setclock): Likewise.
20579         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
20580         Likewise.
20581         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
20582         * doc/glibc-functions/getpt.texi (getpt): Likewise.
20583         * doc/glibc-functions/get_current_dir_name.texi
20584         (get_current_dir_name): Likewise.
20585         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
20586         Likewise.
20587         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
20588         wrong return type.
20589         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
20590         1.7.11.
20592 2012-02-29  Bruno Haible  <bruno@clisp.org>
20594         Tests for module 'hypotf'.
20595         * modules/hypotf-tests: New file.
20596         * tests/test-hypotf.c: New file.
20598         New module 'hypotf'.
20599         * lib/math.in.h (hypotf): New declaration.
20600         * lib/hypotf.c: New file.
20601         * m4/hypotf.m4: New file.
20602         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
20603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
20604         REPLACE_HYPOTF.
20605         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
20606         REPLACE_HYPOTF.
20607         * modules/hypotf: New file.
20608         * tests/test-math-c++.cc: Check the hypotf declaration.
20609         * doc/posix-functions/hypotf.texi: Mention the new module.
20611         hypot: Prepare for hypotf module.
20612         * m4/hypot.m4: New file.
20613         * modules/hypot (Files): Add m4/hypot.m4.
20614         (configure.ac): Invoke gl_FUNC_HYPOT.
20616 2012-02-29  Bruno Haible  <bruno@clisp.org>
20618         hypot tests: More tests.
20619         * tests/test-hypot.c: Include <float.h>.
20620         (main): Add tests about overflow and underflow.
20622 2012-02-29  Bruno Haible  <bruno@clisp.org>
20624         math code: Add comments.
20625         * lib/acosl.c: Add comment about related glibc source files.
20626         * lib/asinl.c: Likewise.
20627         * lib/atanl.c: Likewise.
20628         * lib/expl.c: Likewise.
20629         * lib/logl.c: Likewise.
20630         * lib/sincosl.c: Likewise.
20631         * lib/sinl.c: Likewise.
20632         * lib/tanl.c: Likewise.
20633         * lib/trigl.c: Likewise.
20634         * lib/cosl.c: Likewise. Fix comments.
20636 2012-02-28  Bruno Haible  <bruno@clisp.org>
20638         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
20639         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
20640         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
20641         HUGE_VALL are defined.
20642         (numeric_equald): Renamed from numeric_equal.
20643         (numeric_equalf, numeric_equall): New functions.
20644         (main): Check also HUGE_VALF, HUGE_VALL.
20645         * modules/math-tests (Files): Add tests/macros.h.
20646         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
20647         HUGE_VALL.
20649 2012-02-28  Bruno Haible  <bruno@clisp.org>
20651         doc: Move ISO C11 feature notes into POSIX chapters.
20652         * doc/posix-functions/aligned_alloc.texi: Renamed from
20653         doc/glibc-functions/aligned_alloc.texi.
20654         * doc/posix-functions/quick_exit.texi: Renamed from
20655         doc/glibc-functions/quick_exit.texi.
20656         * doc/posix-headers/uchar.texi: Renamed from
20657         doc/glibc-headers/uchar.texi.
20658         * doc/posix-functions/c16rtomb.texi: Renamed from
20659         doc/glibc-functions/c16rtomb.texi.
20660         * doc/posix-functions/c32rtomb.texi: Renamed from
20661         doc/glibc-functions/c32rtomb.texi.
20662         * doc/posix-functions/mbrtoc16.texi: Renamed from
20663         doc/glibc-functions/mbrtoc16.texi.
20664         * doc/posix-functions/mbrtoc32.texi: Renamed from
20665         doc/glibc-functions/mbrtoc32.texi.
20666         * doc/gnulib.texi: Update.
20667         (Glibc uchar.h): Remove section.
20668         Suggested by Eric Blake.
20670 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
20672         stdnoreturn: port to MSVC better
20673         MSVC standard headers use __declspec(noreturn), so #define noreturn
20674         to empty on that platform.  Reported by Bruno Haible in
20675         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
20676         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
20677         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
20679 2012-02-28  Bruno Haible  <bruno@clisp.org>
20681         doc: Mention new glibc headers and functions.
20682         * doc/glibc-headers/uchar.texi: New file.
20683         * doc/glibc-functions/aligned_alloc.texi: New file.
20684         * doc/glibc-functions/c16rtomb.texi: New file.
20685         * doc/glibc-functions/c32rtomb.texi: New file.
20686         * doc/glibc-functions/clock_adjtime.texi: New file.
20687         * doc/glibc-functions/fanotify_init.texi: New file.
20688         * doc/glibc-functions/fanotify_mark.texi: New file.
20689         * doc/glibc-functions/inet6_opt_append.texi: New file.
20690         * doc/glibc-functions/inet6_opt_find.texi: New file.
20691         * doc/glibc-functions/inet6_opt_finish.texi: New file.
20692         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
20693         * doc/glibc-functions/inet6_opt_init.texi: New file.
20694         * doc/glibc-functions/inet6_opt_next.texi: New file.
20695         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
20696         * doc/glibc-functions/inet6_rth_add.texi: New file.
20697         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
20698         * doc/glibc-functions/inet6_rth_init.texi: New file.
20699         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
20700         * doc/glibc-functions/inet6_rth_segments.texi: New file.
20701         * doc/glibc-functions/inet6_rth_space.texi: New file.
20702         * doc/glibc-functions/login.texi: New file.
20703         * doc/glibc-functions/mbrtoc16.texi: New file.
20704         * doc/glibc-functions/mbrtoc32.texi: New file.
20705         * doc/glibc-functions/name_to_handle_at.texi: New file.
20706         * doc/glibc-functions/ntp_gettimex.texi: New file.
20707         * doc/glibc-functions/open_by_handle_at.texi: New file.
20708         * doc/glibc-functions/prlimit.texi: New file.
20709         * doc/glibc-functions/process_vm_readv.texi: New file.
20710         * doc/glibc-functions/process_vm_writev.texi: New file.
20711         * doc/glibc-functions/recvmmsg.texi: New file.
20712         * doc/glibc-functions/scandirat.texi: New file.
20713         * doc/glibc-functions/sendmmsg.texi: New file.
20714         * doc/glibc-functions/setns.texi: New file.
20715         * doc/glibc-functions/timespec_get.texi: New file.
20716         * doc/gnulib.texi: Include them.
20717         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
20718         sections.
20719         Reported by Eric Blake.
20721 2012-02-28  Bruno Haible  <bruno@clisp.org>
20723         Avoid compilation errors with MSVC option -fp:strict.
20724         * lib/floor.c: Use MSVC specific pragma fenv_access.
20725         * lib/ceil.c: Likewise.
20726         * lib/trunc.c: Likewise.
20727         * lib/round.c: Likewise.
20728         * lib/rint.c: Likewise.
20729         * lib/fma.c: Likewise.
20730         * lib/integer_length.c: Likewise.
20731         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
20732         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
20733         * tests/test-floor2.c: Likewise.
20734         * tests/test-floorf2.c: Likewise.
20735         * tests/test-ceil2.c: Likewise.
20736         * tests/test-ceilf2.c: Likewise.
20737         * tests/test-trunc2.c: Likewise.
20738         * tests/test-truncf2.c: Likewise.
20739         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
20741 2012-02-27  Bruno Haible  <bruno@clisp.org>
20743         Tests for module 'sqrtl-ieee'.
20744         * modules/sqrtl-ieee-tests: New file.
20745         * tests/test-sqrtl-ieee.c: New file.
20747         New module 'sqrtl-ieee'.
20748         * modules/sqrtl-ieee: New file.
20750         Tests for module 'sqrt-ieee'.
20751         * modules/sqrt-ieee-tests: New file.
20752         * tests/test-sqrt-ieee.c: New file.
20754         New module 'sqrt-ieee'.
20755         * modules/sqrt-ieee: New file.
20757         Tests for module 'sqrtf-ieee'.
20758         * modules/sqrtf-ieee-tests: New file.
20759         * tests/test-sqrtf-ieee.c: New file.
20760         * tests/test-sqrt-ieee.h: New file.
20762         New module 'sqrtf-ieee'.
20763         * modules/sqrtf-ieee: New file.
20765 2012-02-27  Bruno Haible  <bruno@clisp.org>
20767         remainderl-ieee: Work around test failure on OSF/1.
20768         * m4/remainderl-ieee.m4: New file.
20769         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
20770         present, test whether remainderl works with a zero second argument.
20771         Replace it if not.
20772         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
20773         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
20774         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
20775         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
20776         (Depends-on): Update conditions.
20777         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
20778         (Depends-on): Add remainder-ieee.
20779         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
20780         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
20781         module.
20783         remainderf-ieee: Work around test failure on OSF/1.
20784         * m4/remainderf-ieee.m4: New file.
20785         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
20786         present, test whether remainderf works with a zero second argument.
20787         Replace it if not.
20788         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
20789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
20790         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
20791         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
20792         (Depends-on): Update conditions.
20793         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
20794         (Depends-on): Add remainder-ieee.
20795         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
20796         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
20797         module.
20799         remainder-ieee: Work around test failure on OSF/1.
20800         * m4/remainder-ieee.m4: New file.
20801         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
20802         present, test whether remainder works with a zero second argument.
20803         Replace it if not.
20804         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
20805         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
20806         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
20807         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
20808         (Depends-on): Update dependencies.
20809         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
20810         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
20811         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
20813         Tests for module 'remainderl-ieee'.
20814         * modules/remainderl-ieee-tests: New file.
20815         * tests/test-remainderl-ieee.c: New file.
20817         New module 'remainderl-ieee'.
20818         * modules/remainderl-ieee: New file.
20820         Tests for module 'remainder-ieee'.
20821         * modules/remainder-ieee-tests: New file.
20822         * tests/test-remainder-ieee.c: New file.
20824         New module 'remainder-ieee'.
20825         * modules/remainder-ieee: New file.
20827         Tests for module 'remainderf-ieee'.
20828         * modules/remainderf-ieee-tests: New file.
20829         * tests/test-remainderf-ieee.c: New file.
20830         * tests/test-remainder-ieee.h: New file.
20832         New module 'remainderf-ieee'.
20833         * modules/remainderf-ieee: New file.
20835 2012-02-27  Bruno Haible  <bruno@clisp.org>
20837         modff, modfl: Fix configure syntax error.
20838         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
20839         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
20841 2012-02-27  Bruno Haible  <bruno@clisp.org>
20843         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
20844         * m4/fmodl-ieee.m4: New file.
20845         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
20846         whether fmodl works with zero arguments. Replace it if not.
20847         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
20848         (Depends-on): Add fmod-ieee.
20849         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
20850         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
20852         fmodf-ieee: Work around test failure on OSF/1.
20853         * m4/fmodf-ieee.m4: New file.
20854         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
20855         whether fmodf works with zero arguments. Replace it if not.
20856         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
20857         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
20858         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
20859         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
20860         (Depends-on): Update dependencies.
20861         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
20862         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
20863         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
20865         fmodf-ieee: Work around test failure on MSVC 9.
20866         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
20867         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
20869         fmod-ieee: Work around test failures on OSF/1, mingw.
20870         * m4/fmod-ieee.m4: New file.
20871         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
20872         whether fmod works with zero arguments. Replace it if not.
20873         * lib/math.in.h (fmod): New declaration.
20874         * lib/fmod.c: New file.
20875         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
20876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
20877         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
20878         * modules/fmod (Files): Add lib/fmod.c.
20879         (Depends-on): Add math, isinf, trunc, fma.
20880         (configure.ac): Arrange to compile lib/fmod.c if needed.
20881         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
20882         m4/signbit.m4.
20883         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
20884         * tests/test-math-c++.cc: Check the declaration of fmod.
20885         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
20887         fmodl-ieee: Fix test failures.
20888         * lib/fmodl.c (fmodl): Treat Inf specially.
20889         * modules/fmodl (Depends-on): Add isinf.
20891         Tests for module 'fmodl-ieee'.
20892         * modules/fmodl-ieee-tests: New file.
20893         * tests/test-fmodl-ieee.c: New file.
20895         New module 'fmodl-ieee'.
20896         * modules/fmodl-ieee: New file.
20898         Tests for module 'fmod-ieee'.
20899         * modules/fmod-ieee-tests: New file.
20900         * tests/test-fmod-ieee.c: New file.
20902         New module 'fmod-ieee'.
20903         * modules/fmod-ieee: New file.
20905         Tests for module 'fmodf-ieee'.
20906         * modules/fmodf-ieee-tests: New file.
20907         * tests/test-fmodf-ieee.c: New file.
20908         * tests/test-fmod-ieee.h: New file.
20910         New module 'fmodf-ieee'.
20911         * modules/fmodf-ieee: New file.
20913 2012-02-27  Bruno Haible  <bruno@clisp.org>
20915         Tests for module 'rintl-ieee'.
20916         * modules/rintl-ieee-tests: New file.
20917         * tests/test-rintl-ieee.c: New file.
20919         New module 'rintl-ieee'.
20920         * modules/rintl-ieee: New file.
20922         Tests for module 'rint-ieee'.
20923         * modules/rint-ieee-tests: New file.
20924         * tests/test-rint-ieee.c: New file.
20926         New module 'rint-ieee'.
20927         * modules/rint-ieee: New file.
20929         Tests for module 'rintf-ieee'.
20930         * modules/rintf-ieee-tests: New file.
20931         * tests/test-rintf-ieee.c: New file.
20932         * tests/test-rint-ieee.h: New file.
20934         New module 'rintf-ieee'.
20935         * modules/rintf-ieee: New file.
20937 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
20939         regex: re_search etc. should return -2 when memory exhausted
20940         This bug was uncovered when testing 'grep'.  Without the fix,
20941         re_search and friends return -1 when memory is exhausted, but -1
20942         means no match, and this causes grep to falsely report no-match
20943         instead of memory-exhaustion.  See
20944         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
20945         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
20946         trouble; this can occur if re_search_internal ran out of memory.
20948 2012-02-26  Bruno Haible  <bruno@clisp.org>
20950         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
20951         * m4/modfl-ieee.m4: New file.
20952         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
20953         whether modfl works with Inf. Replace it if not.
20954         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
20955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
20956         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
20957         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
20958         (Depends-on): Update dependencies.
20959         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
20960         m4/signbit.m4.
20961         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
20962         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
20964         modfl-ieee: Fix dependencies.
20965         * modules/modfl-ieee (Depends-on): Add modf-ieee.
20967         modfl-ieee: Fix test failures.
20968         * lib/modfl.c (modfl): Treat NaN and Inf specially.
20969         * modules/modfl (Depends-on): Add isfinite, isinf.
20971         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
20972         * m4/modff-ieee.m4: New file.
20973         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
20974         whether modff works with NaN and Inf. Replace it if not.
20975         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
20976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
20977         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
20978         * modules/modff (configure.ac): Consider REPLACE_MODFF.
20979         (Depends-on): Update dependencies.
20980         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
20981         m4/signbit.m4.
20982         (Depends-on): Add modf-ieee.
20983         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
20984         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
20986         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
20987         * m4/modf-ieee.m4: New file.
20988         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
20989         whether modf works with NaN and Inf. Replace it if not.
20990         * lib/math.in.h (modf): New declaration.
20991         * lib/modf.c: New file.
20992         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
20993         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
20994         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
20995         * modules/modf (Files): Add lib/modf.c.
20996         (Depends-on): Add math, isfinite, trunc, isinf.
20997         (configure.ac): Addrange to compile lib/modf.c if needed.
20998         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
20999         m4/signbit.m4.
21000         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
21001         * tests/test-math-c++.cc: Check the declaration of modf.
21002         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
21004         Tests for module 'modfl-ieee'.
21005         * modules/modfl-ieee-tests: New file.
21006         * tests/test-modfl-ieee.c: New file.
21008         New module 'modfl-ieee'.
21009         * modules/modfl-ieee: New file.
21011         Tests for module 'modf-ieee'.
21012         * modules/modf-ieee-tests: New file.
21013         * tests/test-modf-ieee.c: New file.
21015         New module 'modf-ieee'.
21016         * modules/modf-ieee: New file.
21018         Tests for module 'modff-ieee'.
21019         * modules/modff-ieee-tests: New file.
21020         * tests/test-modff-ieee.c: New file.
21021         * tests/test-modf-ieee.h: New file.
21023         New module 'modff-ieee'.
21024         * modules/modff-ieee: New file.
21026 2012-02-26  Bruno Haible  <bruno@clisp.org>
21028         Tests for module 'fabsl-ieee'.
21029         * modules/fabsl-ieee-tests: New file.
21030         * tests/test-fabsl-ieee.c: New file.
21032         New module 'fabsl-ieee'.
21033         * modules/fabsl-ieee: New file.
21035         Tests for module 'fabs-ieee'.
21036         * modules/fabs-ieee-tests: New file.
21037         * tests/test-fabs-ieee.c: New file.
21039         New module 'fabs-ieee'.
21040         * modules/fabs-ieee: New file.
21042         Tests for module 'fabsf-ieee'.
21043         * modules/fabsf-ieee-tests: New file.
21044         * tests/test-fabsf-ieee.c: New file.
21045         * tests/test-fabs-ieee.h: New file.
21047         New module 'fabsf-ieee'.
21048         * modules/fabsf-ieee: New file.
21050 2012-02-26  Bruno Haible  <bruno@clisp.org>
21052         Tests for module 'fmal-ieee'.
21053         * modules/fmal-ieee-tests: New file.
21054         * tests/test-fmal-ieee.c: New file.
21056         New module 'fmal-ieee'.
21057         * modules/fmal-ieee: New file.
21059         Tests for module 'fma-ieee'.
21060         * modules/fma-ieee-tests: New file.
21061         * tests/test-fma-ieee.c: New file.
21063         New module 'fma-ieee'.
21064         * modules/fma-ieee: New file.
21066         Tests for module 'fmaf-ieee'.
21067         * modules/fmaf-ieee-tests: New file.
21068         * tests/test-fmaf-ieee.c: New file.
21069         * tests/test-fma-ieee.h: New file.
21071         New module 'fmaf-ieee'.
21072         * modules/fmaf-ieee: New file.
21074 2012-02-26  Bruno Haible  <bruno@clisp.org>
21076         Tests for module 'ldexpl-ieee'.
21077         * modules/ldexpl-ieee-tests: New file.
21078         * tests/test-ldexpl-ieee.c: New file.
21080         New module 'ldexpl-ieee'.
21081         * modules/ldexpl-ieee: New file.
21083         Tests for module 'ldexp-ieee'.
21084         * modules/ldexp-ieee-tests: New file.
21085         * tests/test-ldexp-ieee.c: New file.
21087         New module 'ldexp-ieee'.
21088         * modules/ldexp-ieee: New file.
21090         Tests for module 'ldexpf-ieee'.
21091         * modules/ldexpf-ieee-tests: New file.
21092         * tests/test-ldexpf-ieee.c: New file.
21093         * tests/test-ldexp-ieee.h: New file.
21095         New module 'ldexpf-ieee'.
21096         * modules/ldexpf-ieee: New file.
21098 2012-02-26  Bruno Haible  <bruno@clisp.org>
21100         Refactor frexp*-ieee tests.
21101         * tests/test-frexp-ieee.h: New file.
21102         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
21103         (main): Just call test_function.
21104         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
21105         (main): Just call test_function.
21106         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
21107         (main): Just call test_function.
21108         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
21109         * modules/frexp-ieee-tests (Files): Likewise.
21110         * modules/frexpl-ieee-tests (Files): Likewise.
21112         Tests for module 'frexpl-ieee'.
21113         * modules/frexpl-ieee-tests: New file.
21114         * tests/test-frexpl-ieee.c: New file.
21116         New module 'frexpl-ieee'.
21117         * modules/frexpl-ieee: New file.
21119         Tests for module 'frexp-ieee'.
21120         * modules/frexp-ieee-tests: New file.
21121         * tests/test-frexp-ieee.c: New file.
21123         New module 'frexp-ieee'.
21124         * modules/frexp-ieee: New file.
21126         Tests for module 'frexpf-ieee'.
21127         * modules/frexpf-ieee-tests: New file.
21128         * tests/test-frexpf-ieee.c: New file.
21130         New module 'frexpf-ieee'.
21131         * modules/frexpf-ieee: New file.
21133 2012-02-26  Bruno Haible  <bruno@clisp.org>
21135         roundl-ieee tests: More tests.
21136         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
21137         (main): Add tests for [MX] shaded specification in POSIX.
21138         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21139         (Depends-on): Add isnanl-nolibm.
21141         round-ieee tests: More tests.
21142         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
21143         (main): Add tests for [MX] shaded specification in POSIX.
21144         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21145         (Depends-on): Add isnand-nolibm.
21147         roundf-ieee tests: More tests.
21148         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
21149         (main): Add tests for [MX] shaded specification in POSIX.
21150         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21151         (Depends-on): Add isnanf-nolibm.
21153         truncl-ieee tests: More tests.
21154         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
21155         (main): Add tests for [MX] shaded specification in POSIX.
21156         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21157         (Depends-on): Add isnanl-nolibm.
21159         trunc-ieee tests: More tests.
21160         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
21161         (main): Add tests for [MX] shaded specification in POSIX.
21162         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21163         (Depends-on): Add isnand-nolibm.
21165         truncf-ieee tests: More tests.
21166         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
21167         (main): Add tests for [MX] shaded specification in POSIX.
21168         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21169         (Depends-on): Add isnanf-nolibm.
21171         ceill-ieee tests: More tests.
21172         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
21173         (main): Add tests for [MX] shaded specification in POSIX.
21174         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21175         (Depends-on): Add isnanl-nolibm.
21177         ceil-ieee tests: More tests.
21178         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
21179         (main): Add tests for [MX] shaded specification in POSIX.
21180         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21181         (Depends-on): Add isnand-nolibm.
21183         ceilf-ieee tests: More tests.
21184         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
21185         (main): Add tests for [MX] shaded specification in POSIX.
21186         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21187         (Depends-on): Add isnanf-nolibm.
21189         floorl-ieee tests: More tests.
21190         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
21191         (main): Add tests for [MX] shaded specification in POSIX.
21192         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21193         (Depends-on): Add isnanl-nolibm.
21195         floor-ieee tests: More tests.
21196         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
21197         (main): Add tests for [MX] shaded specification in POSIX.
21198         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21199         (Depends-on): Add isnand-nolibm.
21201         floorf-ieee tests: More tests.
21202         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
21203         (main): Add tests for [MX] shaded specification in POSIX.
21204         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
21205         (Depends-on): Add isnanf-nolibm.
21207 2012-02-26  Bruno Haible  <bruno@clisp.org>
21209         fpieee: More comments.
21210         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
21212 2012-02-25  Bruno Haible  <bruno@clisp.org>
21214         Tests for module 'log10l'.
21215         * modules/log10l-tests: New file.
21216         * tests/test-log10l.c: New file.
21217         * tests/test-math-c++.cc: Check the declaration of log10l.
21219         New module 'log10l'.
21220         * lib/math.in.h (log10l): New declaration.
21221         * lib/log10l.c: New file.
21222         * m4/log10l.m4: New file.
21223         * modules/log10l: New file.
21224         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
21225         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
21226         HAVE_DECL_LOG10L.
21227         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
21228         HAVE_DECL_LOG10L.
21229         * doc/posix-functions/log10l.texi: Mention the new module.
21231 2012-02-25  Bruno Haible  <bruno@clisp.org>
21233         fmodl, remainder*: Avoid wrong results due to rounding errors.
21234         * lib/fmodl.c (fmodl): Correct the result if it is not within the
21235         expected bounds.
21236         * lib/remainderf.c (remainderf): Likewise.
21237         * lib/remainder.c (remainder): Likewise.
21238         * lib/remainderl.c (remainderl): Likewise.
21240 2012-02-25  Bruno Haible  <bruno@clisp.org>
21242         Tests for module 'remainderl'.
21243         * modules/remainderl-tests: New file.
21244         * tests/test-remainderl.c: New file.
21245         * tests/test-math-c++.cc: Check the declaration of remainderl.
21247         New module 'remainderl'.
21248         * lib/math.in.h (remainderl): New declaration.
21249         * lib/remainderl.c: New file.
21250         * m4/remainderl.m4: New file.
21251         * modules/remainderl: New file.
21252         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
21253         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
21254         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
21255         HAVE_REMAINDERL.
21256         * doc/posix-functions/remainderl.texi: Mention the new module.
21258 2012-02-25  Bruno Haible  <bruno@clisp.org>
21260         Tests for module 'remainderf'.
21261         * modules/remainderf-tests: New file.
21262         * tests/test-remainderf.c: New file.
21263         * tests/test-math-c++.cc: Check the declaration of remainderf.
21265         New module 'remainderf'.
21266         * lib/math.in.h (remainderf): New declaration.
21267         * lib/remainderf.c: New file.
21268         * m4/remainderf.m4: New file.
21269         * modules/remainderf: New file.
21270         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
21271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
21272         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
21273         HAVE_REMAINDERF.
21274         * doc/posix-functions/remainderf.texi: Mention the new module.
21276 2012-02-25  Bruno Haible  <bruno@clisp.org>
21278         remainder: Support for MSVC.
21279         * lib/math.in.h (remainder): New declaration.
21280         * lib/remainder.c: New file.
21281         * m4/remainder.m4: New file.
21282         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
21283         (Depends-on): Add math, round, fma.
21284         (configure.ac): Use results of gl_FUNC_REMAINDER.
21285         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
21286         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
21287         HAVE_DECL_REMAINDER.
21288         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
21289         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
21290         * tests/test-math-c++.cc: Check the declaration of remainder.
21291         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
21292         problems are fixed.
21294 2012-02-25  Bruno Haible  <bruno@clisp.org>
21296         Tests for module 'fmodl'.
21297         * modules/fmodl-tests: New file.
21298         * tests/test-fmodl.c: New file.
21299         * tests/test-math-c++.cc: Check the declaration of fmodl.
21301         New module 'fmodl'.
21302         * lib/math.in.h (fmodl): New declaration.
21303         * lib/fmodl.c: New file.
21304         * m4/fmodl.m4: New file.
21305         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
21306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
21307         REPLACE_FMODL.
21308         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
21309         REPLACE_FMODL.
21310         * modules/fmodl: New file.
21311         * doc/posix-functions/fmodl.texi: Mention the new module.
21313 2012-02-25  Bruno Haible  <bruno@clisp.org>
21315         Tests for module 'modfl'.
21316         * modules/modfl-tests: New file.
21317         * tests/test-modfl.c: New file.
21318         * tests/test-math-c++.cc: Check the declaration of modfl.
21320         New module 'modfl'.
21321         * lib/math.in.h (modfl): New declaration.
21322         * lib/modfl.c: New file.
21323         * m4/modfl.m4: New file.
21324         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
21325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
21326         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
21327         * modules/modfl: New file.
21328         * doc/posix-functions/modfl.texi: Mention the new module.
21330 2012-02-25  Bruno Haible  <bruno@clisp.org>
21332         Tests for module 'fabsl'.
21333         * modules/fabsl-tests: New file.
21334         * tests/test-fabsl.c: New file.
21335         * tests/test-math-c++.cc: Check the declaration of fabsl.
21337         New module 'fabsl'.
21338         * lib/math.in.h (fabsl): New declaration.
21339         * lib/fabsl.c: New file.
21340         * m4/fabsl.m4: New file.
21341         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
21342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
21343         REPLACE_FABSL.
21344         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
21345         REPLACE_FABSL.
21346         * modules/fabsl: New file.
21347         * doc/posix-functions/fabsl.texi: Mention the new module.
21349 2012-02-25  Bruno Haible  <bruno@clisp.org>
21351         fabs tests: More tests.
21352         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
21353         (zero): New variable.
21354         (main): Add tests for signed zero.
21355         * modules/fabs-tests (Files): Add tests/minus-zero.h.
21357         fabsf tests: More tests.
21358         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
21359         (zero): New variable.
21360         (main): Add tests for signed zero.
21361         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
21363 2012-02-24  Bruno Haible  <bruno@clisp.org>
21365         atanl: Provide function definition on MSVC.
21366         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
21367         function pointer.
21368         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
21370 2012-02-24  Bruno Haible  <bruno@clisp.org>
21372         acosl: Provide function definition on MSVC.
21373         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
21374         function pointer.
21375         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
21377 2012-02-24  Bruno Haible  <bruno@clisp.org>
21379         asinl: Provide function definition on MSVC.
21380         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
21381         function pointer.
21382         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
21384 2012-02-24  Bruno Haible  <bruno@clisp.org>
21386         tanl: Provide function definition on MSVC.
21387         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
21388         function pointer.
21389         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
21391 2012-02-24  Bruno Haible  <bruno@clisp.org>
21393         cosl: Provide function definition on MSVC.
21394         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
21395         function pointer.
21396         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
21398 2012-02-24  Bruno Haible  <bruno@clisp.org>
21400         sinl: Provide function definition on MSVC.
21401         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
21402         function pointer.
21403         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
21405 2012-02-24  Bruno Haible  <bruno@clisp.org>
21407         logl: Provide function definition on MSVC.
21408         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
21409         function pointer.
21410         * lib/math.in.h (logl): Undefine if it does not exist as a function.
21412 2012-02-24  Bruno Haible  <bruno@clisp.org>
21414         expl: Provide function definition on MSVC.
21415         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
21416         function pointer.
21417         * lib/math.in.h (expl): Undefine if it does not exist as a function.
21419 2012-02-24  Bruno Haible  <bruno@clisp.org>
21421         sqrtl: Provide function definition on MSVC.
21422         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
21423         a function pointer.
21424         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
21426 2012-02-24  Bruno Haible  <bruno@clisp.org>
21428         ceill: Provide function definition on MSVC.
21429         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
21430         used as a function pointer.
21431         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
21433 2012-02-24  Bruno Haible  <bruno@clisp.org>
21435         floorl: Provide function definition on MSVC.
21436         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
21437         used as a function pointer.
21438         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
21440 2012-02-24  Bruno Haible  <bruno@clisp.org>
21442         ceilf: Provide function definition on MSVC.
21443         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
21444         used as a function pointer.
21445         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
21447 2012-02-24  Bruno Haible  <bruno@clisp.org>
21449         floorf: Provide function definition on MSVC.
21450         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
21451         used as a function pointer.
21452         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
21454 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21456         stdnoreturn: new module
21457         This implements a replacement for C11's <stdnoreturn.h>.
21458         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
21459         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
21460         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
21461         * tests/test-stdnoreturn.c: New files.
21463 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
21465         regex: fix false multibyte matches in some regular expressions
21466         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
21467         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
21468         * lib/regex_internal.c (re_string_skip_chars):
21469         Fix miscomputation of remain_len that may cause incomplete
21470         multi-byte character and false match.
21472 2012-02-24  Jim Meyering  <meyering@redhat.com>
21474         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
21475         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
21476         uses with "==" *before* the call, e.g., 0 == strcmp (...)
21477         Remove now-unnecessary str''cmp obfuscation.
21478         Suggested by Akim Demaille.
21480 2012-02-24  Bruno Haible  <bruno@clisp.org>
21482         streq: Rename macro.
21483         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
21484         * NEWS: Mention the change.
21485         * lib/mbrtowc.c (mbrtowc): Update.
21486         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
21487         * lib/wcwidth.c (wcwidth): Update.
21488         Suggested by Akim Demaille and Jim Meyering.
21490 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
21492         regex: fix typo in definition of MIN
21493         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
21494         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
21496 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21497             Bruno Haible  <bruno@clisp.org>
21499         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
21500         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
21501         entries into a stack-allocated buffer directly.
21502         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
21504 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
21505             Bruno Haible  <bruno@clisp.org>
21507         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
21509          - There were several instances of this pattern:
21511              for (;;) {
21512                n = acl (f, GETACLCNT, 0, NULL);
21513                [ allocate an array A of size N ]
21514                if (acl (f, GETACL, n, a) == n)
21515                  break;
21516              }
21518            This loop might never terminate if some other process is constantly
21519            manipulating the file's ACL.  The loop should be rewritten to
21520            terminate.
21522          - The acl (... GETACLNT ...) call is merely an optimization; its value
21523            is merely a hint as to how big to make the array.  A better
21524            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
21525            and just guess a reasonably-big size, growing the size and trying
21526            again if it's not large enough.  This guarantees termination, and
21527            saves a system call.
21529         * lib/acl-internal.h: Include <limits.h>.
21530         (MIN, SIZE_MAX): New macros.
21531         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
21532         a stack-allocated buffer, and use malloc if it does not fit. Don't
21533         use GETACLCNT.
21534         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
21536 2012-02-19  Bruno Haible  <bruno@clisp.org>
21538         acl: Fix endless loop on Solaris with vxfs.
21539         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
21540         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
21541         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
21542         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
21543         * tests/test-sameacls.c (main)[Solaris]: Likewise.
21544         Reported by Bill Jones in
21545         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
21547 2012-02-19  Bruno Haible  <bruno@clisp.org>
21549         acl: Fix copy-acl test failure on Solaris 11 2011-11.
21550         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
21551         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
21552         that this function returns 0 in some more cases.
21554 2012-02-19  Bruno Haible  <bruno@clisp.org>
21556         acl: Update doc references.
21557         * doc/acl-resources.txt: Update links to Solaris documentation.
21559 2012-02-19  Bruno Haible  <bruno@clisp.org>
21561         Fix test failure in many locales on Solaris 11.
21562         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
21563         'tr' arguments.
21564         * tests/test-pipe-filter-ii1.c (main): Likewise.
21565         * build-aux/bootstrap (check_versions): Run 'tr' command with range
21566         expressions in the C locale.
21567         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
21568         * m4/host-os.m4 (gl_HOST_OS): Likewise.
21570 2012-02-19  Bruno Haible  <bruno@clisp.org>
21572         gnulib-tool: Improve usage message.
21573         * gnulib-tool (func_usage): Move doc of --help and --version to the
21574         section "Operation modes".
21576 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
21578         README-release: make it easier to execute commands
21579         * top/README-release: break commands out on to separate lines.
21581 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
21583         GNUmakefile: simplify detection of unconfigured trees
21584         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
21585         whether the tree make is being run from is already configured or
21586         not.  Related simplifications.
21588 2012-02-13  Simon Josefsson  <simon@josefsson.org>
21590         * gnulib-tool (func_usage): Document --help and --version.
21592 2012-02-11  Jim Meyering  <meyering@redhat.com>
21594         bootstrap: don't exit 0 upon gnulib-tool failure
21595         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
21596         its exit status, not 0.
21598 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
21600         README-release: various improvements
21601         * top/README-release: Give a command to push changes for the
21602         release.  Add "distcheck" to list of other pre-release checks.
21603         Fix instance of "make stable" which should be "make TYPE".
21605 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21607         maint: replace FSF snail-mail addresses with URLs
21608         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
21609         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
21610         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
21611         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
21612         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
21613         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
21614         * lib/check-version.c, lib/check-version.h, lib/config.charset:
21615         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
21616         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
21617         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
21618         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
21619         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
21620         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
21621         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
21622         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
21623         * lib/glthread/thread.c, lib/glthread/thread.h:
21624         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
21625         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
21626         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
21627         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
21628         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
21629         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
21630         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
21631         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
21632         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
21633         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
21634         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
21635         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
21636         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
21637         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
21638         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
21639         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
21640         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
21641         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
21642         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
21643         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
21644         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
21645         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
21646         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
21647         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
21648         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
21649         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
21650         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
21651         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
21652         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
21653         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
21654         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
21655         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
21656         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
21657         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
21658         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
21659         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
21660         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
21661         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
21662         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
21663         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
21664         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
21665         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
21666         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
21667         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
21668         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
21669         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
21670         * tests/test-poll.c, tests/test-quotearg-simple.c:
21671         * tests/test-quotearg.c, tests/test-quotearg.h:
21672         * tests/test-round-ieee.c, tests/test-round1.c:
21673         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
21674         * tests/test-roundl-ieee.c, tests/test-roundl.c:
21675         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
21676         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
21677         * tests/test-strerror.c, tests/test-strerror_r.c:
21678         * tests/test-strsignal.c, tests/test-strverscmp.c:
21679         * tests/test-xmemdup0.c:
21680         Replace FSF snail mail addresses with URLs, as per GNU coding
21681         standards.  See glibc bug
21682         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
21684 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
21686         README-release: capitalize a word and split a line
21687         * top/README-release: Fix punctuation and spacing.
21689 2012-02-08  Akim Demaille  <demaille@gostai.com>
21691         fatal-signal: use C prototypes (with explicit void).
21692         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
21693         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
21695 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
21697         regex: spelling fix
21698         * lib/regexec.c: spelling fix
21700         regex: rely on stdint.h for SIZE_MAX
21701         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
21703 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
21705         regex: merge glibc changes
21707         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
21708         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
21709         (init_word_char): Work even if bitset words are not exactly 32 or
21710         64 bits wide.  Don't assume there are no padding bits.
21711         * lib/regex.c [_LIBC]: Do not include <config.h>.
21712         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
21713         and -Wtype-limits.
21714         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
21715         needless disagreement with glibc.  All uses changed.  Define it to
21716         1 only if _GNU_SOURCE, to match glibc.
21717         (_REG_RM_NAME): Remove; no longer needed, since the names in
21718         question are now all protected by __USE_GNU.
21719         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
21720         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
21721         * lib/regex_internal.h (MIN): New macro.
21723         2012-01-03 Ulrich Drepper <drepper@gmail.com>
21724         * lib/regcomp.c (init_word_char): Optimize regex a bit.
21726         2011-12-30 Jakub Jelinek <jakub@redhat.com>
21727         * lib/regex_internal.c (re_string_fetch_byte_case):
21728         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
21729         is miscompiled, and it turns out it is because of an incorrect
21730         attribute on re_string_fetch_byte_case.  Unlike
21731         re_string_peek_byte_case, this one is really not pure, it modifies
21732         memory (increments pstr->cur_idx), and with the pure attribute GCC
21733         assumed it doesn't and it cached the presumed value of
21734         regexp->cur_idx in a variable across the
21735          for (;; ++i)
21736            {
21737              if (i >= BRACKET_NAME_BUF_SIZE)
21738                return REG_EBRACK;
21739              if (token->type == OP_OPEN_CHAR_CLASS)
21740                ch = re_string_fetch_byte_case (regexp);
21741              else
21742                ch = re_string_fetch_byte (regexp);
21743              if (re_string_eoi(regexp))
21744                return REG_EBRACK;
21745              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
21746                break;
21747              elem->opr.name[i] = ch;
21748            }
21750         2011-11-29 Andreas Schwab <schwab@redhat.com>
21751         * lib/regcomp.c (build_equiv_class):
21752         Fix access after end of search string in regex matcher.
21754         2011-11-12 Ulrich Drepper <drepper@redhat.com>
21755         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
21757         2011-10-12 Ulrich Drepper <drepper@redhat.com>
21758         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
21760         2011-10-11 Ulrich Drepper <drepper@redhat.com>
21761         * lib/regcomp.c (parse_branch, parse_sub_exp):
21762         More regex memory leak fixes and tests.
21763         (parse_sub_exp, parse_bracket_exp):
21764         Fix memory leak for some invalid regular expressions.
21766         2011-05-28 Ulrich Drepper <drepper@gmail.com>
21767         * lib/regex_internal.c, lib/regexec.c:
21768         Fix unnecessary overallocation due to incomplete character.  When
21769         incomplete characters are found at the end of a string the code
21770         ran amok and allocated lots of memory.  Stricter limits are now in
21771         place.
21773         2011-05-20 Reuben Thomas <rrt@sc3d.org>
21774         * lib/regex.h: Update documentation.
21776         2011-05-16 Aharon Robbins <arnold@skeeve.com>
21777         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
21779         2010-05-05 Andreas Schwab <schwab@redhat.com>
21780         * lib/regexec.c (find_collation_sequence_value):
21781         Fix lookup of collation sequence value during regexp matching.
21783         2010-01-22 Ulrich Drepper <drepper@redhat.com>
21784         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
21786         2008-01-16 Ulrich Drepper <drepper@redhat.com>
21787         * lib/regex.h: Cleanup namespace.
21789         2007-11-26 Ulrich Drepper <drepper@redhat.com>
21790         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
21792         2007-08-26 Ulrich Drepper <drepper@redhat.com>
21793         * lib/regex_internal.h: Prevent some declarations and definitions
21794         to be seen when used in tests.
21796         2005-05-06 Ulrich Drepper <drepper@redhat.com>
21797         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
21798         __libc_lock_* macros if not _LIBC.
21799         (struct re_dfa_t): Add lock.
21801 2012-02-07  Eric Blake  <eblake@redhat.com>
21803         maint.mk: also prohibit lower-case @var@
21804         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
21805         lower case, like @top_srcdir@.
21807 2012-02-04  Eric Blake  <eblake@redhat.com>
21809         canonicalize: avoid uninitialized memory use
21810         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
21811         random '/' left in dest.
21812         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
21814 2012-02-04  Bruno Haible  <bruno@clisp.org>
21816         isatty: Fix test failure of ptsname_r on native Windows.
21817         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
21818         and don't set errno.
21819         (isatty): Test first whether fd is valid. Set errno when returning 0.
21821 2012-02-04  Bruno Haible  <bruno@clisp.org>
21823         spawn-pipe tests: Fix a NULL program name in a diagnostic.
21824         * tests/test-spawn-pipe-main.c: Include progname.h.
21825         (main): Invoke set_program_name.
21826         * modules/spawn-pipe-tests (Depends-on): Add progname.
21828         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
21829         * tests/test-nonblocking-socket-main.c: Include progname.h.
21830         (main): Invoke set_program_name.
21831         * modules/nonblocking-socket-tests (Depends-on): Add progname.
21833         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
21834         * tests/test-nonblocking-pipe-main.c: Include progname.h.
21835         (main): Invoke set_program_name.
21836         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
21838 2012-02-04  Eric Blake  <eblake@redhat.com>
21840         canonicalize-lgpl: fix // handling
21841         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
21843         canonicalize: fix // handling
21844         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
21845         /// to //, since only // is special.
21847 2012-02-04  Bruno Haible  <bruno@clisp.org>
21849         ioctl: Fix test failure on native Windows.
21850         * lib/ioctl.c: Include msvc-nothrow.h.
21851         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
21853 2012-02-04  Bruno Haible  <bruno@clisp.org>
21855         fsync: Avoid test failure on native Windows.
21856         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
21857         read-only.
21859 2012-02-04  Bruno Haible  <bruno@clisp.org>
21861         sys_select: Avoid syntax error on OpenBSD 5.0.
21862         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
21863         currently being included, just include the system's <sys/select.h>.
21865 2012-02-04  Bruno Haible  <bruno@clisp.org>
21867         sys_select: Avoid syntax error on OpenBSD 5.0.
21868         * lib/sys_select.in.h: Include <signal.h> only after the include_next
21869         <sys/select.h>, not before.
21870         Reported by Jiri B <jirib@devio.us>.
21872 2012-02-04  Bruno Haible  <bruno@clisp.org>
21874         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
21875         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
21876         global variables.
21877         * tests/test-get-rusage-data.c (main): Likewise.
21878         Reported by Jim Meyering.
21880 2012-02-04  Bruno Haible  <bruno@clisp.org>
21882         stdioext: Fix last commit.
21883         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
21885 2012-02-03  Bruno Haible  <bruno@clisp.org>
21887         stdioext: Add tentative support for Plan9.
21888         * lib/stdio-impl.h: Include <errno.h>.
21889         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
21890         * lib/freadable.c (freadable): Likewise.
21891         * lib/fwritable.c (fwritable): Likewise.
21892         * lib/fbufmode.c (fbufmode): Likewise.
21893         * lib/freading.c (freading): Likewise.
21894         * lib/fwriting.c (fwriting): Likewise.
21895         * lib/freadptr.c (freadptr): Likewise.
21896         * lib/freadseek.c (freadptrinc): Likewise.
21897         * lib/freadahead.c (freadahead): Likewise.
21898         * lib/fpurge.c (fpurge): Likewise.
21899         * lib/fseeko.c (rpl_fseeko): Likewise.
21900         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
21901         Reported by Jens Staal <staal1978@gmail.com>.
21903 2012-02-02  Jim Meyering  <meyering@redhat.com>
21905         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
21906         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
21907         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
21908         not even to try to add the attribute.  Instead, add a pragma to suppress
21909         the suggestion/warning.
21911 2012-01-31  Karl Berry  <karl@gnu.org>
21913         setstate doc: typo.
21914         * doc/posix-functions/setstate.texi (setstate): { not (.
21916 2012-01-31  Bruno Haible  <bruno@clisp.org>
21918         popen: Make more robust on Windows.
21919         * lib/popen.c: On native Windows, use the _popen based code even if
21920         HAVE_POPEN is set.
21921         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
21922         environment variable on native Windows.
21924 2012-01-30  Bruno Haible  <bruno@clisp.org>
21926         pclose: Fix typo.
21927         * lib/stdio.in.h (pclose): Fix typo in warning message.
21929 2012-01-30  Bruno Haible  <bruno@clisp.org>
21931         doc about getlogin_r, setstate.
21932         * doc/posix-functions/getlogin_r.texi: List the incompatible
21933         declaration problem under "not fixed by gnulib".
21934         * doc/posix-functions/setstate.texi: Mention incompatible declaration
21935         problem on Solaris 11 and other platforms.
21937 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
21938             Bruno Haible  <bruno@clisp.org>
21940         poll tests: Make test more robust.
21941         * tests/test-poll.c: Include macros.h.
21942         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
21943         return value of various I/O operations.
21944         * modules/poll-tests (Files): Add tests/macros.h.
21946 2012-01-30  Bruno Haible  <bruno@clisp.org>
21948         sys_stat: Fix support for mingw64 and MSVC.
21949         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
21950         header files already do it.
21951         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
21952         stat itself.
21953         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
21955 2012-01-30  Bruno Haible  <bruno@clisp.org>
21957         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
21958         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
21959         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
21961 2012-01-29  Bruno Haible  <bruno@clisp.org>
21963         quotearg: Fix test failure on MacOS X 10.5.
21964         * tests/test-quotearg-simple.c: Include localcharset.h.
21965         (main): If the locale encoding is not ASCII, bypass the tests of
21966         locale_quoting_style and clocale_quoting_style.
21967         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
21969 2012-01-29  Jim Meyering  <meyering@redhat.com>
21971         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
21972         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
21973         detect uses of canonicalize_file_name.
21975 2012-01-28  Bruno Haible  <bruno@clisp.org>
21977         test-framework-sh: Fix test failure with AIX 7.1 diff.
21978         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
21979         in column 1, like 'diff -c' does.
21980         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
21981         whether 'diff -u' is used. Instead, test whether the output contains
21982         some '@' character.
21984 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21986         strtoimax: eliminate need for stdint.h, inttypes.h checks
21987         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
21988         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
21989         the prerequisites for a recently-introduced strtoimax test.
21990         I guess this might cause strtoimax to be replaced when not
21991         strictly necessary on older hosts, but this shouldn't introduce
21992         any bugs and it should make Emacs 'configure' faster on typical
21993         modern hosts.  Problem discovered when importing the latest gnulib
21994         to an Emacs test version.
21995         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
21997 2012-01-28  Bruno Haible  <bruno@clisp.org>
21999         sys_time: Override 'struct timeval' on some native Windows platforms.
22000         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
22001         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
22002         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
22003         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
22004         needs to be overridden.
22005         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
22006         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
22007         * tests/test-sys_select.c: Check that the tv_sec member has the same
22008         size as a 'time_t'.
22009         * tests/test-sys_time.c: Likewise.
22010         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
22011         is set, set also REPLACE_GETTIMEOFDAY.
22012         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
22013         convert the resulting 'struct timeval' before returning.
22014         * lib/select.c: Include <sys/time.h>.
22015         (select, timeval): Undefine at the right place.
22016         * modules/select (Depends-on): Add sys_time.
22017         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
22018         some Windows platforms.
22019         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
22021 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
22023         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
22024         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
22025         an integer.
22026         * lib/fcntl.c (dupfd): Likewise.
22027         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
22029 2012-01-28  Bruno Haible  <bruno@clisp.org>
22031         fcntl: Avoid compilation error on native Windows.
22032         * modules/fcntl (Depends-on): Add 'close'.
22034 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
22036         select, poll, isatty: Avoid warnings on x86_64 mingw64.
22037         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
22038         pointer to an integer.
22039         * lib/poll.c (IsConsoleHandle): Likewise.
22040         * lib/isatty.c (IsConsoleHandle): Likewise.
22042 2012-01-28  Jim Meyering  <meyering@redhat.com>
22044         doc: clarify README-release
22045         * top/README-release: Clarify: you should make a point to have
22046         the latest stable versions of build tools in your PATH, and the
22047         reference to buildreq is solely for its list of tool names, not
22048         for its minimal-functional version numbers.
22049         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
22051         maint.mk: use more readable (yet functionally equivalent) quoting
22052         It is common to quote a single quote in a single quoted string like
22053         this:  '...'\''...'.  Unless you know the idiom, that looks like
22054         gibberish, so prefer to double-quote the string when possible.
22055         Then you can use a more readable, lone single quote: "...'..."
22056         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
22057         "don't" is more readable than the equivalent 'don'\''t'.
22058         (sc_cast_of_x_alloc_return_value): Likewise.
22059         (sc_cast_of_alloca_return_value): Likewise.
22060         (sc_makefile_path_separator_check): Similar: use ":" in '...',
22061         rather than '\'':'\''.
22063 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
22065         stdalign: relax _Alignof and tighten _Alignas test
22066         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
22067         as it was too strict: alignof must divide offsetof, but it need
22068         not equal offsetof.  Inspired by Joseph S. Myers's comment
22069         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
22070         Conversely, tighten the _Alignas test a bit, as the resulting
22071         alignment must be exactly 8.
22073 2012-01-27  Bruno Haible  <bruno@clisp.org>
22075         stdalign: Document the last change.
22076         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
22078 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
22080         stdalign: check that alignof and offsetof are consistent
22081         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
22082         Problem reported for gnulib by Richard W.M. Jones in
22083         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
22085 2012-01-27  Jim Meyering  <meyering@redhat.com>
22087         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
22088         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
22089         convert a sequence with gaps to the minimal containing range.
22090         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
22091         * tests/test-update-copyright.sh: Test for this.
22092         The FSF confirmed it is ok to do this, assuming there is at
22093         least one significant change per year in the affected range:
22094         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
22096 2012-01-26  Bruno Haible  <bruno@clisp.org>
22098         pipe2: refine doc about thread-safety
22099         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
22100         multithread-safety problem.
22101         * doc/glibc-functions/accept4.texi: Likewise.
22103 2012-01-26  Bruno Haible  <bruno@clisp.org>
22105         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
22106         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
22107         In the test program, include <fcntl.h>, for O_RDONLY.
22109 2012-01-26  Eric Blake  <eblake@redhat.com>
22111         pipe2: document lack of thread-safety in replacement
22112         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
22113         issue in replacement.
22114         * doc/glibc-functions/accept4.texi (accept4): Likewise.
22115         Based on a report by Eric Wong.
22117 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
22118             Bruno Haible  <bruno@clisp.org>
22120         malloca: Avoid warnings on x86_64 mingw64.
22121         * lib/malloca.c: Include <stdint.h>.
22122         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
22123         * modules/malloca (Depends-on): Add stdint.
22124         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
22126 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
22128         obstack: remove __STDC__ conditionals
22129         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
22130         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
22131         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
22132         m4/include_next.m4 as the only gnulib-maintained places that still
22133         refer to __STDC__.
22135 2012-01-24  Bruno Haible  <bruno@clisp.org>
22137         havelib: Modern quoting.
22138         * build-aux/config.rpath: Quote 'like this', not `like this', as per
22139         the recent change to the GNU coding standards.
22141 2012-01-24  Bruno Haible  <bruno@clisp.org>
22143         stdint: Improve support for Android.
22144         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
22145         Reported by Simon Josefsson <simon@josefsson.org>.
22147 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22149         doc: omit trailing empty lines from INSTALL etc.
22150         * doc/Makefile (INSTALL): Omit trailing empty lines.
22151         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
22152         omit trailing empty lines.  This simplifies the build procedure.
22154 2012-01-23  Jim Meyering  <meyering@redhat.com>
22156         tests: avoid spurious warnings about gl_sockets_startup
22157         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
22158         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
22159         reporting a "statement with no effect".
22160         * tests/test-accept.c (main): Mark as "(void)".
22161         * tests/test-accept4.c (main): Likewise.
22162         * tests/test-bind.c (main): Likewise.
22163         * tests/test-connect.c (main): Likewise.
22164         * tests/test-getpeername.c (main): Likewise.
22165         * tests/test-getsockname.c (main): Likewise.
22166         * tests/test-getsockopt.c (main): Likewise.
22167         * tests/test-listen.c (main): Likewise.
22168         * tests/test-recv.c (main): Likewise.
22169         * tests/test-recvfrom.c (main): Likewise.
22170         * tests/test-send.c (main): Likewise.
22171         * tests/test-sendto.c (main): Likewise.
22172         * tests/test-setsockopt.c (main): Likewise.
22173         * tests/test-shutdown.c (main): Likewise.
22175 2012-01-21  Bruno Haible  <bruno@clisp.org>
22177         locale-fr.m4: Fix for Android.
22178         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
22179         failure of the test program on Bionic libc.
22181 2012-01-21  Jim Meyering  <meyering@redhat.com>
22183         bootstrap: fail when bootstrap_post_import_hook fails
22184         Otherwise, it's far too easy to miss diagnostics emitted
22185         between gnulib-tool's output and that of running configure.
22186         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
22188 2012-01-17  Jim Meyering  <meyering@redhat.com>
22190         maint: enable sc_trailing_blank
22191         * build-aux/pmccabe.css: Remove trailing blanks.
22192         * doc/acl-cygwin.txt: Likewise.
22193         * doc/gnu-oids.texi: Likewise
22194         * cfg.mk: Enable sc_trailing_blank.
22195         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
22197 2012-01-17  Jim Meyering  <meyering@redhat.com>
22199         maint: enable sc_prohibit_openat_without_use
22200         * cfg.mk: Enable sc_prohibit_openat_without_use.
22201         Exempt lib/selinux-at.c.
22203 2012-01-17  Jim Meyering  <meyering@redhat.com>
22205         maint: enable sc_prohibit_cloexec_without_use
22206         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
22207         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
22209 2012-01-17  Jim Meyering  <meyering@redhat.com>
22211         maint: enable sc_prohibit_intprops_without_use
22212         * cfg.mk: Enable sc_prohibit_intprops_without_use
22213         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
22215 2012-01-17  Jim Meyering  <meyering@redhat.com>
22217         maint: enable sc_prohibit_hash_pjw_without_use
22218         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
22219         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
22220         to match any use of \<hash_pjw\>, i.e., not necessarily with a
22221         following " (".
22223 2012-01-17  Jim Meyering  <meyering@redhat.com>
22225         maint: enable double-word-prohibiting rule
22226         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
22227         Exempt three files.
22229 2012-01-17  Jim Meyering  <meyering@redhat.com>
22231         maint: remove empty lines at EOF, but excluding modules/*
22232         Apply syntax rules at home as well as abroad.  Most changes
22233         were induced by running this:
22234           make srcdir=. _build-aux=build-aux -f top/maint.mk \
22235             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
22236             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
22237         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
22238         Exempt modules/* and two binary files.
22239         Also exempt doc/INSTALL*, per request from Bruno Haible.
22240         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
22241         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
22242         * doc/Copyright/request-assign.future: Likewise.
22243         * doc/Copyright/request-disclaim.changes: Likewise.
22244         * doc/INSTALL: Likewise.
22245         * doc/INSTALL.ISO: Likewise.
22246         * doc/INSTALL.UTF-8: Likewise.
22247         * doc/acl-cygwin.txt: Likewise.
22248         * doc/acl-resources.txt: Likewise.
22249         * doc/fdl-1.2.texi: Likewise.
22250         * doc/fdl-1.3.texi: Likewise.
22251         * doc/fdl.texi: Likewise.
22252         * lib/argp-pin.c: Likewise.
22253         * lib/round.c: Likewise.
22254         * lib/unicase/u16-totitle.c: Likewise.
22255         * lib/unictype/block_test.c: Likewise.
22256         * lib/uninorm/canonical-decomposition.c: Likewise.
22257         * m4/README: Likewise.
22258         * m4/relocatable-lib.m4: Likewise.
22259         * tests/test-isnand-nolibm.c: Likewise.
22260         * tests/test-isnand.c: Likewise.
22261         * tests/uninorm/NormalizationTest.txt: Likewise.
22263 2012-01-17  Jim Meyering  <meyering@redhat.com>
22265         maint: add framework to run syntax-check rules against gnulib sources
22266         * cfg.mk: New file, to disable all currently-failing tests.
22267         We'll enable them one by one, as they are made to pass.
22268         * Makefile (sc_maint): New rule.
22270 2012-01-21  Bruno Haible  <bruno@clisp.org>
22272         stdint: Add support for Android.
22273         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
22274         include the system's <stdint.h>.
22275         Reported by Simon Josefsson <simon@josefsson.org>.
22277 2012-01-19  Jim Meyering  <meyering@redhat.com>
22279         bootstrap: add bootstrap_post_import_hook
22280         Bison does still need something like the gnulib_mk_hook whose
22281         invocation I had to remove along with slurp in commit 767ccd40.
22282         Technically, we could get along without it, but doing so would
22283         have required living with a warning and a mandatory post-bootstrap
22284         automake rerun.
22285         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
22286         (bootstrap_post_import_hook): New function.
22287         Invoke it after gnulib-tool --import and before autoreconf.
22289 2012-01-18  Jim Meyering  <meyering@redhat.com>
22291         gitlog-to-changelog: don't use "no_"-prefixed variable name
22292         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
22293         to enable both --cluster and --no-cluster.  Change variable name,
22294         s/\$no_cluster/$cluster/, and reverse usage to match.
22296         gitlog-to-changelog: use "||", not "or" in expressions
22297         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
22298         expressions.
22300 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
22302         gitlog-to-changelog: new option --no-cluster
22303         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
22304         clustering of adjacent commit messages.
22306 2012-01-17  Jim Meyering  <meyering@redhat.com>
22308         maint: spell file systems with two words, not one
22309         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
22310         two words, not one.
22312 2012-01-16  Jim Meyering  <meyering@redhat.com>
22314         bootstrap: add a FIXME comment to ensure we eventually remove the hack
22315         * build-aux/bootstrap (gnulib_tool_options): Add comment.
22317 2012-01-16  Eric Blake  <eblake@redhat.com>
22319         bootstrap: cater to autoconf 2.59
22320         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
22321         is not available.
22323         bootstrap: properly check for libtool
22324         * build-aux/bootstrap (libtoolize): Also run libtool when older
22325         usage is detected.
22327 2012-01-15  Bruno Haible  <bruno@clisp.org>
22329         Improve support for MSVC 9.
22330         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
22331         clashes on MSVC.
22332         * lib/fcntl.in.h: Likewise.
22333         * lib/stdlib.in.h: Likewise.
22334         * lib/sys_stat.in.h: Likewise.
22336 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
22338         gnupload: we hold the master copy of this script now
22339         For motivation and more information, see:
22340         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
22341         * build-aux/gnupload: Make it clear in the heading comments that the
22342         master copy of this file is maintained by gnulib.  Since we are at
22343         it, bump its copyright year and ...
22344         ($scriptversion): ... the date in its version.
22345         ($usage): Patches and bug reports should be sent to the gnulib list,
22346         not the automake one.
22347         * config/srclist.txt: Don't try to sync 'gnupload' from automake
22348         anymore.
22350 2012-01-15  Bruno Haible  <bruno@clisp.org>
22352         Fix module 'random'.
22353         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
22354         initstate, setstate are declared.
22356 2012-01-14  Bruno Haible  <bruno@clisp.org>
22358         Tests for module 'random'.
22359         * modules/random-tests: New file.
22360         * tests/test-random.c: New file, based on tests/test-random_r.c.
22362         New module 'random'.
22363         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
22364         declarations.
22365         * lib/random.c: New file, based on glibc/stdlib/random.c.
22366         * m4/random.m4: New file.
22367         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
22368         HAVE_RANDOM.
22369         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
22370         * modules/random: New file.
22371         * config/srclist.txt: Add an entry for random.c.
22372         * doc/posix-functions/random.texi: Mention the 'random' module.
22373         * doc/posix-functions/initstate.texi: Likewise.
22374         * doc/posix-functions/setstate.texi: Likewise.
22375         * doc/posix-functions/srandom.texi: Likewise.
22377 2012-01-12  Bruno Haible  <bruno@clisp.org>
22379         random_r: Use common idioms.
22380         * lib/random_r.c: Include <stdlib.h> first.
22382         random_r: Override incompatible API on AIX, OSF/1.
22383         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
22384         Override the system function if REPLACE_RANDOM_R is 1.
22385         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
22386         and OSF/1, set REPLACE_RANDOM_R.
22387         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
22388         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
22389         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
22390         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
22391         * doc/glibc-functions/random_r.texi: Likewise.
22392         * doc/glibc-functions/setstate_r.texi: Likewise.
22394         random_r: Support for MSVC 9.
22395         * lib/random_r.c: Include stdint.h, not inttypes.h.
22397 2012-01-12  Eric Blake  <eblake@redhat.com>
22399         inet_ntop: guard extra work by IF_LINT
22400         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
22401         better code generation when not checking for warnings.
22402         Suggested by Paul Eggert and Jim Meyering.
22404         strptime: fix regression on mingw
22405         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
22406         Fix regression.  Reported by Bruno Haible.
22408 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
22409             Bruno Haible  <bruno@clisp.org>
22411         copy-file: add error-code-returning variant.
22412         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
22413         (qcopy_file_preserving): New declaration.
22414         * lib/copy-file.c (qcopy_file_preserving): Renamed from
22415         copy_file_preserving. Change return type to 'int'. Don't emit an error
22416         message here.
22417         (copy_file_preserving): New function.
22418         * tests/test-copy-file.c: Include <stdlib.h>.
22419         (main): Test qcopy_file_preserving if the environment variable
22420         NO_STDERR_OUTPUT is set.
22421         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
22422         with NO_STDERR_OUTPUT
22423         * tests/test-copy-file-2.sh: Likewise.
22425 2012-01-10  Bruno Haible  <bruno@clisp.org>
22427         copy-file: Use 'quote' module consistently.
22428         * lib/copy-file.c (copy_file_preserving): Use quote().
22430         copy-file: Refactor.
22431         * lib/copy-file.c: Include quote.h.
22432         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
22433         message here.
22434         * modules/copy-file (Depends-on): Add quote.
22436         acl: Export qcopy_acl.
22437         * lib/acl.h (qcopy_acl): New declaration.
22438         * lib/copy-acl.c (qcopy_acl): Make non-static.
22440         acl: Rename a local variable.
22441         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
22443         acl: Align return values of copy_acl and qcopy_acl.
22444         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
22445         maybe < -1.
22447 2012-01-11  Eric Blake  <eblake@redhat.com>
22449         strptime: silence gcc warnings
22450         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
22451         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
22452         Reported by Daniel P. Berrange.
22454         inet_ntop: silence gcc warning
22455         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
22456         Reported by Daniel P. Berrange.
22458 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
22460         getloadavg test: skip the test on GNU/Linux without /proc mounted
22461         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
22462         file.  When /proc is not mounted, it always fails with ENOENT.
22463         * tests/test-getloadavg.c (main): Treat ENOENT return code from
22464         getloadavg(3) the same way as ENOSYS and ENOTSUP.
22466 2012-01-10  Bruno Haible  <bruno@clisp.org>
22468         regex: Avoid link error on MSVC 9.
22469         * modules/regex (Depends-on): Add wctype.
22471 2012-01-10  Bruno Haible  <bruno@clisp.org>
22473         doc: Mention --with-tests option.
22474         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
22475         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
22476         --with-tests.
22477         Reported by Reuben Thomas.
22479 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
22481         users.txt: order package names lexicographically.
22482         * users.txt: Order package names lexicographically.
22484 2012-01-10  Jim Meyering  <meyering@redhat.com>
22486         maint.mk: fix description in comment
22487         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
22489         ignore-value: remove deprecated ignore_ptr function
22490         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
22491         * NEWS: Note this.
22493 2012-01-09  Jim Meyering  <meyering@redhat.com>
22495         test-init.sh: avoid a subshell
22496         * tests/test-init.sh: Remove protective subshell.
22497         Suggested by Bernhard Voelker.  While a subshell is normally
22498         required to protect against older shells (Solaris, FreeBSD) that
22499         warn about a missing program before performing redirection, the
22500         shell-selection tests performed by init.sh probably exclude any
22501         offending shell.
22503 2012-01-08  Bruno Haible  <bruno@clisp.org>
22505         setlocale tests: Avoid test failure on Solaris 11 2011-11.
22506         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
22507         variable.
22509 2012-01-08  Bruno Haible  <bruno@clisp.org>
22511         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
22512         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
22513         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
22514         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
22515         macro.
22516         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
22517         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
22518         * lib/spawn_faction_addopen.c: Add workaround implementation if
22519         HAVE_WORKING_POSIX_SPAWN.
22520         * modules/spawn (Makefile): Substitute
22521         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
22522         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
22523         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
22524         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
22525         (Depends-on): Update conditions.
22526         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
22527         the Solaris 11 bug.
22529 2012-01-08  Bruno Haible  <bruno@clisp.org>
22531         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
22532         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
22533         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
22534         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
22535         macro.
22536         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
22537         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
22538         * lib/spawn_faction_adddup2.c: Add workaround implementation if
22539         HAVE_WORKING_POSIX_SPAWN.
22540         * modules/spawn (Makefile): Substitute
22541         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
22542         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
22543         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
22544         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
22545         (Depends-on): Update conditions.
22546         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
22547         the Solaris 11 bug.
22549 2012-01-08  Bruno Haible  <bruno@clisp.org>
22551         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
22552         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
22553         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
22554         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
22555         HAVE_WORKING_POSIX_SPAWN.
22556         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
22557         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
22558         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
22559         * lib/spawn_faction_addclose.c: Add workaround implementation if
22560         HAVE_WORKING_POSIX_SPAWN.
22561         * modules/spawn (Makefile): Substitute
22562         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
22563         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
22564         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
22565         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
22566         (Depends-on): Update conditions.
22567         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
22568         the Solaris 11 bug.
22570 2012-01-08  Bruno Haible  <bruno@clisp.org>
22572         doc: Update for Solaris 11 2011-11.
22573         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
22574         * m4/printf.m4: Update comments.
22576 2012-01-08  Bruno Haible  <bruno@clisp.org>
22578         mktime: Avoid compilation error on Solaris 11.
22579         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
22581 2012-01-08  Bruno Haible  <bruno@clisp.org>
22583         doc: Small fix.
22584         * doc/posix-headers/nl_types.texi: Correct platforms list.
22586 2012-01-08  Simon Josefsson  <simon@josefsson.org>
22588         Add lgpl-3.0 module.
22589         * MODULES.html.sh (Support for building documentation): Add
22590         lgpl-3.0.
22591         * modules/lgpl-3.0: New file.
22593 2012-01-08  Jim Meyering  <meyering@redhat.com>
22595         select.c: indent with spaces, not TABs
22596         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
22598 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
22600         quotearg: do not use grave accent for left quote
22601         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
22602         locale_quoting_style.
22603         (quotearg_buffer_restyled): Fix example.
22604         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
22606 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
22608         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
22609         Most programs do not have translation catalogs for English and much
22610         less separate catalogs for British and American English.  Drop the
22611         suggestion to translators about these two, and provide it
22612         automatically for Unicode locales.  Like most programs, even those
22613         using American English, we use single quotation marks.  This conflicts
22614         with the American typographic convention, but works better when you
22615         cite the entire error message within double quotes.  It also tries not
22616         to clash with established practice and with what non-gnulib programs
22617         will usually do.
22618         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
22619         using an UTF-8 or GB-18030 locale.  The list of other locales with
22620         quotes was provided by Bruno Haible.
22621         (quotearg_buffer_restyled): Adjust instructions to translators.
22622         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
22623         text, since this would be wrong when using Unicode.
22624         * modules/quotearg: Depend on c-strcaseeq.
22626 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
22628         quotearg: fix Wikipedia link
22629         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
22631 2012-01-07  Simon Josefsson  <simon@josefsson.org>
22633         Fix for mingw with MSVC9.
22634         * m4/ld-version-script.m4: Check that compiler rejects version
22635         scripts with syntax errors.  Reported by Bruno Haible
22636         <bruno@clisp.org>.
22638 2012-01-06  Bruno Haible  <bruno@clisp.org>
22640         Talk about "native Windows API", not "Woe32".
22641         * lib/accept4.c: Update comments to mention native Windows.
22642         * lib/execute.c: Likewise.
22643         * lib/fatal-signal.c: Likewise.
22644         * lib/localcharset.c: Likewise.
22645         * lib/nanosleep.c: Likewise.
22646         * lib/nl_langinfo.c: Likewise.
22647         * lib/pclose.c: Likewise.
22648         * lib/pipe-filter-gi.c: Likewise.
22649         * lib/pipe-filter-ii.c: Likewise.
22650         * lib/pipe.c: Likewise.
22651         * lib/pipe2.c: Likewise.
22652         * lib/popen.c: Likewise.
22653         * lib/progreloc.c: Likewise.
22654         * lib/relocatable.c: Likewise.
22655         * lib/sigaction.c: Likewise.
22656         * lib/sigprocmask.c: Likewise.
22657         * lib/spawn-pipe.h: Likewise.
22658         * lib/spawn-pipe.c: Likewise.
22659         * lib/spawni.c: Likewise.
22660         * lib/stat-time.h: Likewise.
22661         * lib/w32spawn.h: Likewise.
22662         * tests/test-isatty.c: Likewise.
22663         * lib/config.charset: More comments.
22664         * doc/gnulib-intro.texi: Mention native Windows.
22665         * doc/posix-functions/_Exit_C99.texi: Likewise.
22666         * doc/posix-headers/fcntl.texi: Likewise.
22668 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
22670         argp: Avoid crash if translator uses % characters in a translation.
22671         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
22672         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
22674 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
22676         doc: C11 and C++11 are now official
22677         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
22678         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
22679         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
22680         * modules/stdalign:
22681         Replace references to draft C1X to C11, and to draft C++0X to C++11.
22683 2012-01-06  Bruno Haible  <bruno@clisp.org>
22685         uc-is-grapheme-break tests: Tweak.
22686         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
22687         message.
22689 2012-01-06  Bruno Haible  <bruno@clisp.org>
22691         test-init.sh: correct the test for diff -u
22692         * tests/test-init.sh: Also redirect stdout to /dev/null.
22694 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
22696         Use ', not `, for quoting output.
22697         * build-aux/announce-gen (usage, sizes, print_news_deltas)
22698         (print_changelog_deltas, get_tool_versions, main program):
22699         * build-aux/git-version-gen:
22700         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
22701         * build-aux/move-if-change (help):
22702         * build-aux/useless-if-before-free (usage, main program):
22703         * check-module (parse_module_file, usage)
22704         (find_included_lib_files, check_module):
22705         * lib/argmatch.c (main) [TEST]:
22706         * lib/argp-help.c (_help):
22707         * lib/getopt1.c (main) [TEST]:
22708         * lib/git-merge-changelog.c (usage):
22709         * lib/xstrtol-error.c (xstrtol_error):
22710         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
22711         * m4/argz.m4 (gl_FUNC_ARGZ):
22712         * m4/bison.m4 (gl_BISON):
22713         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
22714         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
22715         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
22716         * m4/fpending.m4 (gl_PREREQ_FPENDING):
22717         * m4/gc-random.m4 (gl_GC_RANDOM):
22718         * m4/intl.m4 (gt_CHECK_DECL):
22719         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
22720         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
22721         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
22722         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
22723         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
22724         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
22725         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
22726         * tests/test-dirname.c (main):
22727         * tests/test-getpass.c (main):
22728         * tests/test-iconvme.c (main):
22729         * tests/test-parse-datetime.c (LOG):
22730         * tests/test-xstrtoimax.sh:
22731         * tests/test-xstrtol.sh:
22732         * tests/test-xstrtoll.sh:
22733         * tests/test-xstrtoumax.sh:
22734         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
22735         * top/GNUmakefile (abort-due-to-no-makefile):
22736         Quote 'like this', not `like this', as per the recent change to
22737         the GNU coding standards.
22739 2012-01-05  Bruno Haible  <bruno@clisp.org>
22741         strtoimax: Don't force a replacement on systems where intmax_t is int.
22742         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
22743         'intmax_t' is not larger than 'int'.
22744         Reported by Pádraig Brady <P@draigBrady.com>.
22746 2012-01-05  Bruno Haible  <bruno@clisp.org>
22748         doc: Mention NetBSD bugs.
22749         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
22750         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
22752 2012-01-05  Bruno Haible  <bruno@clisp.org>
22754         strtoumax tests: Enhance tests.
22755         * tests/test-strtoumax.c (main): Add tests for large values.
22757 2012-01-05  Bruno Haible  <bruno@clisp.org>
22759         strtoimax: Work around AIX 5.1 bug.
22760         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
22761         definition.
22762         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
22763         Set HAVE_STRTOIMAX.
22764         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
22765         REPLACE_STRTOIMAX.
22766         * modules/inttypes-incomplete (Makefile.am): Substitute
22767         REPLACE_STRTOIMAX.
22768         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
22769         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
22770         (Depends-on): Update conditions.
22771         * tests/test-strtoimax.c (main): Add tests for large values.
22772         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
22774 2012-01-05  Bruno Haible  <bruno@clisp.org>
22776         inttypes: Modernize.
22777         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
22778         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
22779         (Makefile.am): Update inttypes.h rule.
22781 2012-01-05  Jim Meyering  <meyering@redhat.com>
22783         init.sh: don't waste a subshell just to redirect stderr
22784         * tests/init.sh: In testing for diff -u and diff -c, use a
22785         stderr-redirecting exec inside `...` rather than a subshell.
22787         test-init.sh: avoid failure on HP-UX 11.00
22788         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
22789         resolves to diff -c or cmp.  Reported by Bruno Haible.
22791 2012-01-05  Bruno Haible  <bruno@clisp.org>
22793         Tests for module 'strtoull'.
22794         * modules/strtoull-tests: New file.
22795         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
22797 2012-01-05  Bruno Haible  <bruno@clisp.org>
22799         Tests for module 'strtoll'.
22800         * modules/strtoll-tests: New file.
22801         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
22803 2012-01-05  Bruno Haible  <bruno@clisp.org>
22805         Tests for module 'strtoul'.
22806         * modules/strtoul-tests: New file.
22807         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
22809 2012-01-05  Bruno Haible  <bruno@clisp.org>
22811         Tests for module 'strtol'.
22812         * modules/strtol-tests: New file.
22813         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
22815 2012-01-04  Jim Meyering  <meyering@redhat.com>
22817         test-init.sh: accommodate Solaris 5.10's different diff -u output
22818         * tests/test-init.sh: Also exempt @@ lines from the comparison
22819         of diff output, since Solaris 5.10 and GNU diff formats differ.
22820         Reported by Stefano Lattarini.
22822 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
22824         test-posixtm: don't assume signed integer wraparound
22825         * tests/test-posixtm.c (main): Don't assume wraparound semantics
22826         after signed integer overflow.  Inspired by (though it may not
22827         fix) Bruno Haible's bug report in
22828         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
22830         Spell out "Windows 9x" and "Windows XP".
22831         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
22832         "Windows 9x" and "WinXP" with "Windows XP".
22834 2012-01-04  Jim Meyering  <meyering@redhat.com>
22836         test-vc-list-files-cvs.sh: remove obsolete comment
22837         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
22838         double exit.  Now that's all encapsulated via skip_ and Exit.
22840 2012-01-04  Bruno Haible  <bruno@clisp.org>
22842         Talk about "native Windows API", not "Win32".
22843         * lib/classpath.c: Update comments to mention native Windows.
22844         * lib/csharpexec.c: Likewise.
22845         * lib/dup2.c: Likewise.
22846         * lib/error.c: Likewise.
22847         * lib/fcntl.c: Likewise.
22848         * lib/filename.h: Likewise.
22849         * lib/findprog.c: Likewise.
22850         * lib/get-rusage-as.c: Likewise.
22851         * lib/get-rusage-data.c: Likewise.
22852         * lib/getpagesize.c: Likewise.
22853         * lib/javaexec.c: Likewise.
22854         * lib/msvc-inval.c: Likewise.
22855         * lib/msvc-nothrow.c: Likewise.
22856         * lib/nanosleep.c: Likewise.
22857         * lib/nonblocking.c: Likewise.
22858         * lib/printf-parse.c: Likewise.
22859         * lib/setlocale.c: Likewise.
22860         * lib/sigaction.c: Likewise.
22861         * lib/strerror_r.c: Likewise.
22862         * lib/tmpdir.c: Likewise.
22863         * lib/vasnprintf.c: Likewise.
22864         * lib/w32spawn.h: Likewise.
22865         * lib/waitpid.c: Likewise.
22866         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
22867         * m4/locale-ar.m4: Likewise.
22868         * m4/locale-fr.m4: Likewise.
22869         * m4/locale-ja.m4: Likewise.
22870         * m4/locale-tr.m4: Likewise.
22871         * m4/locale-zh.m4: Likewise.
22872         * m4/printf.m4: Likewise.
22873         * tests/test-cloexec.c: Likewise.
22874         * tests/test-copy-acl.sh: Likewise.
22875         * tests/test-copy-file.sh: Likewise.
22876         * tests/test-file-has-acl.sh: Likewise.
22877         * tests/test-set-mode-acl.sh: Likewise.
22878         * tests/test-dup-safer.c: Likewise.
22879         * tests/test-dup2.c: Likewise.
22880         * tests/test-dup3.c: Likewise.
22881         * tests/test-fcntl.c: Likewise.
22882         * tests/test-nonblocking-pipe.h: Likewise.
22883         * tests/test-nonblocking-socket.h: Likewise.
22884         * tests/test-pipe.c: Likewise.
22885         * tests/test-pipe2.c: Likewise.
22886         * tests/test-spawn-pipe-child.c: Likewise.
22887         * doc/acl-resources.txt: Likewise.
22888         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
22889         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
22890         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
22891         * lib/localcharset.c: Update comments to mention native Windows.
22892         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
22893         * lib/localename.c: Likewise.
22894         * lib/progreloc.c: Likewise.
22895         * lib/relocatable.c: Likewise.
22896         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
22897         (windows_compute_revents): Renamed from win32_compute_revents.
22898         (windows_compute_revents_socket): Renamed from
22899         win32_compute_revents_socket.
22900         * lib/select.c: Update comments to mention native Windows.
22901         (windows_poll_handle): Renamed from win32_poll_handle.
22902         * m4/threadlib.m4: Update comments to mention native Windows.
22903         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
22904         --enable-threads=windows instead of --enable-threads=win32. Set
22905         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
22906         * lib/glthread/lock.h: Update comments to mention native Windows.
22907         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
22908         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
22909         USE_WIN32_THREADS.
22910         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
22911         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
22912         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
22913         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
22914         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
22915         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
22916         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
22917         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
22918         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
22919         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
22920         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
22921         * tests/test-tls.c: Likewise.
22922         Rationale:
22923         Microsoft renamed the "Win32 API" to "Windows API", as it is available
22924         on both 32-bit and 64-bit Windows systems.
22925         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
22926         line of distinction is between "native Windows" on one side and Unix/
22927         POSIX systems on the other side. More details in
22928         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
22929         Suggested by Paul Eggert.
22931 2012-01-03  Bruno Haible  <bruno@clisp.org>
22933         isatty: Support for MSVC 9.
22934         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
22935         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
22936         (_isatty_nothrow): New function.
22937         (isatty): Use it instead of _isatty.
22938         (IsConsoleHandle): Add comment, from Paolo Bonzini.
22939         * lib/poll.c (IsConsoleHandle): Likewise.
22940         * lib/select.c (IsConsoleHandle): Likewise.
22941         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
22942         (gl_PREREQ_ISATTY): New macro.
22943         * modules/isatty (Depends-on): Add msvc-inval.
22944         (configure.ac): Invoke gl_PREREQ_ISATTY.
22946 2012-01-03  Jim Meyering  <meyering@redhat.com>
22948         maint.mk: remove temporary transition aid from over 1.5 years ago
22949         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
22950         purpose was to aid in the transition (avoiding silent malfunction)
22951         from that old name to the new _sc_search_regexp.  This shim was
22952         added by commit 219c504b.
22954         init.sh: do not try to accommodate compare arguments starting with "-"
22955         * tests/init.sh (compare_dev_null_): Do not try to accommodate
22956         compare arguments that start with "-".  Besides, we do not worry
22957         about this when invoking diff or cmp; why start now with sed?
22958         Using "--" to separate options from argument would trigger sed
22959         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
22960         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
22962 2012-01-02  Bruno Haible  <bruno@clisp.org>
22964         Enhance tests for module 'isatty'.
22965         * modules/isatty-tests (Depends-on): Add pipe-posix.
22966         * tests/test-isatty.c: Include <fcntl.h>.
22967         (DEV_NULL): New macro.
22968         (main): Test the resut of isatty() also on regular files, pipes, and
22969         /dev/null.
22971         New module 'isatty'.
22972         * lib/unistd.in.h (isatty): New declaration.
22973         * lib/isatty.c: New file, based on an idea of
22974         Bastien Roucariès <roucaries.bastien@gmail.com>.
22975         * m4/isatty.m4: New file.
22976         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
22977         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
22978         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
22979         REPLACE_ISATTY.
22980         * modules/isatty: New file.
22981         * doc/posix-functions/isatty.texi: Mention the new module.
22982         Suggested by Paolo Bonzini.
22984 2012-01-02  Bruno Haible  <bruno@clisp.org>
22986         canonicalize: Tweak 2011-12-29 commit.
22987         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
22988         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
22990 2012-01-02  Jim Meyering  <meyering@redhat.com>
22992         gitlog-to-changelog: describe input syntax in --help output
22993         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
22995         gitlog-to-changelog: fix typo in --help: show backslash before email @
22996         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
22997         in sources, but not in actual output.
22999 2011-12-30  Jim Meyering  <meyering@redhat.com>
23001         gitlog-to-changelog: don't malfunction when name contains %-directive
23002         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
23003         in a name string cause trouble.  E.g., with a user name of "%s",
23004         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
23006 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
23008         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
23009         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
23010         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
23011         the "  (tiny change)" notation that is appended to the standard
23012         ChangeLog "date  name  email" header line.
23014 2012-01-01  Jim Meyering  <meyering@redhat.com>
23016         test-framework-sh: init.sh: fix "make dist" failure
23017         When using gnulib-tool's --with-tests option and any module that
23018         depends on test-framework-sh, "make dist" would fail due to the
23019         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
23020         in the gltests directory, and not in the gllib/ directory.
23021         One way to work around that is to move the EXTRA_DIST += init.sh
23022         from the primary module to the -tests one:
23023         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
23024         * modules/test-framework-sh (Makefile.am): ...not here.
23025         Reported by Tom G. Christensen in
23026         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
23028         version-etc: update copyright year reported by --version
23029         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
23031 2011-12-31  Pádraig Brady  <P@draigBrady.com>
23033         canonicalize: only stat() if required
23034         * lib/canonicalize.c (canonicalize_filename_mode):
23035         Avoid calling l?stat() when both CAN_MISSING,
23036         and CAN_NOLINKS are set, as we neither need
23037         to resolve symlinks or test component existence.
23039 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
23041         doc: cover st_ino issues once; add OpenVMS etc.
23042         * doc/posix-functions/stat.texi (stat):
23043         * doc/posix-functions/lstat.texi (lstat):
23044         * doc/posix-functions/fstatat.texi (fstatat):
23045         * doc/posix-functions/fstat.texi (fstat):
23046         Move general 'struct stat' stuff to sys_stat.texi,
23047         leaving behind a pointer.
23048         * doc/posix-headers/sys_stat.texi (sys/stat.h):
23049         Merge duplicate info about 'struct stat' problems into here.
23050         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
23051         and suggest partial workarounds.
23053         same-inode: port to OpenVMS
23054         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
23055         three st_ino values.
23057 2011-12-30  Pádraig Brady  <P@draigBrady.com>
23059         canonicalize: fix references to stat() and lstat()
23060         * lib/canonicalize.c (canonicalize_filename_mode):
23061         Ensure references always resolve to a replacement
23062         function if required (even via a macro).
23064 2011-12-30  Jim Meyering  <meyering@redhat.com>
23066         gitlog-to-changelog: remove a little duplication
23067         * build-aux/gitlog-to-changelog (main): Grep @lines once,
23068         rather than twice.
23070 2011-12-29  Pádraig Brady  <P@draigBrady.com>
23072         canonicalize: add support for not resolving symlinks
23073         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
23074         indicate we don't want to follow symlinks.  Also
23075         provide CAN_MODE_MASK to aid setting these existing
23076         mutually exclusive values.
23077         * lib/canonicalize.c (canonicalize_filename_mode):
23078         Extract the flags from can_mode parameter, which
23079         are currently just used to select between stat()
23080         and lstat().  Also ensure that mutually exclusive
23081         values are flagged immediately as invalid.
23082         * tests/test-canonicalize.c: Verify symlinks are
23083         not followed, and that invalid flag combinations
23084         are diagnosed.
23086 2011-12-25  Jim Meyering  <meyering@redhat.com>
23088         gitlog-to-changelog: do not clump multi-paragraph entries
23089         Identical header lines (date,name,email+coauthors) are suppressed,
23090         thus putting all entries with those same characteristics under
23091         a single header.  However, when a log entry consists of two or
23092         more paragraphs, it may not be clear where it starts and ends.
23093         This change makes it so that such an entry is always separated
23094         from others by a header line, even when that header would
23095         otherwise be suppressed.
23096         * build-aux/gitlog-to-changelog: Implement the above.
23097         Inspired by a related request from Stefano Lattarini in
23098         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
23100 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
23102         announce-gen: fix `cmd' typo in diagnostic
23103         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
23104         diagnostic: a missing '$' meant that the command was not output.
23106 2011-12-23  Jim Meyering  <meyering@redhat.com>
23108         test-framework-sh: distribute init.sh
23109         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
23110         Otherwise, "make -C gnulib-tests check" (at least in grep) would
23111         fail due to the lack of init.sh.
23113         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
23114         * modules/atexit-tests: Rather than listing tests/init.sh,
23115         now that there's a module for it, simply depend on that new module.
23116         * modules/closein-tests: Likewise.
23117         * modules/exclude-tests: Likewise.
23118         * modules/getcwd-tests: Likewise.
23119         * modules/perror-tests: Likewise.
23120         * modules/pread-tests: Likewise.
23121         * modules/pwrite-tests: Likewise.
23122         * modules/vc-list-files-tests: Likewise.
23123         * modules/verify-tests: Likewise.
23124         * modules/xalloc-die-tests: Likewise.
23125         * modules/xstrtoimax-tests: Likewise.
23126         * modules/xstrtol-tests: Likewise.
23127         * modules/xstrtoll-tests: Likewise.
23128         * modules/xstrtoumax-tests: Likewise.
23129         * modules/yesno-tests: Likewise.
23131 2011-12-22  Jim Meyering  <meyering@redhat.com>
23133         test-framework-sh: add minimal tests of init.sh's compare function
23134         * modules/test-framework-sh-tests: New file.
23135         * tests/test-init.sh: New file.
23137         test-framework-sh: new module
23138         * modules/test-framework-sh: New file.
23139         * MODULES.html.sh (Support for maintaining and releasing projects):
23140         List it.
23142         init.sh: do not emit simulated diff output to stderr
23143         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
23145 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
23147         .gitignore: ignore gnulib.dvi and regex.info
23148         * doc/.gitignore:add gnulib.dvi and regex.info
23150 2011-12-22  Jim Meyering  <meyering@redhat.com>
23152         init.sh: correct previous change
23153         * tests/init.sh (compare): My previous change was wrong.
23154         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
23156         init.sh: avoid unwarranted test failure when using "set -e"
23157         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
23158         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
23159         a use like "compare exp out" would get evoke an unconditional failure.
23161 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
23163         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
23164         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
23165         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
23166         autoreconf that did not.
23167         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
23168         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
23170 2011-12-17  Jim Meyering  <meyering@redhat.com>
23172         bootstrap: remove some now-unneeded code
23173         This script arose back when gnulib-tool was young.
23174         Since then, it has seen improvements that render much of this
23175         script unnecessary.  In particular, it can now make symlinks
23176         to the files it uses.  Also, I no longer see as much value in
23177         marking files as read-only via comments.
23178         If you relied on the symlink-creation feature of the preceding
23179         version of this script, you can get most of that functionality
23180         by adding the --symlink option to the definition of
23181         gnulib_tool_option_extras in your bootstrap.conf file.
23182         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
23183         Run autopoint and libtoolize *before* gnulib-tool.
23184         After it, run an abbreviated autoreconf, rather than a loop around
23185         all tools.
23186         (slirp, bt_mark_as_generated): Remove functions.
23188 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
23190         ftoastr: fix typo
23191         * lib/ftoastr.h: Fix misspelling in comment.
23193 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
23195         * top/README-release: fix punctuation.
23197 2011-12-17  Jim Meyering  <meyering@redhat.com>
23199         bootstrap: correct the recent buildreq change
23200         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
23201         had no effect.
23202         * build-aux/bootstrap (buildreq): Bracket each search term with
23203         "*...*", so that the shell "case" statement works as intended.
23204         Add comments.
23206 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
23208         build: let bootstrap resort to wget when downloading .po files
23209         * build-aux/bootstrap (download_po_files): Fallback to wget when
23210         downloading the .po files via rsync fails.  This is necessary to
23211         bootstrap from behind a strict firewall.
23213 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
23215         stdint: don't assume C++11 when compiling with g++
23216         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
23217         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
23218         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
23219         work also in C++ before C++11, as that improperly inhibits
23220         generating a substitute stdint.h for that case.
23222 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
23224         alloca: protect comment from gnulib-tool
23225         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
23226         that gnulib-tool doesn't think it's a license, and munge it to
23227         say "GCC version 3".
23229 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
23231         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
23232         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
23233         $(abs_top_builddir) instead of $(top_builddir).
23235 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
23237         strftime-tests: also test nanoseconds
23238         * tests/test-strftime.c (T): Add a test of %N.
23240 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
23242         inttypes, stdint: add C++11 support
23243         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
23244         when including inttypes.h and stdint.h.  Support this change to
23245         the standard.
23246         * doc/posix-headers/inttypes.texi (inttypes.h):
23247         * doc/posix-headers/stdint.texi (stdint.h): Document this.
23248         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
23249         Define if not defined already, for the benefit of pre-C++11 hosts.
23250         Define the standard format macros (e.g., PRId8) always.
23251         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
23252         Likewise, if __cpluspus.  Define the standard constant and limit
23253         macros (e.g., INT8_C, INT8_MAX) always.
23254         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
23255         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
23256         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
23257         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
23258         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
23259         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
23260         Likewise.
23262 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
23264         nonblocking tests: Fix test failure on Linux/PPC.
23265         Suggested by Prerna Saxena in
23266         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
23267         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
23268         Set to 1100000.
23270 2011-12-12  Jim Meyering  <meyering@redhat.com>
23272         argmatch: don't hard-code `' when listing valid option arguments
23273         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
23274         use the quote function to add quotes.  Use fputs rather than
23275         fprintf for the format string with no format directive.
23277 2011-12-07  Eric Blake  <eblake@redhat.com>
23279         bootstrap: detect tools required by gnulib-tool
23280         * build-aux/bootstrap (buildreq): Provide minimum implicit
23281         dependencies.
23282         * DEPENDENCIES: Mention patch as a prereq.
23284 2011-12-04  Bruno Haible  <bruno@clisp.org>
23286         sethostname: Port to Windows platforms.
23287         * lib/sethostname.c: Provide an alternate implementation for Windows
23288         platforms.
23289         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
23290         (main): Skip the test if sethostname() fails with EPERM. On Windows
23291         platforms, don't check the result of gethostname().
23293 2011-12-04  Bruno Haible  <bruno@clisp.org>
23294             Jim Meyering  <meyering@redhat.com>
23296         tests: Avoid spurious error message on platforms without mktemp program.
23297         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
23299 2011-12-04  Bruno Haible  <bruno@clisp.org>
23301         sethostname: Fix documentation.
23302         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
23303         "not fixed" section.
23305 2011-12-03  Bruno Haible  <bruno@clisp.org>
23307         gnulib-tool: Verify that the License field is present and non-empty.
23308         * gnulib-tool (func_get_license_raw): New function, extracted from
23309         func_get_license.
23310         (func_get_license): Use it. Warn if the module is not a test module and
23311         has no license.
23312         Suggested by Jim Meyering.
23314 2011-12-03  Bruno Haible  <bruno@clisp.org>
23316         sethostname tests: Fix link error on mingw.
23317         * tests/test-sethostname1.c: New file, extracted from
23318         tests/test-sethostname.c.
23319         * tests/test-sethostname2.c: New file, extracted from
23320         tests/test-sethostname.c.
23321         * tests/test-sethostname.c: Remove file.
23322         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
23323         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
23324         (Depends-on): Add gethostname.
23325         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
23326         Link the latter with $(GETHOSTNAME_LIB).
23328         sethostname tests: Fix compilation error on mingw.
23329         * tests/test-sethostname.c: Don't include <sys/types.h>.
23330         (geteuid): Use a dummy value without uid_t.
23331         * modules/sethostname-tests (Depends-on): Remove sys_types.
23333         sethostname tests: Avoid a gcc warning.
23334         * tests/test-sethostname.c (main): Remove an unused variable.
23336         Tweak last commit.
23337         * modules/sethostname-tests (Files): Sort by decreasing importance.
23338         (configure.ac): Check for geteuid.
23339         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
23340         the test when there's nothing to test. Drop an unnecessary cast.
23341         Improve an error message. Verify that the final sethostname() call
23342         succeeds.
23344 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
23346         Add a test suite for the sethostname module.
23347         * modules/sethostname-tests: New file.  A test program
23348         for the sethostname module.
23349         * tests/test-sethostname.c: Likewise.
23351 2011-12-03  Bruno Haible  <bruno@clisp.org>
23353         Tweak last commit.
23354         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
23355         Fix preprocessor directives indentation. Fix typos.
23356         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
23357         * modules/unistd (Makefile): Likewise.
23359 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
23361         Integrate the sethostname module into unistd.
23362         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
23363         into the unistd.h header.
23364         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
23365         preprocessor directives.
23366         * modules/unistd: Setup the Makefile substitutions of the
23367         SETHOSTNAME preprocessor directives.
23369 2011-12-03  Bruno Haible  <bruno@clisp.org>
23371         Tweak last commit.
23372         * lib/sethostname.c: Don't include <string.h>.
23373         (sethostname): No need to copy the argument string to the stack. Don't
23374         call clearerr. Preserve errno when fprintf failed.
23375         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
23376         Don't invoke AC_REPLACE_FUNCS.
23377         * modules/sethostname (Link): Remove empty section.
23378         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
23379         failure problem.
23381 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
23383         New module 'sethostname'.
23384         * lib/sethostname.c (sethostname): New file.  Provide sethostname
23385         for systems that lack it.
23386         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
23387         sethostname declaration and function.
23388         * modules/sethostname: New file.  Define the sethostname module.
23390 2011-12-03  Bruno Haible  <bruno@clisp.org>
23392         Tweak last commit.
23393         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
23395 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
23397         Split the HOST_NAME_MAX detection into a separate m4 macro.
23398         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
23399         macro so it can be used by the pending sethostname module.
23401 2011-12-03  Bruno Haible  <bruno@clisp.org>
23403         Fix module descriptions syntax.
23404         * modules/argv-iter (License): Fix syntax.
23405         * modules/di-set (License): Likewise.
23406         * modules/ino-map (License): Likewise.
23407         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
23409 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
23411         stdalign: port to Clang 3.0
23412         Problem reported by Simon Josefsson in
23413         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
23414         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
23415         which has <stdalign.h> but which does not define alignof.
23416         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
23418 2011-12-01  Eric Blake  <eblake@redhat.com>
23420         mktempd: silence dd usage
23421         * build-aux/mktempd (rand_bytes): Silence dd.
23423 2011-11-30  Simon Josefsson  <simon@josefsson.org>
23425         manywarnings: Don't mention gcc version in docstring.
23426         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
23427         Jim Meyering <meyering@redhat.com>.
23429 2011-11-30  Jim Meyering  <meyering@redhat.com>
23431         hash: mark a few floating point constants with "f" suffix
23432         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
23433         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
23434         floating point constants with "f", since they're destined to be
23435         saved/used as "float"s.
23437 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
23439         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
23440         * tests/test-float.c (test_long_double): Correct and re-enable the
23441         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
23443 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
23445         Avoid subtracting two pointers that don't point into the same block.
23446         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
23447         only pointers into the same memory block are subtracted. We cannot
23448         assume that sizeof (ptrdiff_t) == sizeof (void *).
23450 2011-11-29  Eric Blake  <eblake@redhat.com>
23452         maint.mk: add syntax check for use of compare from init.sh
23453         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
23454         moved here from coreutils.
23456         manywarnings: drop -Wunsuffixed-float-constants
23457         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
23458         '1.0D', which is the only way to silence this warning for 'double'.
23460 2011-11-29  Jim Meyering  <meyering@redhat.com>
23462         hash: mark compute_bucket_size with the pure attribute
23463         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
23465         quotearg, propername: correct pragma guard expression
23466         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
23467         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
23469 2011-11-28  Jim Meyering  <meyering@redhat.com>
23471         propername: do not mark proper_name with the const attribute
23472         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
23473         since it examines data pointed to by its parameter.
23474         * lib/propername.c (proper_name): Instead, add a pragma to suppress
23475         the suggestion from -Wsuggest-attribute=const.
23477         propername: mark one more function as const
23478         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
23480 2011-11-27  Jim Meyering  <meyering@redhat.com>
23482         mark functions with const and pure attributes
23484         Mark functions per suggestions from gcc-4.6 when using these options:
23485         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
23486         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
23487         Follow these guidelines: when possible, apply the attribute to
23488         an extern declaration, not to its definition.  Apply it to the
23489         definition only when the definition is static.
23490         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
23491         * lib/argv-iter.h (argv_iter_n_args): Likewise.
23492         * lib/base64.h (isbase64): Likewise.
23493         * lib/basename-lgpl.c (last_component, base_len): Likewise.
23494         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
23495         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
23496         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
23497         (c_tolower, c_toupper): Likewise.
23498         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
23499         * lib/chdir-long.c (find_non_slash): Likewise.
23500         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
23501         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
23502         * lib/file-type.h (file_type): Likewise.
23503         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
23504         * lib/filevercmp.c (verrevcmp): Likewise.
23505         * lib/freadahead.h (freadahead): Likewise.
23506         * lib/fts.c (fts_maxarglen): Likewise.
23507         * lib/hash-pjw.h (hash_pjw): Likewise.
23508         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
23509         * lib/hash.c (is_prime, next_prime): Likewise.
23510         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
23511         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
23512         (hash_table_ok, hash_get_first, hash_string): Likewise.
23513         (compute_bucket_size): Likewise.
23514         * lib/i-ring.h (i_ring_empty): Likewise.
23515         * lib/isnan.c (isnanl): Likewise.
23516         * lib/math.h (isnanl, rpl_isnanl): Likewise.
23517         * lib/memcasecmp.h (memcasecmp): Likewise.
23518         * lib/memchr2.h (memchr2): Likewise.
23519         * lib/memcmp2.h (memcmp2): Likewise.
23520         * lib/parse-datetime.y (lookup_zone): Likewise.
23521         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
23522         [!WINDOWS_SOCKETS]: Likewise.
23523         * lib/strnlen1.h (strnlen1): Likewise.
23524         * lib/uniwidth.in.h (uc_width): Likewise.
23525         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
23526         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
23527         (quoting_options_from_style): Add a comment.
23528         * lib/propername.h (proper_name): Add a comment.
23530 2011-11-27  Bruno Haible  <bruno@clisp.org>
23532         Remove unused macros from !_LIBC code in glibc-borrowed files.
23533         * lib/fnmatch.c (STRCOLL): Remove macro.
23534         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
23535         * lib/glob.c (__stat, __readdir64): Remove macros.
23536         * lib/tempname.c (__open64, __xstat64): Remove macros.
23537         Suggested by Paul Eggert.
23539 2011-11-27  Bruno Haible  <bruno@clisp.org>
23541         getcwd: Fix link error on MSVC 9.
23542         * modules/getcwd (Depends-on): Add readdir, rewinddir.
23544 2011-11-27  Bruno Haible  <bruno@clisp.org>
23546         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
23547         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
23548         HAVE_OPENDIR is 0.
23549         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
23550         HAVE_CLOSEDIR is 0.
23551         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
23552         is 0.
23553         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
23555 2011-11-27  Bruno Haible  <bruno@clisp.org>
23557         getcwd: Fix bug from 2011-08-17.
23558         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
23559         platforms that need it.
23560         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
23561         code of 4 to be a failure, not a success. This ensures that
23562         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
23564 2011-11-27  Bruno Haible  <bruno@clisp.org>
23566         binary-io tests: Avoid test failure on mingw when libtool is used.
23567         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
23568         Don't verify the size of t-bin-out1.tmp here.
23569         * tests/test-binary-io.sh: Verify it here.
23570         Reported by Simon Josefsson.
23572 2011-11-26  Bruno Haible  <bruno@clisp.org>
23574         Fix conflict between two instantiations of module 'unistd'.
23575         * gnulib-tool (func_emit_autoconf_snippet): Substitute
23576         ${include_guard_prefix} also in the autoconf snippet.
23577         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
23578         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
23579         GNULIB_UNISTD_H_GETOPT.
23580         * modules/getopt-posix (configure.ac): Set the
23581         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
23582         * modules/getopt-gnu (configure.ac): Likewise.
23583         * modules/unistd (Makefile.am): Change the substitution value of
23584         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
23585         Reported by Simon Josefsson.
23587 2011-11-25  Bruno Haible  <bruno@clisp.org>
23589         pagealign_alloc: Doc and comments.
23590         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
23591         module.
23592         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
23594 2011-11-25  Jim Meyering  <meyering@redhat.com>
23596         test-update-copyright.sh: avoid false-positive failure
23597         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
23598         around false positive failure on Cygwin/Windows.  The latter was
23599         matching erroneously-created files with names like
23600         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
23602 2011-11-25  Simon Josefsson  <simon@josefsson.org>
23604         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
23605         * m4/valgrind-tests.m4: Check that the parameters that will be
23606         used works, not just a subset of them.  Reported by Bruno Haible
23607         <bruno@clisp.org>.
23609 2011-11-24  Jim Meyering  <meyering@redhat.com>
23611         test-stdalign.c: comment out long double tests
23612         * tests/test-stdalign.c: Don't try to reduce alignment of long double
23613         variables.  That provokes errors like this from gcc-4.7.0 20111124:
23614         error: '_Alignas' specifiers cannot reduce alignment of \
23615         'static_longdouble_alignas'.
23617 2011-11-22  Jim Meyering  <meyering@redhat.com>
23619         init.sh: make "compare /dev/null FILE" output more readable
23620         * tests/init.sh (compare_): Document the preferred order of arguments.
23621         (emit_diff_u_header_): New function.
23622         (compare_dev_null_): Emit a simulated diff, rather than just the
23623         contents of the unexpected file.  Suggestion from Bruno Haible.
23625 2011-11-21  Jim Meyering  <meyering@redhat.com>
23626             Eric Blake  <eblake@redhat.com>
23628         init.sh: work around OSF/1 5.1's mishandling of /dev/null
23629         * tests/init.sh: Make our compare function slightly more portable.
23630         Reported by Bruno Haible in
23631         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
23633 2011-11-21  Simon Josefsson  <simon@josefsson.org>
23635         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
23636         before using it, in code that ends up in config.h.
23638 2011-11-20  Bruno Haible  <bruno@clisp.org>
23640         getcwd: Work around getcwd bug on AIX 5..7.
23641         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
23642         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
23643         Use a different value for gl_cv_func_getcwd_path_max. Move the
23644         definition of HAVE_PARTLY_WORKING_GETCWD from here...
23645         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
23646         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
23647         Define HAVE_MINIMALLY_WORKING_GETCWD.
23648         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
23649         where it is not even minimally working, that is, on AIX.
23650         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
23651         m4/getcwd-path-max.m4.
23652         (main): Update exit code computation.
23653         * doc/posix-functions/getcwd.texi: Mention list of platforms where
23654         getcwd does not handle long file names.
23656 2011-11-20  Bruno Haible  <bruno@clisp.org>
23658         getcwd: Fix bug from 2009-09-10.
23659         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
23660         like "no".
23662 2011-11-20  Simon Josefsson  <simon@josefsson.org>
23664         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
23666 2011-11-20  Bruno Haible  <bruno@clisp.org>
23668         fma tests: Avoid shadowing local variables.
23669         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
23670         expected.
23672 2011-11-20  Bruno Haible  <bruno@clisp.org>
23674         copysignf tests: Fix.
23675         * tests/test-copysignf.c: Fix signature check.
23677 2011-11-20  Bruno Haible  <bruno@clisp.org>
23679         fma: Remove unused code.
23680         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
23681         unused macros.
23683 2011-11-20  Bruno Haible  <bruno@clisp.org>
23685         sethostname: Fix doc about AIX.
23686         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
23687         sethostname; it has it.
23689         sethostname: Mention more portability problems.
23690         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
23691         problem.
23692         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
23694 2011-11-19  Bruno Haible  <bruno@clisp.org>
23696         Depend on module fcntl-h when AT_FDCWD is used.
23697         * modules/utimens (Depends-on): Add fcntl-h.
23698         * modules/areadlinkat (Depends-on): Likewise.
23699         * modules/areadlinkat-with-size (Depends-on): Likewise.
23700         * modules/faccessat (Depends-on): Likewise.
23701         * modules/fchmodat (Depends-on): Likewise.
23702         * modules/fchownat (Depends-on): Likewise.
23703         * modules/getcwd (Depends-on): Likewise.
23704         * modules/mkdirat (Depends-on): Likewise.
23705         * modules/mkfifoat (Depends-on): Likewise.
23706         * modules/readlinkat (Depends-on): Likewise.
23707         * modules/symlinkat (Depends-on): Likewise.
23708         * modules/dup2-tests (Depends-on): Likewise.
23709         * modules/fdutimensat-tests (Depends-on): Likewise.
23710         * modules/futimens-tests (Depends-on): Likewise.
23712 2011-11-19  Bruno Haible  <bruno@clisp.org>
23714         euidaccess: Update a comment.
23715         * lib/euidaccess.c: Update comment about platforms with faccessat.
23717 2011-11-19  Bruno Haible  <bruno@clisp.org>
23719         openat: Fix file list.
23720         * modules/openat (Files): Remove lib/at-func.c.
23722 2011-11-19  Bruno Haible  <bruno@clisp.org>
23724         fstatat: Simplify.
23725         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
23726         gnulib should define rpl_fstatat, there is a
23727         "#define fstatat rpl_fstatat" in <sys/stat.h>.
23729 2011-11-19  Bruno Haible  <bruno@clisp.org>
23731         Ensure 'inline' can be used in tests/test-utimens-common.h.
23732         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
23733         * modules/futimens-tests (configure.ac): Likewise.
23734         * modules/utimens-tests (configure.ac): Likewise.
23735         * modules/utimensat-tests (configure.ac): Likewise.
23737 2011-11-19  Simon Josefsson  <simon@josefsson.org>
23739         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
23740         not hash_insert0.
23741         (hash_insert_if_absent): Doc fix.
23743 2011-11-19  Simon Josefsson  <simon@josefsson.org>
23745         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
23747 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
23749         test-getcwd: disambiguate exit status
23750         * tests/test-getcwd.c (test_long_name): Return 0..7.
23751         (main): Exit with an unambiguous exit status.  The old
23752         code yielded a mysterious mixture of two failure codes.
23754         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
23755         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
23756         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
23757         rpl_fstatat or fstatat.  This should fix the other problem
23758         reported by Kai Habel in
23759         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
23760         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
23761         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
23762         and I reproduced it on a Solaris 8 host we still have in production.
23764 2011-11-18  Jim Meyering  <meyering@redhat.com>
23766         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
23767         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
23768         Add a sentence to the comment.
23769         (hash_insert0): New function that simply calls hash_insert_if_absent.
23770         * lib/hash.h (hash_insert_if_absent): Declare it.
23771         (hash_insert0): Add deprecation attribute.
23772         (_GL_ATTRIBUTE_DEPRECATED): Define.
23773         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
23774         not hash_insert0.
23775         * NEWS: Mention it, even though it's not really an incompatible change.
23777 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
23779         openat: avoid compilation failure due to lack of <errno.h> inclusion
23780         * lib/openat.c: Include <errno.h>.
23782 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
23784         * modules/getcwd (Depends-on): Add fdopendir.
23785         This fixes one of the two problems reported by Kai Habel in
23786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
23788         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
23789         stdalign problem reported by Ian Beckwith in
23790         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
23791         * modules/crypto/gc-arcfour (Depends-on):
23792         Depend conditionally on crypto/arcfour.
23793         * modules/crypto/gc-arctwo (Depends-on):
23794         Depend conditionally on crypto/arctwo.
23795         * modules/crypto/gc-des (Depends-on):
23796         Depend conditionally on crypto/des.
23797         * modules/crypto/gc-hmac-md5 (Depends-on):
23798         Depend conditionally on crypto/hmac-md5.
23799         * modules/crypto/gc-hmac-sha1 (Depends-on):
23800         Depend conditionally on crypto/hmac-sha1.
23801         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
23802         * modules/crypto/gc-md4 (Depends-on):
23803         Depend conditionally on crypto/md4.
23804         * modules/crypto/gc-md5 (Depends-on):
23805         Depend conditionally on crypto/md5.
23806         * modules/crypto/gc-rijndael (Depends-on):
23807         Depend conditionally on crypto/rijndael.
23808         * modules/crypto/gc-sha1 (Depends-on):
23809         Depend conditionally on crypto/sha1.
23810         * modules/crypto/gc-arcfour:
23811         * modules/crypto/gc-arctwo:
23812         * modules/crypto/gc-des:
23813         * modules/crypto/gc-hmac-md5:
23814         * modules/crypto/gc-hmac-sha1:
23815         * modules/crypto/gc-md2:
23816         * modules/crypto/gc-md4:
23817         * modules/crypto/gc-md5:
23818         * modules/crypto/gc-rijndael:
23819         * modules/crypto/gc-sha1:
23820         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
23821         now that the conditional dependencies do the work for us.
23823 2011-11-17  Jim Meyering  <meyering@redhat.com>
23825         tests: factor st_ctime-comparison out of two headers
23826         * tests/test-utimens-common.h (ctime_compare): Define.
23827         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
23828         * tests/test-lutimens.h (test_lutimens): Likewise.
23829         * tests/test-utimens.h (test_utimens): Likewise.
23831         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
23832         Invoke the test program via an init.sh-using wrapper.
23833         * tests/test-getcwd.sh: New file.
23834         * modules/getcwd-tests (Files): Add it.
23835         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
23837 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
23839         gitlog-to-changelog: support multi-author commits.
23840         The FSF cares about keeping track of all authors of patches to its
23841         projects, but Git doesn't provide obvious support for multi-author
23842         changesets. Consensus seems to be forming around the use of extra
23843         Signed-off-by inspired lines in the log message formatted as
23844         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
23845         multi-author commits between version control systems.
23846         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
23847         log message and output in standard ChangeLog multi-author format.
23848         Reported by Peter Rosin <peda@lysator.liu.se>
23850 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
23851             Bruno Haible  <bruno@clisp.org>
23853         Fix some modules' file list.
23854         * modules/fstatat (Files): Add m4/lstat.m4.
23855         * modules/openat (Files): Likewise.
23856         * modules/unlinkat (Files): Likewise.
23858 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
23860         maint.mk: fix tight-scope.mk generation in VPATH builds.
23861         * top/maint.mk (tight-scope.mk): Make sure to prefix file
23862         reference with $(srcdir) so that the file is found correctly even
23863         when running `make syntax-check' in a VPATH build.
23865 2011-11-13  Bruno Haible  <bruno@clisp.org>
23866             Jim Meyering  <meyering@redhat.com>
23868         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
23869         * tests/init.sh (compare): Remove "No differences encountered" or
23870         synonymous output from the 'diff' program.
23872 2011-11-13  Bruno Haible  <bruno@clisp.org>
23874         Makefile: Tweak indentation.
23875         * Makefile: Use tab as first character in every line that contains rule
23876         commands.
23878 2011-11-13  Bruno Haible  <bruno@clisp.org>
23880         Syntax check for copyright statements.
23881         * check-copyright: New file.
23882         * Makefile (sc_check_copyright): New rule.
23884 2011-11-13  Simon Josefsson  <simon@josefsson.org>
23886         * build-aux/git-version-gen: Add --prefix to configure the tag
23887         match string.
23889 2011-11-13  Simon Josefsson  <simon@josefsson.org>
23891         * build-aux/git-version-gen: Add --help and --version.
23893 2011-11-12  Jim Meyering  <meyering@redhat.com>
23895         revamp the other test-exclude?.sh scripts to use init.sh, too
23896         * tests/test-exclude1.sh: Use init.sh.
23897         * tests/test-exclude2.sh: Likewise.
23898         * tests/test-exclude3.sh: Likewise.
23899         * tests/test-exclude4.sh: Likewise.
23900         * tests/test-exclude5.sh: Likewise.
23901         * tests/test-exclude6.sh: Likewise.
23902         * tests/test-exclude7.sh: Likewise.
23903         * tests/test-exclude8.sh: Likewise.
23904         * modules/exclude-tests (Files): List init.sh.
23906         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
23907         These shell scripts ignored failure of the binary test-exclude,
23908         so making the latter return 77 didn't cause them to be skipped.
23909         * tests/test-exclude5.sh: Exit with test-exclude's error status
23910         when that program fails.  Revamp to use init.sh.
23911         * tests/test-exclude2.sh: Likewise.
23913         test-exclude: fix a typo
23914         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
23916 2011-11-11  Bruno Haible  <bruno@clisp.org>
23918         obstack: Fix compilation error on MSVC 9.
23919         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
23921 2011-11-11  Jim Meyering  <meyering@redhat.com>
23923         test-exclude: skip tests rather than failing on deficient systems
23924         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
23925         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
23926         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
23927         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
23929 2011-11-10  Bruno Haible  <bruno@clisp.org>
23931         ptsname_r test: Avoid gcc warning on glibc systems.
23932         * tests/test-ptsname_r.c (null_ptr): New function.
23933         (test_errors): Use it.
23935 2011-11-10  Bruno Haible  <bruno@clisp.org>
23937         ptsname_r: Avoid compilation error on OSF/1 5.1.
23938         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
23939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
23940         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
23941         function is not declared or incompatibly declared.
23942         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
23943         * modules/ptsname_r (Depends-on, configure.ac): Update.
23944         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
23946 2011-11-10  Bruno Haible  <bruno@clisp.org>
23948         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
23949         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
23950         When cross-compiling, guess yes on all platforms except AIX.
23951         Reported by Ludovic Courtès <ludo@gnu.org>.
23953 2011-11-09  Bruno Haible  <bruno@clisp.org>
23955         ptsname_r tests: Fix bugs.
23956         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
23957         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
23959 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
23961         fstatat: work with cross-compilation
23962         Problem reported by Ludovic Courtès in
23963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
23964         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
23965         "cross-compiling" and assume the bug is present.  Replace
23966         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
23967         an inverted sense, to be more conservative about our assumptions.
23968         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
23970 2011-11-09  Bruno Haible  <bruno@clisp.org>
23972         Improve MODULES.html output.
23973         * modules/mkfifoat (Description): Use the word "function".
23974         * modules/readlinkat (Description): Likewise.
23975         * modules/symlinkat (Description): Likewise.
23977 2011-11-09  Eric Blake  <eblake@redhat.com>
23979         ptsname_r-tests: new test module
23980         * modules/ptsname_r-tests: New module.
23981         * tests/test-ptsname_r.c: New file.
23983         ptsname_r: new module
23984         * modules/ptsname_r: New module.
23985         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
23986         * lib/ptsname.c (__ptsname_r): Split...
23987         * lib/ptsname_r.c: ...into new file.
23988         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
23989         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
23990         * modules/stdlib (Makefile.am): Substitute witnesses.
23991         * lib/stdlib.in.h (ptsname_r): Declare it.
23992         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
23993         * MODULES.html.sh (Misc): Likewise.
23994         * modules/ptsname (Depends-on): Alter dependency.
23995         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
23997 2011-11-09  Jim Meyering  <meyering@redhat.com>
23999         announce-gen: be more concise when there's only one URL+tarball
24000         * build-aux/announce-gen (get_tool_versions): When you distribute
24001         only one type of tarball, combine the first two "Here are..."
24002         sections and make the key-checking grammar independent of
24003         how many tarballs there are.
24005 2011-11-09  Eric Blake  <eblake@redhat.com>
24007         openpty: provide a stub on mingw
24008         * lib/pty.in.h (includes): Provide forward declarations.
24009         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
24011         raise: fix mingw handling of SIGPIPE
24012         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
24014 2011-11-08  Bruno Haible  <bruno@clisp.org>
24016         More conditional dependencies.
24017         * modules/faccessat (Depends-on): Add conditions.
24018         * modules/fchmodat (Depends-on): Likewise.
24019         * modules/fchownat (Depends-on): Likewise.
24020         * modules/fstatat (Depends-on): Likewise.
24021         * modules/mkfifoat (Depends-on): Likewise.
24022         * modules/readlinkat (Depends-on): Likewise.
24023         * modules/symlinkat (Depends-on): Likewise.
24024         * modules/unlinkat (Depends-on): Likewise.
24025         * modules/utimensat (Depends-on): Likewise.
24026         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
24027         * modules/linkat (Depends-on): Refine the conditions.
24028         * modules/renameat (Depends-on): Likewise.
24030 2011-11-08  Bruno Haible  <bruno@clisp.org>
24032         faccessat: Move AC_LIBOBJ invocation to module description.
24033         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
24034         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
24035         invocation from here...
24036         * modules/faccessat (configure.ac): ... to here. Invoke
24037         gl_PREREQ_FACCESSAT.
24039 2011-11-08  Bruno Haible  <bruno@clisp.org>
24041         faccessat: Simplify autoconf macro.
24042         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
24043         gl_FUNC_EUIDACCESS.
24045 2011-11-08  Bruno Haible  <bruno@clisp.org>
24047         renameat: Fix dependencies.
24048         * modules/renameat (Depends-on): Add stdbool.
24050 2011-11-08  Bruno Haible  <bruno@clisp.org>
24052         mkfifoat: Fix module description.
24053         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
24054         not gl_UNISTD_MODULE_INDICATOR.
24056 2011-11-08  Bruno Haible  <bruno@clisp.org>
24058         fstatat: Remove unused dependency.
24059         * modules/fstatat (Depends-on): Remove fstat.
24061 2011-11-08  Simon Josefsson  <simon@josefsson.org>
24063         GNUmakefile: behave when Makefile is missing.
24064         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
24066 2011-11-08  Bruno Haible  <bruno@clisp.org>
24068         openat: Conditionalize dependencies.
24069         * lib/openat.c: Reduce the scope of some #includes.
24070         * modules/openat (Depends-on): Add conditions.
24072 2011-11-07  Jim Meyering  <meyering@redhat.com>
24074         maint.mk: extract GPG key ID without using a temporary file
24075         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
24076         without using a temporary file.  Based on a suggestion from Werner Koch
24077         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
24079 2011-11-07  Eric Blake  <eblake@redhat.com>
24081         grantpt: fix typo
24082         * lib/stdlib.in.h (grantpt): Check correct function.
24084         maint.mk: silence new syntax check
24085         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
24087 2011-11-06  Bruno Haible  <bruno@clisp.org>
24089         Doc about floating-point and math API.
24090         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
24091         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
24093 2011-11-06  Bruno Haible  <bruno@clisp.org>
24095         stdalign tests: Skip the test when compiled by Sun C.
24096         * tests/test-stdalign.c (main): Skip the test on Sun C.
24098 2011-11-06  Bruno Haible  <bruno@clisp.org>
24100         ansi-c++-opt: Complete the 2011-06-05 change.
24101         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
24102         does not support namespaces, set the variable to "no", not to ":".
24104 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
24106         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
24108 2011-11-06  Bruno Haible  <bruno@clisp.org>
24110         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
24111         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
24112         (minus_zerol) [HP-UX]: New macro.
24113         (unary_minus) [HP-UX]: New function.
24114         (copysignl) [HP-UX]: Use unary_minus function.
24116 2011-11-06  Bruno Haible  <bruno@clisp.org>
24118         ldexp, ldexpf, ldexpl: Enhance tests.
24119         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
24120         and tests/test-ldexpl.c.
24121         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
24122         LDEXP, MIN_EXP, MAX_EXP): New macros.
24123         Include test-ldexp.h.
24124         (main): Just call test_function.
24125         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
24126         infinity.h, nan.h.
24127         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
24128         MAX_EXP): New macros.
24129         Include test-ldexp.h.
24130         (x, y): Remove variables.
24131         (main): Just call test_function.
24132         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
24133         infinity.h, nan.h.
24134         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
24135         MAX_EXP): New macros.
24136         Include test-ldexp.h.
24137         (x, y): Remove variables.
24138         (main): Just call test_function.
24139         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
24140         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
24141         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
24142         (Depends-on): Add isnand-nolibm, signbit, float.
24143         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
24144         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
24145         (Depends-on): Add isnanf-nolibm, signbit, float.
24147 2011-11-06  Bruno Haible  <bruno@clisp.org>
24149         math tests: Cosmetics.
24150         * tests/test-math-c++.cc: Reorder declarations.
24152 2011-11-05  Bruno Haible  <bruno@clisp.org>
24154         fma*: Simplify test.
24155         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
24156         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
24158         Tests for module 'fmal'.
24159         * modules/fmal-tests: New file.
24160         * tests/test-fmal1.c: New file.
24161         * tests/test-fmal2.c: New file.
24163         New module 'fmal'.
24164         * lib/math.in.h (fmal): New declaration.
24165         * lib/fmal.c: New file.
24166         * m4/fmal.m4: New file.
24167         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
24168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
24169         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
24170         REPLACE_FMAL.
24171         * modules/fmal: New file.
24172         * doc/posix-functions/fmal.texi: Mention the new module and the various
24173         bugs.
24175         Tests for module 'fmaf'.
24176         * modules/fmaf-tests: New file.
24177         * tests/test-fmaf1.c: New file.
24178         * tests/test-fmaf2.c: New file.
24180         New module 'fmaf'.
24181         * lib/math.in.h (fmaf): New declaration.
24182         * lib/fmaf.c: New file.
24183         * m4/fmaf.m4: New file.
24184         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
24185         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
24186         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
24187         REPLACE_FMAF.
24188         * modules/fmaf: New file.
24189         * doc/posix-functions/fmaf.texi: Mention the new module and the various
24190         bugs.
24192         Tests for module 'fma'.
24193         * modules/fma-tests: New file.
24194         * tests/test-fma1.c: New file.
24195         * tests/test-fma1.h: New file.
24196         * tests/test-fma2.c: New file.
24197         * tests/test-fma2.h: New file.
24199         New module 'fma'.
24200         * lib/math.in.h (fma): New declaration.
24201         * lib/fma.c: New file.
24202         * m4/fma.m4: New file.
24203         * m4/fegetround.m4: New file.
24204         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
24205         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
24206         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
24207         REPLACE_FMA.
24208         * modules/fma: New file.
24209         * doc/posix-functions/fma.texi: Mention the new module and the various
24210         bugs.
24212         Extend gl_MATHFUNC.
24213         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
24214         Support 'void' as argument type.
24215         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
24217 2011-11-05  Jim Meyering  <meyering@redhat.com>
24219         maint.mk: also prohibit inclusion of dirent.h without use
24220         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
24222 2011-11-05  Bruno Haible  <bruno@clisp.org>
24224         ldexpl tests: Avoid test failure on MSVC 9.
24225         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
24226         value. Needed in order to enforce the conversion from a value greater
24227         than LDBL_MAX to Infinity.
24229 2011-11-05  Bruno Haible  <bruno@clisp.org>
24231         New modules 'at-internal', 'openat-h', split off from module 'openat'.
24232         * modules/at-internal: New file, extracted from modules/openat.
24233         * modules/openat-h: New file.
24234         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
24235         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
24236         * modules/openat (Description): Add reference to POSIX function.
24237         (Files): Remove lib/openat.h, lib/openat-proc.c.
24238         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
24239         intprops, unistd.
24240         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
24241         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
24242         gl_FCNTL_MODULE_INDICATOR.
24243         (Include): Remove unistd.h, openat.h.
24244         * modules/areadlinkat (Files): Add lib/at-func.c.
24245         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
24246         openat-die, openat-h, save-cwd.
24247         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
24248         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
24249         openat-die, openat-h, save-cwd, unistd.
24250         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
24251         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
24252         openat-h, save-cwd. Remove fcntl-h, openat.
24253         * modules/fchmodat (Files): Remove lib/openat.h.
24254         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
24255         openat, stdbool, unistd.
24256         * modules/fchownat (Files): Remove lib/openat.h.
24257         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
24258         openat, stdbool, sys_stat.
24259         * modules/fdopendir (Files): Remove lib/openat-priv.h,
24260         lib/openat-proc.c.
24261         (Depends-on): Add at-internal.
24262         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
24263         * modules/fstatat (Files): Remove lib/openat.h.
24264         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
24265         stdbool, unistd.
24266         * modules/fts (Depends-on): Add openat-h.
24267         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
24268         openat.
24269         * modules/mkdirat (Files): Remove lib/openat.h.
24270         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
24271         openat, stdbool, sys_stat.
24272         * modules/mkfifoat (Files): Add lib/at-func.c.
24273         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
24274         openat-h, save-cwd. Remove fcntl-h, openat.
24275         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
24276         * modules/readlinkat (Files): Add lib/at-func.c.
24277         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
24278         openat-h, save-cwd. Remove fcntl-h, openat.
24279         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
24280         openat.
24281         * modules/selinux-at (Files): Add lib/at-func.c.
24282         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
24283         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
24284         * modules/symlinkat (Files): Add lib/at-func.c.
24285         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
24286         openat-h, save-cwd. Remove fcntl-h, openat.
24287         * modules/unlinkat (Files): Remove lib/openat.h.
24288         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
24289         stdbool.
24290         * modules/utimensat (Files): Add lib/at-func.c.
24291         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
24292         openat-die, openat-h, save-cwd.
24293         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
24294         * modules/fdutimensat-tests (Depends-on): Add openat.
24295         * modules/fstatat-tests (Depends-on): Add openat-h.
24296         * modules/readlinkat-tests (Depends-on): Add openat.
24297         * modules/symlinkat-tests (Depends-on): Add openat.
24299 2011-11-05  Bruno Haible  <bruno@clisp.org>
24301         openat: Include <stdbool.h>.
24302         * lib/openat.c: Include <stdbool.h>.
24304 2011-11-04  Bruno Haible  <bruno@clisp.org>
24306         fchownat, renameat, unlinkat: Fix dependencies.
24307         * modules/fchownat (Depends-on): Add fstatat.
24308         * modules/renameat (Depends-on): Likewise.
24309         * modules/unlinkat (Depends-on): Likewise.
24311 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
24313         openat: remove direct dependency on dirent
24314         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
24315         and hasn't been needed ever since fdopendir was split into its own
24316         module on 2009-08-31.
24317         * modules/openat (Depends-on): Remove dirent.
24319 2011-11-04  Bruno Haible  <bruno@clisp.org>
24321         renameat: Optimize code size.
24322         * modules/renameat (configure.ac): Don't compile at-func2.c if
24323         REPLACE_RENAMEAT is 1.
24325 2011-11-04  Bruno Haible  <bruno@clisp.org>
24327         openat tests: Fix file list.
24328         * modules/openat-tests (Files): Add tests/test-open.h.
24330 2011-11-04  Bruno Haible  <bruno@clisp.org>
24332         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
24333         * modules/fchmodat (Depends-on): Add openat-die.
24334         * modules/fchownat (Depends-on): Likewise.
24335         * modules/linkat (Depends-on): Likewise.
24336         * modules/renameat (Depends-on): Likewise.
24337         * modules/openat (Depends-on): Add dirent.
24339 2011-11-04  Jim Meyering  <meyering@redhat.com>
24341         at-func*.c: fix comments
24342         * lib/at-func2.c: Correct/improve first-line comment.
24343         * lib/at-func.c: Correct grammar in first-line comment.
24345 2011-11-04  Bruno Haible  <bruno@clisp.org>
24347         New module 'mkdirat', split off from module 'openat'.
24348         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
24349         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
24350         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
24351         * modules/mkdirat: New file, extracted from modules/openat.
24352         * modules/openat (Files): Remove lib/mkdirat.c.
24353         (Depends-on): Remove mkdir.
24354         (configure.ac): Remove AC_LIBOBJ of mkdirat.
24355         (Include): Remove <sys/stat.h>.
24356         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
24357         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
24358         tests/test-mkdir.h.
24359         (Depends-on): Remove ignore-value.
24360         (Makefile.am): Remove rules for test-mkdirat.
24361         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
24362         of module 'openat'.
24363         * NEWS: Mention the change.
24365 2011-11-04  Bruno Haible  <bruno@clisp.org>
24367         closedir: Avoid warning on mingw.
24368         * lib/closedir.c: Include <unistd.h>.
24370 2011-11-04  Bruno Haible  <bruno@clisp.org>
24372         New module 'fstatat', split off from module 'openat'.
24373         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
24374         defined.
24375         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
24376         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
24377         gl_FUNC_FSTATAT.
24378         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
24379         * modules/fstatat: New file, extracted from modules/openat.
24380         * modules/openat (Files): Remove lib/fstatat.c.
24381         (Depends-on): Remove lstat.
24382         (configure.ac): Remove AC_LIBOBJ of fstatat.
24383         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
24384         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
24385         tests/test-lstat.h, tests/test-stat.h.
24386         (Depends-on): Remove getcwd-lgpl.
24387         (Makefile.am): Remove rules for test-fstatat.
24388         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
24389         of module 'openat'.
24390         * NEWS: Mention the change.
24391         * modules/getcwd (Depends-on): Add fstatat.
24392         * modules/linkat (Depends-on): Likewise.
24393         * modules/mkfifoat-tests (Depends-on): Likewise.
24394         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
24396 2011-11-03  Bruno Haible  <bruno@clisp.org>
24398         New module 'unlinkat', split off from module 'openat'.
24399         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
24400         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
24401         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
24402         * modules/unlinkat: New file, extracted from modules/openat. Correct
24403         the dependency conditions.
24404         * modules/openat (Files): Remove lib/unlinkat.c.
24405         (Depends-on): Remove rmdir, unlink.
24406         (configure.ac): Remove AC_LIBOBJ of unlinkat.
24407         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
24408         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
24409         tests/test-rmdir.h, tests/test-unlink.h.
24410         (Depends-on): Remove unlinkdir.
24411         (Makefile.am): Remove rules for test-unlinkat.
24412         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
24413         of module 'openat'.
24414         * NEWS: Mention the change.
24415         * modules/linkat-tests (Depends-on): Add unlinkat.
24416         * modules/mkfifoat-tests (Depends-on): Likewise.
24417         * modules/readlinkat-tests (Depends-on): Likewise.
24419 2011-11-02  Bruno Haible  <bruno@clisp.org>
24421         New module 'fchmodat', split off from module 'openat'.
24422         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
24423         defined.
24424         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
24425         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
24426         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
24427         * modules/fchmodat: New file, extracted from modules/openat.
24428         * modules/openat (Files): Remove lib/fchmodat.c.
24429         (configure.ac): Remove AC_LIBOBJ of fchmodat.
24430         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
24431         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
24432         (Makefile.am): Remove rules for test-fchmodat.
24433         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
24434         of module 'openat'.
24435         * NEWS: Mention the change.
24437 2011-11-02  Jim Meyering  <meyering@redhat.com>
24439         putenv: indent #definition of "environ" to placate cppi
24440         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
24442         gitlog-to-changelog: provide a ChangeLog-repair mechanism
24443         Git logs are often treated as immutable, because editing them
24444         changes the SHA1 checksums of all descendants.  Thus, errors in
24445         git logs tend to stay there forever.  However, when we generate
24446         a ChangeLog file -- typically for distribution -- from that git log,
24447         we can actually make corrections in the generated file.  The key
24448         lies in recording in machine-readable/applicable form the desired
24449         corrections.  See --help for description and an example.
24450         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
24451         (usage): Describe it; alphabetize option descriptions.
24452         (main): Honor the new option, carefully.
24454 2011-11-01  Jim Meyering  <meyering@redhat.com>
24456         gitlog-to-changelog: avoid an infloop
24457         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
24458         that ends up being empty.
24460 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24462         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
24463         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
24464         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
24465         contains (possibly-quoted) backslashes.  This should avoid
24466         all-too-common shell bugs if COMPLICATED contains backslashes in
24467         the "wrong" places.  Reported by David Evans in
24468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
24469         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
24470         because we want ASCII ranges.  Is there some reason we don't use
24471         the C locale everywhere in this script?
24472         (func_module, top level): Avoid unwanted pathname expansion when
24473         $repo_url_prefix or $repo_url_suffix_repl contain shell
24474         metacharacters like '?' and '*'.
24476 2011-11-01  Bruno Haible  <bruno@clisp.org>
24478         fchownat: Improve description.
24479         * modules/fchownat (Description): Add link to function.
24481 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
24483         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
24484         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
24485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
24486         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
24488 2011-11-01  Bruno Haible  <bruno@clisp.org>
24490         alignof: Avoid collision with stdalign module.
24491         * lib/alignof.h (alignof): Remove macro.
24492         * NEWS: Mention the change.
24493         Reported by Paul Eggert.
24495 2011-11-01  Bruno Haible  <bruno@clisp.org>
24497         New module 'fchownat', split off from module 'openat'.
24498         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
24499         defined.
24500         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
24501         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
24502         invoke gl_FUNC_FCHOWNAT.
24503         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
24504         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
24505         * modules/fchownat: New file, extracted from modules/openat.
24506         * modules/openat (Files): Remove lib/fchownat.c.
24507         (Depends-on): Remove lchown.
24508         (configure.ac): Remove AC_LIBOBJ of fchownat.
24509         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
24510         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
24511         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
24512         (Depends-on): Remove mgetgroups, usleep, stat-time.
24513         (configure.ac): Remove test for getegid.
24514         (Makefile.am): Remove rules for test-fchownat.
24515         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
24516         of module 'openat'.
24517         * NEWS: Mention the change.
24519 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
24521         stdalign: port better to MSVC and to Sun C 5.11
24522         This fixes some of the problems reported by Bruno Haible in
24523         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
24524         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
24525         shortcomings of MSVC and of Sun C 5.11.
24526         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
24527         around __declspec arg.
24528         * modules/stdalign-tests (Files): Add tests/macros.h.
24529         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
24530         Include macros.h, for ASSERT.
24531         (DECLARE_ALIGNED): Remove.
24532         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
24533         to catch bug), and to 1 if not (simplifies the rest of the code).
24534         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
24535         (CHECK_AUTO): Remove.
24536         (CHECK_ALIGNED): Check only the alignment of the static vars,
24537         since auto var alignment isn't supported by Sun C 5.11.
24538         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
24539         ASSERT failures are easier to diagnose.
24541 2011-10-31  Bruno Haible  <bruno@clisp.org>
24543         doc about some IRIX 5.3 problems.
24544         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
24545         on IRIX 5.3.
24546         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
24547         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
24548         5.3.
24549         * doc/posix-functions/grantpt.texi: Likewise.
24550         * doc/posix-functions/unlockpt.texi: Likewise.
24551         * doc/posix-functions/lgamma.texi: Likewise.
24552         * doc/posix-functions/nextafter.texi: Likewise.
24553         * doc/posix-functions/remainder.texi: Likewise.
24554         * doc/posix-functions/select.texi: Mention misplaced declaration on
24555         IRIX 5.3.
24556         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24558 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
24560         gitlog-to-changelog: fix git-log invocation.
24561         git-log mishandles date strings before 1970-01-01 UTC, and there is
24562         no use to specify --since=1970-01-01 by default anyway.
24563         * build-aux/gitlog-to-changelog: By default, when no --since option
24564         was given, do not specify explicit --since option to git-log.
24566 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
24568         gitlog-to-changelog: new option --append-dot.
24569         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
24570         first non-blank line of each commit message terminated with a dot.
24572 2011-10-30  Bruno Haible  <bruno@clisp.org>
24574         ffsl, ffsll: Avoid compilation error due to 'restrict'.
24575         * lib/ffsl.h: Include <config.h>.
24576         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
24578 2011-10-30  Jim Meyering  <meyering@redhat.com>
24580         GNUmakefile: reenable "make syntax-check" for most projects
24581         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
24582         build-aux variable", "syntax-check" would do nothing but succeed with
24583         the "No version control files detected..." diagnostic (unless you
24584         happened to override _build-aux via cfg.mk).
24585         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
24586         to precede inclusion of maint.mk.  Otherwise, these variables would
24587         be used undefined in any project that does not override the default.
24589 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
24591         gitlog-to-changelog: treat a message with only blank lines as empty.
24592         * build-aux/gitlog-to-changelog: Move the code that removes leading and
24593         trailing blank lines before the code that issues a warning about an
24594         empty commit message.
24596 2011-10-30  Jim Meyering  <meyering@redhat.com>
24598         test-parse-datetime.c: avoid new DST-related false positive test failure
24599         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
24600         based on the time/date we'll convert, not the current time.
24601         Otherwise, the moment we cross a DST boundary like today's in
24602         Europe, (CEST to CET), that offset ends up being one hour off.
24604 2011-10-27  Bruno Haible  <bruno@clisp.org>
24606         fstat: Tweak documentation.
24607         * modules/fstat (Description): More precise description.
24609 2011-10-27  Bruno Haible  <bruno@clisp.org>
24611         Update documentation regarding 'largefile' module.
24612         * doc/posix-functions/fstat.texi: Tweak wording.
24613         * doc/posix-functions/opendir.texi: Mention that the module fixes the
24614         problems with huge directories and/or small ino_t types.
24615         * doc/posix-functions/readdir.texi: Likewise.
24616         * doc/posix-functions/rewinddir.texi: Likewise.
24618 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
24620         maint.mk: don't maintain a second build-aux variable.
24621         * maint.mk (build_aux): Removed.  The maintainer-makefile module
24622         depends on GNUmakefile, which already maintains a cfg.mk
24623         overridable $(_build-aux) for projects with a non-standard
24624         build-aux directory location, although without the $(srcdir)
24625         prefix.  Use that variable consistently instead of introducing a
24626         second one.  Adjust all call sites.
24628 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
24630         Add stdalign module and use it in other modules.
24631         This is based on a previous proposal by Bruno Haible
24632         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
24634         stdalign: new module
24635         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
24636         * modules/stdalign: New files.
24637         * MODULES.html.sh (c1x_core_properties): Add stdalign.
24638         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
24640         stdalign-tests: new module
24641         * modules/stdalign-tests, tests/test-stdalign.c: New files.
24643         argp: use stdalign
24644         * lib/argp-parse.c: Include <stdalign.h>.
24645         (alignof): Remove.
24646         * modules/argp (Depends-on): Add stdalign.
24648         crypto libraries: use stdalign
24649         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
24650         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
24651         Do not include <stdlib.h> twice, in md4.c.
24652         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
24653         because we are accessing a pointer's bit-pattern, not a size.
24654         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
24655         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
24656         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
24657         * modules/crypto/sha512: Likewise.
24659         sys_socket: use stdalign, not alignof
24660         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
24661         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
24663 2011-10-27  Bruno Haible  <bruno@clisp.org>
24665         raise test: Avoid a test failure on Linux/MIPS.
24666         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
24667         because 99 is a valid signal on Linux/MIPS.
24669 2011-10-27  Bruno Haible  <bruno@clisp.org>
24671         nonblocking tests: Fix test failure on Linux/MIPS.
24672         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
24673         Set to 270000.
24675 2011-10-27  Bruno Haible  <bruno@clisp.org>
24677         utimensat: Work around problem on Linux/hppa.
24678         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
24679         values.
24680         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
24682 2011-10-25  Jim Meyering  <meyering@redhat.com>
24684         maint.mk: fix a bug in sc_prohibit_stddef_without_use
24685         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
24686         after symbols like NULL, size_t, etc.
24687         Reported by Alfred M. Szmidt.
24689         maint.mk: exempt ENODATA from a syntax-check rule
24690         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
24691         from the sc_prohibit_always-defined_macros syntax-check rule.
24692         Add a comment.  See this for more details:
24693         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
24695 2011-10-23  Jim Meyering  <meyering@redhat.com>
24697         fts: close parent dir FD before returning from post-traversal fts_read
24698         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
24699         unlink A, even though an FD open on A remained.  This is suboptimal
24700         (holding a file descriptor open longer than needed), but otherwise not
24701         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
24702         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
24703         that represents a real problem: it causes the removal of A to fail
24704         with e.g., "rm: cannot remove `A': Device or resource busy"
24706         fts visits each directory twice and keeps a cache (fts_fd_ring) of
24707         directory file descriptors.  After completing the final, FTS_DP,
24708         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
24709         cache, but then proceeded to add a new FD to it via the subsequent
24710         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
24711         final file descriptor would be closed only via fts_close's call to
24712         fd_ring_clear.  Now, it is usually closed earlier, via the final
24713         FTS_DP-returning fts_read call.
24714         * lib/fts.c (restore_initial_cwd): New function, converted from
24715         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
24716         Update callers.
24717         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
24718         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
24720 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
24721             Bruno Haible  <bruno@clisp.org>
24722             Jim Meyering  <jim@meyering.net>
24724         readme-release: improve safety of release prep instructions.
24725         * README-release: Don't git pull all branches when only master
24726         is needed for the release process.
24727         Run make maintainer-clean before changing trees and merging.
24728         Don't try to run ./configure right after git pull in case files
24729         that influence the bootstrap process have changed, move the
24730         ./configure step to after running ./bootstrap.
24731         Don't bootstrap "one last time"... it's the first time!
24733 2011-10-22  Bruno Haible  <bruno@clisp.org>
24735         errno, strerror-override: Support for MSVC 10.
24736         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
24737         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
24738         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
24739         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
24740         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
24741         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
24742         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
24743         Assign values compatible with MSVC 10.
24744         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
24745         New macros.
24746         (GNULIB_defined_EWINSOCK): New macro.
24747         * lib/strerror-override.c (strerror_override): Update accordingly.
24748         * lib/strerror-override.h: Likewise.
24749         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
24750         longer equal to the corresponding errno value.
24751         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24753 2011-10-22  Bruno Haible  <bruno@clisp.org>
24755         perror: Recognize when test program crashes.
24756         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
24757         strerror, set gl_cv_func_perror_works to no.
24758         Reported by Daniel Richard G. <skunk@iskunk.org>.
24760         perror: Fix indentation.
24761         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
24763 2011-10-22  Bruno Haible  <bruno@clisp.org>
24765         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
24766         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
24767         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
24768         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
24769         functions, not as a macro.
24770         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
24771         macros.
24772         (isfinite, isinf, isnan, signbit): Check overloaded functions and
24773         absence of macro.
24774         Suggested by Eric Blake.
24775         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
24777 2011-10-21  Bruno Haible  <bruno@clisp.org>
24779         relocatable-prog-wrapper: Don't leave object files behind.
24780         * build-aux/install-reloc: Re-synchronize list of .o files to be
24781         removed with list of compilation units.
24783 2011-10-20  Bruno Haible  <bruno@clisp.org>
24785         openpty, posix_openpt: Remove code duplication.
24786         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
24787         * lib/openpty.c: Include <stdlib.h>.
24788         (openpty): Use posix_openpt on all platforms except IRIX.
24789         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
24791 2011-10-20  Bruno Haible  <bruno@clisp.org>
24793         unlockpt: Detect invalid argument.
24794         * lib/unlockpt.c: Include <fcntl.h>.
24795         (unlockpt): Check whether fd is valid, using fcntl().
24796         * modules/unlockpt (Depends-on): Add fcntl-h.
24798 2011-10-20  Bruno Haible  <bruno@clisp.org>
24800         openpty: Avoid compilation error on AIX 6.1.
24801         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
24803 2011-10-20  Bruno Haible  <bruno@clisp.org>
24805         posix_openpt: Support for OpenBSD.
24806         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
24807         (posix_openpt) [OpenBSD]: New code.
24808         * lib/grantpt.c: Include <fcntl.h>.
24809         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
24810         * modules/grantpt (Depends-on): Add fcntl-h.
24812 2011-10-20  Bruno Haible  <bruno@clisp.org>
24814         posix_openpt test: Coding style.
24815         * tests/test-posix_openpt.c: Use GNU coding style.
24817 2011-10-20  Bruno Haible  <bruno@clisp.org>
24819         grantpt: Support --avoid=pt_chown.
24820         * modules/grantpt (Files): Add lib/pty-private.h.
24822 2011-10-20  Bruno Haible  <bruno@clisp.org>
24824         posix_openpt: Fix autoconf macro.
24825         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
24826         unneeded check for _getpty.
24828 2011-10-20  Bruno Haible  <bruno@clisp.org>
24830         openpty: Update comments.
24831         * lib/openpty.c: Add comments about Minix.
24833 2011-10-19  Eric Blake  <eblake@redhat.com>
24835         openpty: relax license
24836         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
24838         pt_chown: use configmake to simplify build
24839         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
24841         ptsname and others: relax license
24842         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
24843         * modules/unlockpt (License): Likewise.
24844         * modules/pt_chown (License): Likewise.
24845         * modules/ptsname (License): Likewise.
24846         * modules/ttyname_r (License): Likewise.
24848 2011-10-19  Jim Meyering  <meyering@redhat.com>
24850         posix_openpt: remove spurious #endif
24851         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
24853 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
24855         maint.mk: Respect $(build_aux) in web-manual rule.
24856         * top/maint.mk (web-manual): Find gen-announce script in user's
24857         $(build_aux) directory instead of hard-coding 'build-aux'.
24859 2011-10-19  Bruno Haible  <bruno@clisp.org>
24861         posix_openpt: Fix compilation error.
24862         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
24863         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
24864         Mention the openpty module as an alternative.
24866 2011-10-19  Bruno Haible  <bruno@clisp.org>
24868         Support for old NeXTstep 3.3 frexp().
24869         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
24870         execution time of the test to 5 seconds.
24871         Reported by Daniel Richard G. <skunk@iskunk.org>.
24873 2011-10-19  Bruno Haible  <bruno@clisp.org>
24875         Support for old NeXTstep 3.3 sed.
24876         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
24877         part, use /.../, not \|...|. Escape periods in the header file name.
24878         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
24879         Reported by Daniel Richard G. <skunk@iskunk.org>.
24881 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
24883         Support for old NeXTstep 3.3 gcc.
24884         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
24885         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
24886         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
24887         * lib/spawn.in.h (_Restrict_arr_): Likewise.
24888         * lib/regex.h (_Restrict_arr_): Likewise.
24889         * lib/regex_internal.h (re_token_t): Likewise.
24890         * lib/regexec.c (check_node_accept_bytes): Likewise.
24891         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
24893 2011-10-18  Eric Blake  <eblake@redhat.com>
24895         posix_openpt: new module
24896         * modules/posix_openpt: New module.
24897         * m4/posix_openpt.m4: New file.
24898         * lib/posix_openpt.c: Likewise.
24899         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
24900         (gl_STDLIB_H_DEFAULTS): Set defaults.
24901         * modules/stdlib (Makefile.am): Substitute macros.
24902         * lib/stdlib.in.h (posix_openpt): Declare.
24903         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
24904         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
24905         * modules/posix_openpt-tests: New test module.
24906         * tests/test-posix_openpt.c: New test.
24908 2011-10-15  Bruno Haible  <bruno@clisp.org>
24910         xstrtoll: Fix compilation failure.
24911         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
24912         from lib/strtol.c.
24913         * doc/posix-headers/limits.texi: Mention missing numerical limits on
24914         some platforms.
24915         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24917 2011-10-15  Bruno Haible  <bruno@clisp.org>
24919         vasnprintf: Optimize bit search operation.
24920         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
24921         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
24922         gl_DOUBLE_EXPONENT_LOCATION.
24923         * modules/vasnprintf (Files): Add m4/exponentd.m4.
24924         * modules/unistdio/u8-vasnprintf (Files): Likewise.
24925         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
24926         * modules/unistdio/u16-vasnprintf (Files): Likewise.
24927         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
24928         * modules/unistdio/u32-vasnprintf (Files): Likewise.
24929         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
24930         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
24931         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
24933 2011-10-15  Bruno Haible  <bruno@clisp.org>
24935         vasnprintf: Fix comments.
24936         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
24938 2011-10-14  Bruno Haible  <bruno@clisp.org>
24940         Tests for module 'integer_length_ll'.
24941         * modules/integer_length_ll-tests: New file.
24942         * tests/test-integer_length_ll.c: New file.
24944         New module 'integer_length_ll'.
24945         * lib/integer_length_ll.c: New file.
24946         * modules/integer_length_ll: New file.
24948 2011-10-14  Bruno Haible  <bruno@clisp.org>
24950         Tests for module 'integer_length_l'.
24951         * modules/integer_length_l-tests: New file.
24952         * tests/test-integer_length_l.c: New file.
24954         New module 'integer_length_l'.
24955         * lib/integer_length_l.c: New file.
24956         * modules/integer_length_l: New file.
24958 2011-10-14  Bruno Haible  <bruno@clisp.org>
24960         Tests for module 'integer_length'.
24961         * modules/integer_length-tests: New file.
24962         * tests/test-integer_length.c: New file.
24964         New module 'integer_length'.
24965         * lib/integer_length.h: New file.
24966         * lib/integer_length.c: New file.
24967         * modules/integer_length: New file.
24969 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
24971         popen: Fix dependency conditions.
24972         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
24974 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
24976         perror: Fix autoconf test.
24977         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
24978         <stdlib.h> and <string.h>.
24980 2011-10-14  Bruno Haible  <bruno@clisp.org>
24982         ffsl: Optimize on 64-bit platforms.
24983         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
24984         unrolling.
24986 2011-10-13  Bruno Haible  <bruno@clisp.org>
24988         ffsl: Optimize on 32-bit platforms.
24989         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
24990         use ffs() without a loop.
24992         ffsl, ffsll: Optimize for GCC.
24993         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
24994         * lib/ffsl.c (GCC_BUILTIN): New macro.
24995         * lib/ffsll.c (GCC_BUILTIN): Likewise.
24997 2011-10-13  Bruno Haible  <bruno@clisp.org>
24999         ffs, bcopy, memset: Support symbol renaming via config.h.
25000         * lib/ffs.c: Include <config.h>.
25001         * lib/bcopy.c: Likewise.
25002         * lib/memset.c: Likewise.
25004 2011-10-10  Bruno Haible  <bruno@clisp.org>
25006         atanl: Simplify for platforms where 'long double' == 'double'.
25007         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25008         alternative implementation.
25009         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25010         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25011         * modules/atanl (Depends-on): Add atan. Update conditions.
25013 2011-10-10  Bruno Haible  <bruno@clisp.org>
25015         acosl: Simplify for platforms where 'long double' == 'double'.
25016         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25017         alternative implementation.
25018         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25019         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25020         * modules/acosl (Depends-on): Add acos. Update conditions.
25022 2011-10-10  Bruno Haible  <bruno@clisp.org>
25024         asinl: Simplify for platforms where 'long double' == 'double'.
25025         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25026         alternative implementation.
25027         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25028         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25029         * modules/asinl (Depends-on): Add asin. Update conditions.
25031 2011-10-10  Bruno Haible  <bruno@clisp.org>
25033         tanl: Simplify for platforms where 'long double' == 'double'.
25034         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
25035         implementation.
25036         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25037         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25038         * modules/tanl (Depends-on): Add tan. Update conditions.
25039         (configure.ac): Don't compile trigl.c if
25040         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25042 2011-10-10  Bruno Haible  <bruno@clisp.org>
25044         cosl: Simplify for platforms where 'long double' == 'double'.
25045         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
25046         implementation.
25047         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25048         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25049         * modules/cosl (Depends-on): Add cos. Update conditions.
25050         (configure.ac): Don't compile sincosl.c and trigl.c if
25051         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25053 2011-10-10  Bruno Haible  <bruno@clisp.org>
25055         sinl: Simplify for platforms where 'long double' == 'double'.
25056         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
25057         implementation.
25058         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25059         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25060         * modules/sinl (Depends-on): Add sin. Update conditions.
25061         (configure.ac): Don't compile sincosl.c and trigl.c if
25062         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25064 2011-10-10  Bruno Haible  <bruno@clisp.org>
25066         logl: Simplify for platforms where 'long double' == 'double'.
25067         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
25068         implementation.
25069         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25070         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25071         * modules/logl (Depends-on): Add log. Update conditions.
25073 2011-10-10  Bruno Haible  <bruno@clisp.org>
25075         expl: Simplify for platforms where 'long double' == 'double'.
25076         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
25077         implementation.
25078         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25079         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25080         * modules/expl (Depends-on): Add exp. Update conditions.
25082 2011-10-10  Bruno Haible  <bruno@clisp.org>
25084         sqrtl: Simplify for platforms where 'long double' == 'double'.
25085         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25086         alternative implementation.
25087         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25088         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25089         * modules/sqrtl (Depends-on): Update conditions.
25091 2011-10-10  Bruno Haible  <bruno@clisp.org>
25093         ldexpl: Simplify for platforms where 'long double' == 'double'.
25094         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25095         alternative implementation.
25096         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25097         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25098         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
25100 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
25102         ffsll: set correct witness
25103         * modules/ffsll (configure.ac): Fix typo.
25105 2011-10-10  Bruno Haible  <bruno@clisp.org>
25107         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
25108         * lib/printf-frexpl.c: Include <config.h>.
25109         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25110         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
25111         second time.
25112         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
25113         gl_LONG_DOUBLE_VS_DOUBLE.
25114         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
25115         conditions.
25117 2011-10-10  Bruno Haible  <bruno@clisp.org>
25119         frexpl: Simplify for platforms where 'long double' == 'double'.
25120         * lib/frexpl.c: Include <config.h>.
25121         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25122         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25123         time.
25124         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25125         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25126         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
25127         * modules/frexpl (Depends-on): Add frexp. Update conditions.
25128         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
25129         conditions.
25131 2011-10-10  Jim Meyering  <meyering@redhat.com>
25133         test-renameat: don't leave behind a temporary file
25134         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
25135           ERROR: files left in build directory after distclean:
25136           ./gltests/test-renameat.too
25137           make[1]: *** [distcleancheck] Error 1
25138         Reported by Tom G. Christensen.
25140 2011-10-09  Bruno Haible  <bruno@clisp.org>
25142         rint: Determine RINT_LIBM correctly on AIX 7.
25143         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
25144         directly, not only through a function pointer. Also accept an optional
25145         4th argument with extra code.
25146         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
25147         rintf() call by gcc when optimizing.
25149         mathfunc.m4: Refactor.
25150         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
25151         m4 variable.
25153 2011-10-09  Bruno Haible  <bruno@clisp.org>
25155         rintl: Simplify for platforms where 'long double' == 'double'.
25156         * lib/rintl.c: Include <config.h>.
25157         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25158         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25159         time.
25160         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25161         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25162         * modules/rintl (Depends-on): Add rint. Update conditions.
25164 2011-10-09  Bruno Haible  <bruno@clisp.org>
25166         roundl: Simplify for platforms where 'long double' == 'double'.
25167         * lib/roundl.c: Include <config.h>.
25168         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25169         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25170         time.
25171         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25172         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25173         * modules/roundl (Depends-on): Add round. Update conditions.
25175 2011-10-09  Bruno Haible  <bruno@clisp.org>
25177         truncl: Simplify for platforms where 'long double' == 'double'.
25178         * lib/truncl.c: Include <config.h>.
25179         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25180         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25181         time.
25182         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25183         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25184         * modules/truncl (Depends-on): Add trunc. Update conditions.
25186 2011-10-09  Bruno Haible  <bruno@clisp.org>
25188         ceill: Simplify for platforms where 'long double' == 'double'.
25189         * lib/ceill.c: Include <config.h>.
25190         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25191         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25192         time.
25193         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25194         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25195         * modules/ceill (Depends-on): Add ceil. Update conditions.
25197 2011-10-09  Bruno Haible  <bruno@clisp.org>
25199         floorl: Simplify for platforms where 'long double' == 'double'.
25200         * lib/floorl.c: Include <config.h>.
25201         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
25202         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
25203         time.
25204         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25205         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25206         * modules/floorl (Depends-on): Add floor. Update conditions.
25208 2011-10-09  Bruno Haible  <bruno@clisp.org>
25210         rint: Fix ordering constraints.
25211         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
25212         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
25213         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
25215 2011-10-09  Bruno Haible  <bruno@clisp.org>
25217         copysignl: Simplify for platforms where 'long double' == 'double'.
25218         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
25219         alternative.
25220         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25221         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
25222         * modules/copysignl (Depends-on): Add copysign. Update conditions.
25224 2011-10-09  Bruno Haible  <bruno@clisp.org>
25226         Tests for module 'rintl'.
25227         * modules/rintl-tests: New file.
25228         * tests/test-rintl.c: New file.
25230         New module 'rintl'.
25231         * lib/math.in.h (rintl): New declaration.
25232         * lib/rintl.c: New file.
25233         * m4/rintl.m4: New file.
25234         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
25235         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
25236         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
25237         * modules/rintl: New file.
25238         * tests/test-math-c++.cc: Check the declaration of rintl.
25239         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
25240         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
25241         * doc/posix-functions/rintl.texi: Mention the new module.
25243 2011-10-09  Bruno Haible  <bruno@clisp.org>
25245         Tests for module 'rintf'.
25246         * modules/rintf-tests: New file.
25247         * tests/test-rintf.c: New file.
25249         New module 'rintf'.
25250         * lib/math.in.h (rintf): New declaration.
25251         * lib/rintf.c: New file.
25252         * m4/rintf.m4: New file.
25253         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
25254         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
25255         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
25256         * modules/rintf: New file.
25257         * tests/test-math-c++.cc: Check the declaration of rintf.
25258         * doc/posix-functions/rintf.texi: Mention the new module.
25260 2011-10-09  Bruno Haible  <bruno@clisp.org>
25262         rint: Support for MSVC.
25263         * lib/math.in.h (rint): New declaration.
25264         * lib/rint.c: New file.
25265         * m4/rint.m4: New file.
25266         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
25267         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
25268         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
25269         * modules/rint (Description): Fix.
25270         (Files): Add lib/rint.c, m4/rint.m4.
25271         (Depends-on): Add math.
25272         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
25273         gl_MATH_MODULE_INDICATOR.
25274         * tests/test-math-c++.cc: Check the declaration of rint.
25275         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
25276         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
25277         * doc/posix-functions/rint.texi: Mention the replacement provided by
25278         the module.
25280         rint tests: More tests.
25281         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
25282         minus-zero.h, infinity.h, nan.h.
25283         (main): Skip the test if the current rounding mode is not standard. Add
25284         tests for negative numbers, minus zero, infinity, NaN.
25285         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
25286         tests/nan.h.
25287         (Depends-on): Add isnand-nolibm.
25289 2011-10-09  Bruno Haible  <bruno@clisp.org>
25291         Tests for module 'copysignl'.
25292         * modules/copysignl-tests: New file.
25293         * tests/test-copysignl.c: New file.
25295         New module 'copysignl'.
25296         * lib/math.in.h (copysignl): New declaration.
25297         * lib/copysignl.c: New file.
25298         * m4/copysignl.m4: New file.
25299         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
25300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
25301         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
25302         HAVE_COPYSIGNL.
25303         * modules/copysignl: New file.
25304         * tests/test-math-c++.cc: Check the declaration of copysignl.
25305         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
25306         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
25307         * doc/posix-functions/copysignl.texi: Mention the new module.
25309 2011-10-09  Bruno Haible  <bruno@clisp.org>
25311         Tests for module 'copysignf'.
25312         * modules/copysignf-tests: New file.
25313         * tests/test-copysignf.c: New file.
25315         New module 'copysignf'.
25316         * lib/math.in.h (copysignf): New declaration.
25317         * lib/copysignf.c: New file.
25318         * m4/copysignf.m4: New file.
25319         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
25320         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
25321         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
25322         HAVE_COPYSIGNF.
25323         * modules/copysignf: New file.
25324         * tests/test-math-c++.cc: Check the declaration of copysignf.
25325         * doc/posix-functions/copysignf.texi: Mention the new module.
25327 2011-10-09  Bruno Haible  <bruno@clisp.org>
25329         Ensure that HAVE_* variables are set to 1 before they are set to 0.
25330         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
25331         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
25332         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
25333         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
25334         gl_SIGNAL_H_DEFAULTS.
25336 2011-10-09  Bruno Haible  <bruno@clisp.org>
25338         poll: Make macro safer.
25339         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
25340         ac_cv_header_poll_h is not set.
25342 2011-10-09  Bruno Haible  <bruno@clisp.org>
25344         copysign: Provide replacement.
25345         * lib/math.in.h (copysign): New declaration.
25346         * lib/copysign.c: New file.
25347         * m4/copysign.m4: New file.
25348         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
25349         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
25350         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
25351         HAVE_COPYSIGN.
25352         * modules/copysign (Description): Clarify.
25353         (Files): Add lib/copysign.c, m4/copysign.m4.
25354         (Depends-on): Add math, signbit.
25355         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
25356         gl_MATH_MODULE_INDICATOR.
25357         * tests/test-math-c++.cc: Check the declaration of copysign.
25358         * doc/posix-functions/copysign.texi: Mention the effects of the module
25359         on Minix and MSVC.
25361 2011-10-09  Bruno Haible  <bruno@clisp.org>
25363         isinf: Ensure macro on AIX 5.1.
25364         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
25365         macro.
25366         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
25368 2011-10-09  Bruno Haible  <bruno@clisp.org>
25370         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
25371         * modules/snprintf-posix-tests (configure.ac): Require
25372         gl_LONG_DOUBLE_VS_DOUBLE.
25373         * modules/sprintf-posix-tests (configure.ac): Likewise.
25374         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
25375         * modules/vasprintf-posix-tests (configure.ac): Likewise.
25376         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
25377         * modules/vsprintf-posix-tests (configure.ac): Likewise.
25378         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
25379         tests on platforms where 'long double' is the same as 'double'.
25380         * tests/test-sprintf-posix.h (test_function): Likewise.
25381         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25382         * tests/test-vasprintf-posix.c (test_function): Likewise.
25384         *printf: Fix for platforms where 'long double' == 'double'.
25385         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
25386         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
25387         * modules/dprintf-posix (Files): Add m4/math_h.m4.
25388         * modules/fprintf-posix (Files): Likewise.
25389         * modules/obstack-printf-posix (Files): Likewise.
25390         * modules/snprintf-posix (Files): Likewise.
25391         * modules/sprintf-posix (Files): Likewise.
25392         * modules/vasnprintf (Files): Likewise.
25393         * modules/vasnprintf-posix (Files): Likewise.
25394         * modules/vasprintf-posix (Files): Likewise.
25395         * modules/vdprintf-posix (Files): Likewise.
25396         * modules/vfprintf-posix (Files): Likewise.
25397         * modules/vsnprintf-posix (Files): Likewise.
25398         * modules/vsprintf-posix (Files): Likewise.
25399         * modules/unistdio/u8-vasnprintf (Files): Likewise.
25400         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
25401         * modules/unistdio/u16-vasnprintf (Files): Likewise.
25402         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
25403         * modules/unistdio/u32-vasnprintf (Files): Likewise.
25404         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
25405         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
25407         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
25408         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
25409         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
25410         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
25411         'long double'.
25412         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
25414         isinf: Fix for platforms where 'long double' == 'double'.
25415         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
25416         Don't blindly assume 80-bit 'long double'.
25418         isfinite: Fix for platforms where 'long double' == 'double'.
25419         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
25420         Don't blindly assume 80-bit 'long double'.
25422         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
25423         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
25424         * modules/isfinite-tests (configure.ac): Require
25425         gl_LONG_DOUBLE_VS_DOUBLE.
25426         * modules/isinf-tests (configure.ac): Likewise.
25427         * modules/isnan-tests (configure.ac): Likewise.
25428         * modules/isnanl-tests (configure.ac): Likewise.
25429         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
25430         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
25431         tests on platforms where 'long double' is the same as 'double'.
25432         * tests/test-isinf.c (test_isinfl): Likewise.
25433         * tests/test-isnan.c (test_long_double): Likewise.
25434         * tests/test-isnanl.h (main): Likewise.
25436 2011-10-08  Bruno Haible  <bruno@clisp.org>
25438         Tests for module 'tanhf'.
25439         * modules/tanhf-tests: New file.
25440         * tests/test-tanhf.c: New file.
25442         New module 'tanhf'.
25443         * lib/math.in.h (tanhf): New declaration.
25444         * lib/tanhf.c: New file.
25445         * m4/tanhf.m4: New file.
25446         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
25447         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
25448         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
25449         * modules/tanhf: New file.
25450         * tests/test-math-c++.cc: Check the declaration of tanhf.
25451         * doc/posix-functions/tanhf.texi: Mention the new module.
25453         tanh: Use a .m4 file.
25454         * m4/tanh.m4: New file.
25455         * modules/tanh (Files): Add it.
25456         (configure.ac): Just invoke gl_FUNC_TANH.
25458 2011-10-08  Bruno Haible  <bruno@clisp.org>
25460         Tests for module 'coshf'.
25461         * modules/coshf-tests: New file.
25462         * tests/test-coshf.c: New file.
25464         New module 'coshf'.
25465         * lib/math.in.h (coshf): New declaration.
25466         * lib/coshf.c: New file.
25467         * m4/coshf.m4: New file.
25468         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
25469         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
25470         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
25471         * modules/coshf: New file.
25472         * tests/test-math-c++.cc: Check the declaration of coshf.
25473         * doc/posix-functions/coshf.texi: Mention the new module.
25475         cosh: Use a .m4 file.
25476         * m4/cosh.m4: New file.
25477         * modules/cosh (Files): Add it.
25478         (configure.ac): Just invoke gl_FUNC_COSH.
25480 2011-10-08  Bruno Haible  <bruno@clisp.org>
25482         Tests for module 'sinhf'.
25483         * modules/sinhf-tests: New file.
25484         * tests/test-sinhf.c: New file.
25486         New module 'sinhf'.
25487         * lib/math.in.h (sinhf): New declaration.
25488         * lib/sinhf.c: New file.
25489         * m4/sinhf.m4: New file.
25490         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
25491         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
25492         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
25493         * modules/sinhf: New file.
25494         * tests/test-math-c++.cc: Check the declaration of sinhf.
25495         * doc/posix-functions/sinhf.texi: Mention the new module.
25497         sinh: Use a .m4 file.
25498         * m4/sinh.m4: New file.
25499         * modules/sinh (Files): Add it.
25500         (configure.ac): Just invoke gl_FUNC_SINH.
25502 2011-10-08  Bruno Haible  <bruno@clisp.org>
25504         Tests for module 'atan2f'.
25505         * modules/atan2f-tests: New file.
25506         * tests/test-atan2f.c: New file.
25508         New module 'atan2f'.
25509         * lib/math.in.h (atan2f): New declaration.
25510         * lib/atan2f.c: New file.
25511         * m4/atan2f.m4: New file.
25512         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
25513         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
25514         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
25515         * modules/atan2f: New file.
25516         * tests/test-math-c++.cc: Check the declaration of atan2f.
25517         * doc/posix-functions/atan2f.texi: Mention the new module.
25519         atan2: Use a .m4 file.
25520         * m4/atan2.m4: New file.
25521         * modules/atan2 (Files): Add it.
25522         (configure.ac): Just invoke gl_FUNC_ATAN2.
25524 2011-10-08  Bruno Haible  <bruno@clisp.org>
25526         Tests for module 'atanf'.
25527         * modules/atanf-tests: New file.
25528         * tests/test-atanf.c: New file.
25530         New module 'atanf'.
25531         * lib/math.in.h (atanf): New declaration.
25532         * lib/atanf.c: New file.
25533         * m4/atanf.m4: New file.
25534         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
25535         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
25536         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
25537         * modules/atanf: New file.
25538         * tests/test-math-c++.cc: Check the declaration of atanf.
25539         * doc/posix-functions/atanf.texi: Mention the new module.
25541         atan: Use a .m4 file.
25542         * m4/atan.m4: New file.
25543         * modules/atan (Files): Add it.
25544         (configure.ac): Just invoke gl_FUNC_ATAN.
25546 2011-10-08  Bruno Haible  <bruno@clisp.org>
25548         Tests for module 'acosf'.
25549         * modules/acosf-tests: New file.
25550         * tests/test-acosf.c: New file.
25552         New module 'acosf'.
25553         * lib/math.in.h (acosf): New declaration.
25554         * lib/acosf.c: New file.
25555         * m4/acosf.m4: New file.
25556         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
25557         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
25558         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
25559         * modules/acosf: New file.
25560         * tests/test-math-c++.cc: Check the declaration of acosf.
25561         * doc/posix-functions/acosf.texi: Mention the new module.
25563         acos: Use a .m4 file.
25564         * m4/acos.m4: New file.
25565         * modules/acos (Files): Add it.
25566         (configure.ac): Just invoke gl_FUNC_ACOS.
25568 2011-10-08  Bruno Haible  <bruno@clisp.org>
25570         Tests for module 'asinf'.
25571         * modules/asinf-tests: New file.
25572         * tests/test-asinf.c: New file.
25574         New module 'asinf'.
25575         * lib/math.in.h (asinf): New declaration.
25576         * lib/asinf.c: New file.
25577         * m4/asinf.m4: New file.
25578         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
25579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
25580         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
25581         * modules/asinf: New file.
25582         * tests/test-math-c++.cc: Check the declaration of asinf.
25583         * doc/posix-functions/asinf.texi: Mention the new module.
25585         asin: Use a .m4 file.
25586         * m4/asin.m4: New file.
25587         * modules/asin (Files): Add it.
25588         (configure.ac): Just invoke gl_FUNC_ASIN.
25590 2011-10-08  Bruno Haible  <bruno@clisp.org>
25592         Tests for module 'tanf'.
25593         * modules/tanf-tests: New file.
25594         * tests/test-tanf.c: New file.
25596         New module 'tanf'.
25597         * lib/math.in.h (tanf): New declaration.
25598         * lib/tanf.c: New file.
25599         * m4/tanf.m4: New file.
25600         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
25601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
25602         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
25603         * modules/tanf: New file.
25604         * tests/test-math-c++.cc: Check the declaration of tanf.
25605         * doc/posix-functions/tanf.texi: Mention the new module.
25607         tan: Use a .m4 file.
25608         * m4/tan.m4: New file.
25609         * modules/tan (Files): Add it.
25610         (configure.ac): Just invoke gl_FUNC_TAN.
25612 2011-10-08  Bruno Haible  <bruno@clisp.org>
25614         Tests for module 'cosf'.
25615         * modules/cosf-tests: New file.
25616         * tests/test-cosf.c: New file.
25618         New module 'cosf'.
25619         * lib/math.in.h (cosf): New declaration.
25620         * lib/cosf.c: New file.
25621         * m4/cosf.m4: New file.
25622         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
25623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
25624         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
25625         * modules/cosf: New file.
25626         * tests/test-math-c++.cc: Check the declaration of cosf.
25627         * doc/posix-functions/cosf.texi: Mention the new module.
25629         cos: Use a .m4 file.
25630         * m4/cos.m4: New file.
25631         * modules/cos (Files): Add it.
25632         (configure.ac): Just invoke gl_FUNC_COS.
25634 2011-10-08  Bruno Haible  <bruno@clisp.org>
25636         Tests for module 'sinf'.
25637         * modules/sinf-tests: New file.
25638         * tests/test-sinf.c: New file.
25640         New module 'sinf'.
25641         * lib/math.in.h (sinf): New declaration.
25642         * lib/sinf.c: New file.
25643         * m4/sinf.m4: New file.
25644         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
25645         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
25646         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
25647         * modules/sinf: New file.
25648         * tests/test-math-c++.cc: Check the declaration of sinf.
25649         * doc/posix-functions/sinf.texi: Mention the new module.
25651         sin: Use a .m4 file.
25652         * m4/sin.m4: New file.
25653         * modules/sin (Files): Add it.
25654         (configure.ac): Just invoke gl_FUNC_SIN.
25656 2011-10-08  Bruno Haible  <bruno@clisp.org>
25658         Tests for module 'powf'.
25659         * modules/powf-tests: New file.
25660         * tests/test-powf.c: New file.
25662         New module 'powf'.
25663         * lib/math.in.h (powf): New declaration.
25664         * lib/powf.c: New file.
25665         * m4/powf.m4: New file.
25666         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
25667         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
25668         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
25669         * modules/powf: New file.
25670         * tests/test-math-c++.cc: Check the declaration of powf.
25671         * doc/posix-functions/powf.texi: Mention the new module.
25673         pow: Use a .m4 file.
25674         * m4/pow.m4: New file.
25675         * modules/pow (Files): Add it.
25676         (configure.ac): Just invoke gl_FUNC_POW.
25678 2011-10-08  Bruno Haible  <bruno@clisp.org>
25680         Tests for module 'log10f'.
25681         * modules/log10f-tests: New file.
25682         * tests/test-log10f.c: New file.
25684         New module 'log10f'.
25685         * lib/math.in.h (log10f): New declaration.
25686         * lib/log10f.c: New file.
25687         * m4/log10f.m4: New file.
25688         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
25689         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
25690         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
25691         * modules/log10f: New file.
25692         * tests/test-math-c++.cc: Check the declaration of log10f.
25693         * doc/posix-functions/log10f.texi: Mention the new module.
25695         log10: Use a .m4 file.
25696         * m4/log10.m4: New file.
25697         * modules/log10 (Files): Add it.
25698         (configure.ac): Just invoke gl_FUNC_LOG10.
25700 2011-10-08  Bruno Haible  <bruno@clisp.org>
25702         Tests for module 'logf'.
25703         * modules/logf-tests: New file.
25704         * tests/test-logf.c: New file.
25706         New module 'logf'.
25707         * lib/math.in.h (logf): New declaration.
25708         * lib/logf.c: New file.
25709         * m4/logf.m4: New file.
25710         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
25711         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
25712         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
25713         * modules/logf: New file.
25714         * tests/test-math-c++.cc: Check the declaration of logf.
25715         * doc/posix-functions/logf.texi: Mention the new module.
25717         log: Use a .m4 file.
25718         * m4/log.m4: New file.
25719         * modules/log (Files): Add it.
25720         (configure.ac): Just invoke gl_FUNC_LOG.
25722 2011-10-08  Bruno Haible  <bruno@clisp.org>
25724         Tests for module 'expf'.
25725         * modules/expf-tests: New file.
25726         * tests/test-expf.c: New file.
25728         New module 'expf'.
25729         * lib/math.in.h (expf): New declaration.
25730         * lib/expf.c: New file.
25731         * m4/expf.m4: New file.
25732         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
25733         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
25734         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
25735         * modules/expf: New file.
25736         * tests/test-math-c++.cc: Check the declaration of expf.
25737         * doc/posix-functions/expf.texi: Mention the new module.
25739         exp: Use a .m4 file.
25740         * m4/exp.m4: New file.
25741         * modules/exp (Files): Add it.
25742         (configure.ac): Just invoke gl_FUNC_EXP.
25744 2011-10-08  Bruno Haible  <bruno@clisp.org>
25746         Tests for module 'sqrtf'.
25747         * modules/sqrtf-tests: New file.
25748         * tests/test-sqrtf.c: New file.
25750         New module 'sqrtf'.
25751         * lib/math.in.h (sqrtf): New declaration.
25752         * lib/sqrtf.c: New file.
25753         * m4/sqrtf.m4: New file.
25754         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
25755         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
25756         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
25757         * modules/sqrtf: New file.
25758         * tests/test-math-c++.cc: Check the declaration of sqrtf.
25759         * doc/posix-functions/sqrtf.texi: Mention the new module.
25761 2011-10-08  Bruno Haible  <bruno@clisp.org>
25763         Tests: Avoid link failures w.r.t. libintl.
25764         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
25765         $(LIBINTL).
25766         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
25767         $(LIBINTL).
25768         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
25769         against $(LIBINTL).
25770         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
25771         $(LIBINTL).
25772         * modules/openat-tests (Makefile.am): Link test-fchmodat against
25773         $(LIBINTL).
25774         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
25776 2011-10-08  Bruno Haible  <bruno@clisp.org>
25778         pow tests: Defeat compiler optimizations.
25779         * tests/test-pow.c (main): Assign arguments to x and y before use.
25781 2011-10-08  Bruno Haible  <bruno@clisp.org>
25783         gnulib-tool: Improve last commit.
25784         * gnulib-tool (func_modules_transitive_closure): Simplify code.
25785         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
25786         ignore dependencies that are not among the modules list.
25788 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
25790         gnulib-tool: don't follow dependencies to avoided modules
25791         This fixes a bug that is related to the previous one.
25792         * gnulib-tool (func_modules_transitive_closure)
25793         (func_emit_autoconf_snippets):
25794         Check whether a dependency is acceptable before using it.
25795         (--extract-dependencies): Report an error if --avoid is also used,
25796         since this combination of options is not yet supported.
25798         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
25799         Problem reported by Peter Dyballa in
25800         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
25801         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
25802         when echoing "$condition".
25804 2011-10-07  Bruno Haible  <bruno@clisp.org>
25806         Fix documentation about math functions on MacOS X.
25807         * doc/posix-functions/exp2.texi: Don't say the function is missing on
25808         MacOS X 10.5.
25809         * doc/posix-functions/fdim.texi: Likewise.
25810         * doc/posix-functions/feclearexcept.texi: Likewise.
25811         * doc/posix-functions/fegetenv.texi: Likewise.
25812         * doc/posix-functions/fegetround.texi: Likewise.
25813         * doc/posix-functions/feholdexcept.texi: Likewise.
25814         * doc/posix-functions/feraiseexcept.texi: Likewise.
25815         * doc/posix-functions/fesetenv.texi: Likewise.
25816         * doc/posix-functions/fesetround.texi: Likewise.
25817         * doc/posix-functions/fetestexcept.texi: Likewise.
25818         * doc/posix-functions/feupdateenv.texi: Likewise.
25819         * doc/posix-functions/fmax.texi: Likewise.
25820         * doc/posix-functions/fmin.texi: Likewise.
25821         * doc/posix-functions/log2.texi: Likewise.
25822         * doc/posix-functions/modff.texi: Likewise.
25823         * doc/posix-functions/nan.texi: Likewise.
25824         * doc/posix-functions/nanf.texi: Likewise.
25825         * doc/posix-functions/nextafterf.texi: Likewise.
25826         * doc/posix-functions/remquo.texi: Likewise.
25828 2011-10-07  Bruno Haible  <bruno@clisp.org>
25830         modff: Drop assumption about library that defines modff.
25831         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
25832         AC_CHECK_FUNCS.
25833         * modules/modff (Files): Add m4/mathfunc.m4.
25835 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
25837         raise tests: Avoid a GCC warning.
25838         * tests/test-raise.c (handler): Use _Noreturn.
25840 2011-10-07  Bruno Haible  <bruno@clisp.org>
25842         Tests for module 'ldexpf'.
25843         * modules/ldexpf-tests: New file.
25844         * tests/test-ldexpf.c: New file.
25846         New module 'ldexpf'.
25847         * lib/math.in.h (ldexpf): New declaration.
25848         * lib/ldexpf.c: New file.
25849         * m4/ldexpf.m4: New file.
25850         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
25851         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
25852         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
25853         * modules/ldexpf: New file.
25854         * tests/test-math-c++.cc: Check the declaration of ldexpf.
25855         * doc/posix-functions/ldexpf.texi: Mention the new module.
25857 2011-10-06  Bruno Haible  <bruno@clisp.org>
25859         frexpf: Work around problems on IRIX and mingw.
25860         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
25861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
25862         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
25863         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
25864         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
25865         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
25866         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
25868 2011-10-06  Bruno Haible  <bruno@clisp.org>
25870         fabsf: Drop assumption about library that defines fabsf.
25871         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
25872         AC_CHECK_FUNCS.
25873         * modules/fabsf (Files): Add m4/mathfunc.m4.
25875 2011-10-06  Bruno Haible  <bruno@clisp.org>
25877         frexpf: Drop assumption about library that defines frexpf.
25878         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
25879         'int *', 'float *', 'long double *', 'float', 'long double'.
25880         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
25881         AC_CHECK_FUNCS.
25882         * modules/frexpf (Files): Add m4/mathfunc.m4.
25884         Tests for module 'frexpf'.
25885         * modules/frexpf-tests: New file.
25886         * tests/test-frexpf.c: New file.
25888         New module 'frexpf'.
25889         * lib/math.in.h (frexpf): New declaration.
25890         * lib/frexpf.c: New file.
25891         * m4/frexpf.m4: New file.
25892         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
25893         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
25894         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
25895         * modules/frexpf: New file.
25896         * tests/test-math-c++.cc: Check the declaration of frexpf.
25897         * doc/posix-functions/frexpf.texi: Mention the new module.
25899 2011-10-06  Bruno Haible  <bruno@clisp.org>
25901         math: Sort function declarations of math.in.h.
25902         * lib/math.in.h (frexp, logb): Move declarations.
25904 2011-10-05  Bruno Haible  <bruno@clisp.org>
25906         Tests for module 'modff'.
25907         * modules/modff-tests: New file.
25908         * tests/test-modff.c: New file.
25910         New module 'modff'.
25911         * lib/math.in.h (modff): New declaration.
25912         * lib/modff.c: New file.
25913         * m4/modff.m4: New file.
25914         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
25915         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
25916         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
25917         * modules/modff: New file.
25918         * tests/test-math-c++.cc: Check the declaration of modff.
25919         * doc/posix-functions/modff.texi: Mention the new module.
25921         modf tests: Make test sharper.
25922         * tests/test-modf.c (main): Strengthen upper bound.
25924         modf: Use a .m4 file.
25925         * m4/modf.m4: New file.
25926         * modules/modf (Files): Add it.
25927         (configure.ac): Just invoke gl_FUNC_MODF.
25929 2011-10-05  Bruno Haible  <bruno@clisp.org>
25931         Tests for module 'fmodf'.
25932         * modules/fmodf-tests: New file.
25933         * tests/test-fmodf.c: New file.
25935         New module 'fmodf'.
25936         * lib/math.in.h (fmodf): New declaration.
25937         * lib/fmodf.c: New file.
25938         * m4/fmodf.m4: New file.
25939         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
25940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
25941         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
25942         * modules/fmodf: New file.
25943         * tests/test-math-c++.cc: Check the declaration of fmodf.
25944         * doc/posix-functions/fmodf.texi: Mention the new module.
25946         fmod: Use a .m4 file.
25947         * m4/fmod.m4: New file.
25948         * modules/fmod (Files): Add it.
25949         (configure.ac): Just invoke gl_FUNC_FMOD.
25951 2011-10-05  Bruno Haible  <bruno@clisp.org>
25953         Tests for module 'fabsf'.
25954         * modules/fabsf-tests: New file.
25955         * tests/test-fabsf.c: New file.
25957         New module 'fabsf'.
25958         * lib/math.in.h (fabsf): New declaration.
25959         * lib/fabsf.c: New file.
25960         * m4/fabsf.m4: New file.
25961         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
25962         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
25963         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
25964         * modules/fabsf: New file.
25965         * tests/test-math-c++.cc: Check the declaration of fabsf.
25966         * doc/posix-functions/fabsf.texi: Mention the new module.
25968         fabs: Use a .m4 file.
25969         * m4/fabs.m4: New file.
25970         * modules/fabs (Files): Add it.
25971         (configure.ac): Just invoke gl_FUNC_FABS.
25973 2011-10-05  Jim Meyering  <meyering@redhat.com>
25975         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
25976         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
25977         ls -lL regression introduced in coreutils-8.12, it does so at the
25978         cost of an additional stat call in the common case.  Besides, now
25979         that the kernel change that prompted commit 95f7c57f has been reverted
25980         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
25981         we have no use for commit 95f7c57f, "file-has-acl: use
25982         acl_extended_file_nofollow if available".
25984 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
25986         file-has-acl: revert unintended change in behavior of ls -L
25987         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
25988         derived from...
25989         (file_has_acl): ...code here.  Call it.
25990         This problem was introduced with 2011-07-22 commit 95f7c57f,
25991         "file-has-acl: use acl_extended_file_nofollow if available".
25992         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
25994 2011-10-03  Bruno Haible  <bruno@clisp.org>
25996         poll: Avoid link errors on MSVC.
25997         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
25998         * modules/poll (Depends-on): Add sockets.
25999         (Link): New section.
26000         * NEWS: Mention the change.
26001         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
26002         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
26003         $(LIB_POLL) instead of $(LIBSOCKET).
26005 2011-10-03  Bruno Haible  <bruno@clisp.org>
26007         sys_select tests: Fix link error on MSVC 9.
26008         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
26009         with $(LIB_SELECT) instead of $(LIBSOCKET).
26011 2011-10-03  Bruno Haible  <bruno@clisp.org>
26013         sys_select: Fix compilation error on mingw.
26014         * lib/sys_select.in.h: On native Windows, include <io.h>.
26016 2011-10-03  Bruno Haible  <bruno@clisp.org>
26018         wmemset: Support for MSVC.
26019         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
26020         whether wmemset() exists.
26022 2011-10-03  Bruno Haible  <bruno@clisp.org>
26024         wmemmove: Support for MSVC.
26025         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
26026         whether wmemmove() exists.
26028 2011-10-03  Bruno Haible  <bruno@clisp.org>
26030         wmemcpy: Support for MSVC.
26031         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
26032         whether wmemcpy() exists.
26034 2011-10-03  Bruno Haible  <bruno@clisp.org>
26036         wmemcmp: Support for MSVC.
26037         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
26038         whether wmemcmp() exists.
26040 2011-10-03  Bruno Haible  <bruno@clisp.org>
26042         wmemchr: Support for MSVC.
26043         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
26044         whether wmemchr() exists.
26046 2011-10-03  Bruno Haible  <bruno@clisp.org>
26048         glthread/*, strsignal: Support for MSVC.
26049         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
26050         including <winsock.h> on MSVC 9.
26051         * lib/glthread/lock.h: Likewise.
26052         * lib/glthread/thread.h: Likewise.
26053         * lib/glthread/tls.h: Likewise.
26054         * lib/glthread/yield.h: Likewise.
26055         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
26056         if HAVE_UNISTD_H is false.
26057         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
26059 2011-10-03  Bruno Haible  <bruno@clisp.org>
26061         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
26062         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
26063         Set to 100000.
26065 2011-10-03  Bruno Haible  <bruno@clisp.org>
26067         acl: Fix specification.
26068         * lib/file-has-acl.c (file_has_acl): Fix specification.
26070 2011-10-03  Bruno Haible  <bruno@clisp.org>
26072         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
26073         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
26074         (compute_curr_prefix, shared_library_fullname,
26075         find_shared_library_fullname, get_shared_library_fullname, relocate):
26076         Use it together with PIC && INSTALLDIR.
26077         Reported by <jojelino@gmail.com>
26078         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
26080 2011-10-01  Jim Meyering  <meyering@redhat.com>
26082         maint.mk: adjust a release-related rule not to require use of gzip
26083         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
26084         Instead, check each file in $(DIST_ARCHIVES).  This is better for
26085         projects that build only .tar.xz files.  Also fix an erroneous test.
26087         test-linkat: don't leave behind a temporary file
26088         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
26089         Otherwise, coreutils' "make distcheck" would fail with this:
26090           Only in /c/cu/tests/torture/coreutils/test/\
26091             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
26092           make[2]: *** [my-distcheck] Error 1
26094         float, math: add omitted file
26095         * lib/itold.c: Add file, required for yesterday's float change.
26097 2011-10-01  Bruno Haible  <bruno@clisp.org>
26099         isinf: Fix for OpenBSD/x86.
26100         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
26101         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
26102         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
26104 2011-10-01  Bruno Haible  <bruno@clisp.org>
26106         isfinite: Fix syntax error in configure test.
26107         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
26109         isfinite: Fix typo.
26110         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
26111         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
26113 2011-10-01  Bruno Haible  <bruno@clisp.org>
26115         nonblocking tests: Fix test failure on Linux/IA-64.
26116         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
26117         Set to 270000.
26119 2011-10-01  Bruno Haible  <bruno@clisp.org>
26121         mkfifoat tests: Fix a test failure on mingw.
26122         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
26123         with error ENOSYS.
26125 2011-09-30  Bruno Haible  <bruno@clisp.org>
26127         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
26128         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
26129         'long double'. Set REPLACE_ITOLD.
26130         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
26131         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
26132         * lib/itold.c: New file.
26133         * modules/float (Files): Add lib/itold.c.
26134         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
26135         (Makefile.am): Substitute REPLACE_ITOLD.
26136         * modules/math (Depends-on): Add float.
26137         (Makefile.am): Substitute REPLACE_ITOLD.
26138         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
26139         * doc/posix-headers/math.texi: Likewise.
26140         * doc/posix-functions/logl.texi: Likewise.
26142 2011-09-30  Bruno Haible  <bruno@clisp.org>
26144         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
26145         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
26146         Set to 140000.
26148 2011-09-30  Bruno Haible  <bruno@clisp.org>
26150         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
26151         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
26152         invocation, say "right after AC_PROG_CC_STDC", not "right after
26153         AC_PROG_CC".
26154         Reported by Gary V. Vaughan <gary@gnu.org>.
26156 2011-09-30  Bruno Haible  <bruno@clisp.org>
26158         Centralize C99 requirement.
26159         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
26160         * modules/stdarg (configure.ac-early): Invoke it instead of
26161         AC_PROG_CC_STDC.
26162         Reported by Gary V. Vaughan and Paul Eggert.
26164 2011-09-29  Bruno Haible  <bruno@clisp.org>
26166         float: Fix LDBL_MAX value on Linux/PowerPC.
26167         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
26168         on Linux/PowerPC.
26169         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
26170         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
26171         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
26172         platform.
26173         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
26175 2011-09-29  Bruno Haible  <bruno@clisp.org>
26177         doc: Improve doc about gl_EARLY.
26178         * doc/gnulib-tool.texi (Initial import): Mention where to place an
26179         AC_PROG_CC_STDC invocation.
26180         Reported by Gary V. Vaughan <gary@gnu.org>.
26182 2011-09-28  Bruno Haible  <bruno@clisp.org>
26184         fgetc, fputc, fread, fwrite tests: Fix link error.
26185         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
26186         on non-MSVC platforms.
26187         * tests/test-fputc.c (main): Likewise.
26188         * tests/test-fread.c (main): Likewise.
26189         * tests/test-fwrite.c (main): Likewise.
26190         Reported by Jim Meyering.
26192 2011-09-27  Bruno Haible  <bruno@clisp.org>
26194         fputc, fwrite tests: Avoid test failure on MSVC.
26195         * tests/test-fgetc.c: Include msvc-inval.h.
26196         (main): Invoke gl_msvc_inval_ensure_handler.
26197         * tests/test-fputc.c: Include msvc-inval.h.
26198         (main): Invoke gl_msvc_inval_ensure_handler.
26199         * tests/test-fread.c: Include msvc-inval.h.
26200         (main): Invoke gl_msvc_inval_ensure_handler.
26201         * tests/test-fwrite.c: Include msvc-inval.h.
26202         (main): Invoke gl_msvc_inval_ensure_handler.
26203         * modules/fgetc-tests (Depends-on): Add msvc-inval.
26204         * modules/fputc-tests (Depends-on): Likewise.
26205         * modules/fread-tests (Depends-on): Likewise.
26206         * modules/fwrite-tests (Depends-on): Likewise.
26208 2011-09-27  Bruno Haible  <bruno@clisp.org>
26210         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
26211         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
26212         (raise): Remove older, duplicated declaration.
26213         (_gl_raise_SIGPIPE): New declaration.
26214         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
26215         (rpl_raise): Remove function.
26216         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
26217         a gnulib-defined SIGPIPE here.
26218         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
26219         'sigprocmask' has detected missing signal-blocking and the module
26220         'sigpipe' is enabled.
26221         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
26223 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
26225         base64-tests: avoid memory leak
26226         * tests/test-base64.c (main): Plug memory leak.
26228         base32: new module
26229         * modules/base32: New module.
26230         * lib/base32.c: New file.
26231         * lib/base32.h: Likewise.
26232         * m4/base32.m4: Likewise.
26233         * modules/base32-tests: New test.
26234         * tests/test-base32.c: Likewise.
26235         * MODULES.html.sh (Misc): Mention it.
26237 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
26239         gnulib: use more-standard license notice wording
26240         * gnulib-tool (func_emit_copyright_notice): When emitting a
26241         license notice into a file, use the standard wording as suggested
26242         by the current information for GNU maintainers, except say "file"
26243         rather than "program".  The new wording gives a license version
26244         number, which addresses an issue raised by Glenn Morris in
26245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
26246         * m4/onceonly.m4: Use that same wording here, too.
26248         dup2: minor simplification
26249         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
26250         as lib/dup2.c no longer uses 'inline'.
26252 2011-09-25  Bruno Haible  <bruno@clisp.org>
26254         strings: Fix compilation error on MSVC.
26255         * lib/strings.in.h: Include <stddef.h> for size_t.
26257 2011-09-25  Bruno Haible  <bruno@clisp.org>
26259         fflush et al.: Document limitation on MSVC.
26260         * doc/posix-functions/fflush.texi: Document possible crash in handling
26261         mode other than DEFAULT_HANDLING.
26262         * doc/posix-functions/fgetc.texi: Likewise.
26263         * doc/posix-functions/fputc.texi: Likewise.
26264         * doc/posix-functions/fread.texi: Likewise.
26265         * doc/posix-functions/fwrite.texi: Likewise.
26267 2011-09-25  Bruno Haible  <bruno@clisp.org>
26269         msvc-inval: Allow three invalid parameter handling modes.
26270         * lib/msvc-inval.h: Don't include <stdlib.h> here.
26271         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
26272         macros.
26273         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
26274         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
26275         SANE_LIBRARY_HANDLING as a no-op.
26276         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
26277         <stdlib.h>.
26278         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
26280 2011-09-25  Bruno Haible  <bruno@clisp.org>
26282         msvc-inval: Make handler multithread-safe.
26283         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
26284         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
26285         declarations.
26286         (gl_msvc_inval_current): New declaration.
26287         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
26288         Operate on the structure returned by gl_msvc_inval_current().
26289         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
26290         Remove varaiables.
26291         (tls_index, tls_initialized): New variables.
26292         (not_per_thread): New variable.
26293         (gl_msvc_inval_current): New function.
26294         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
26295         returned by gl_msvc_inval_current().
26297 2011-09-25  Bruno Haible  <bruno@clisp.org>
26299         msvc-inval: Install handler globally.
26300         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
26301         !_MSC_VER.
26302         (gl_msvc_invalid_parameter_handler): Remove declaration.
26303         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
26304         declarations.
26305         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
26306         Install the handler globally, don't uninstall it.
26307         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
26308         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
26309         currently valid, call RaiseException instead.
26310         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
26311         for !_MSC_VER.
26313 2011-09-25  Bruno Haible  <bruno@clisp.org>
26315         strerror_r-posix: Fix for MSVC 9.
26316         * lib/strerror_r.c (local_snprintf): New function.
26317         (snprintf): Define to local_snprintf, not to _snprintf.
26319 2011-09-25  Bruno Haible  <bruno@clisp.org>
26321         ftruncate: Support for MSVC 9.
26322         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
26323         (chsize_nothrow): New function.
26324         (chsize): Redefine as a macro.
26325         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
26326         * modules/ftruncate (Depends-on): Add msvc-inval.
26328 2011-09-25  Bruno Haible  <bruno@clisp.org>
26330         New module 'fstat'.
26331         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
26332         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
26333         * lib/fchdir.c (rpl_fstat): Remove function.
26334         * m4/fstat.m4: New file.
26335         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
26336         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
26337         declared.
26338         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
26339         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
26340         * modules/fstat: New file.
26341         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
26342         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
26343         is set.
26344         * doc/posix-functions/fstat.texi: Mention the new module and the
26345         problem on MSVC.
26346         * NEWS: Mention the change.
26347         * modules/acl (Depends-on): Add fstat.
26348         * modules/chdir-safer (Depends-on): Likewise.
26349         * modules/chown (Depends-on): Likewise.
26350         * modules/copy-file (Depends-on): Likewise.
26351         * modules/fchdir (Depends-on): Likewise.
26352         * modules/fdopendir (Depends-on): Likewise.
26353         * modules/fopen (Depends-on): Likewise.
26354         * modules/fts (Depends-on): Likewise.
26355         * modules/getcwd (Depends-on): Likewise.
26356         * modules/isapipe (Depends-on): Likewise.
26357         * modules/linkat (Depends-on): Likewise.
26358         * modules/lseek (Depends-on): Likewise.
26359         * modules/mkdir-p (Depends-on): Likewise.
26360         * modules/open (Depends-on): Likewise.
26361         * modules/openat (Depends-on): Likewise.
26362         * modules/read-file (Depends-on): Likewise.
26363         * modules/renameat (Depends-on): Likewise.
26364         * modules/utimens (Depends-on): Likewise.
26366 2011-09-25  Bruno Haible  <bruno@clisp.org>
26368         linkat: Fix compilation on MSVC 9.
26369         * lib/linkat.c: Don't include <stdint.h>.
26371 2011-09-25  Bruno Haible  <bruno@clisp.org>
26373         fclose: Support for MSVC 9.
26374         * lib/fclose.c: Include msvc-inval.h.
26375         (fclose_nothrow): New function.
26376         (rpl_fclose): Use it.
26377         * modules/fclose (Depends-on): Add msvc-inval.
26378         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
26380 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
26382         dup2: minor simplifications
26383         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
26384         that it's a performance win.
26385         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
26386         ! defined __CYGWIN__)" to "ifdef F_GETFL".
26388 2011-09-24  Jim Meyering  <meyering@redhat.com>
26390         test-futimens: avoid a warning from gcc -Wshadow
26391         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
26392         to avoid a shadowing warning.
26394 2011-09-24  Bruno Haible  <bruno@clisp.org>
26396         fdopen: Support for MSVC 9.
26397         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
26398         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
26399         * lib/fdopen.c: Include msvc-inval.h.
26400         (fdopen_nothrow): New function.
26401         (rpl_fdopen): Use it.
26402         * modules/fdopen (Depends-on): Add msvc-inval.
26403         * modules/fclose-tests (Depends-on): Add fdopen.
26404         * modules/fflush-tests (Depends-on): Likewise.
26405         * modules/fgetc-tests (Depends-on): Likewise.
26406         * modules/fputc-tests (Depends-on): Likewise.
26407         * modules/fread-tests (Depends-on): Likewise.
26408         * modules/freopen-tests (Depends-on): Likewise.
26409         * modules/fseeko-tests (Depends-on): Likewise.
26410         * modules/ftello-tests (Depends-on): Likewise.
26411         * modules/fwrite-tests  (Depends-on): Likewise.
26412         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
26414 2011-09-24  Bruno Haible  <bruno@clisp.org>
26416         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
26417         * modules/fgetc-tests (Depends-on): Add unistd.
26418         * modules/fputc-tests (Depends-on): Likewise.
26419         * modules/fread-tests (Depends-on): Likewise.
26420         * modules/fwrite-tests (Depends-on): Likewise.
26422 2011-09-24  Bruno Haible  <bruno@clisp.org>
26424         dup: Simplify autoconf test.
26425         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
26426         on gl_MSVC_INVAL's result.
26428 2011-09-24  Bruno Haible  <bruno@clisp.org>
26430         Tests for function fwrite().
26431         * modules/fwrite-tests: New file.
26432         * tests/test-fwrite.c: New file.
26433         * modules/stdio-tests (Depends-on): Add fwrite-tests.
26435         Tests for function fread().
26436         * modules/fread-tests: New file.
26437         * tests/test-fread.c: New file.
26438         * modules/stdio-tests (Depends-on): Add fread-tests.
26440         Activate fputc tests.
26441         * modules/stdio-tests (Depends-on): Add fputc-tests.
26443         Enhance fgetc, fputc tests.
26444         * tests/test-fgetc.c (main): Also test the stream's error indicator.
26445         * tests/test-fputc.c (main): Likewise.
26447 2011-09-24  Bruno Haible  <bruno@clisp.org>
26449         write: Support for MSVC 9.
26450         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
26451         is not 1.
26452         * lib/write.c (write_nothrow): New function.
26453         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
26454         not 1. Use write_nothrow.
26455         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
26456         invalid parameter handler.
26457         (gl_PREREQ_WRITE): New macro.
26458         * modules/write (Depends-on): Add msvc-inval.
26459         (configure.ac): Invoke gl_PREREQ_WRITE.
26460         * doc/posix-functions/write.texi: Mention the problem on MSVC.
26462 2011-09-24  Bruno Haible  <bruno@clisp.org>
26464         read: Fix last commit.
26465         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
26467 2011-09-24  Bruno Haible  <bruno@clisp.org>
26469         dup2: Fix last commit.
26470         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
26471         (rpl_dup2): Disable fcntl workaround on native Windows.
26473         sigprocmask: Make code safer.
26474         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
26475         section that changes macro definitions for this compilation unit.
26477 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
26479         dup2: clarify by coalescing Windows-specific material
26480         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
26481         "msvc-nothrow.h"' to the Windows-specific section, so that the
26482         Emacs source need not contain these include files.
26483         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
26484         Windows-specific fixes into this function rather than just the
26485         nothrow fix, as this shortens and clarifies the code.  Always
26486         define as a function, as that's a bit cleaner than having it be
26487         sometimes a function and sometimes a macro.
26488         (rpl_dup2): Move the Windows-specific stuff out of here and into
26489         ms_windows_dup2.  Don't protect the Haiku-related fix with
26490         "#if !defined __linux__", as the same code also works around
26491         a Linux kernel bug, and it doesn't add any system calls on any
26492         platform.  Add comment about FreeBSD 6.1.
26494         sigprocmask: move #include directive
26495         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
26496         Windows-specific section, so that the Emacs source need not
26497         contain msvc-inval.h.
26499 2011-09-23  Bruno Haible  <bruno@clisp.org>
26501         read: Support for MSVC 9.
26502         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
26503         is not 1.
26504         * lib/read.c (read_nothrow): New function.
26505         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
26506         read_nothrow.
26507         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
26508         invalid parameter handler.
26509         (gl_PREREQ_READ): New macro.
26510         * modules/read (Depends-on): Add msvc-inval.
26511         (configure.ac): Invoke gl_PREREQ_READ.
26512         * doc/posix-functions/read.texi: Mention the problem on MSVC.
26514 2011-09-23  Bruno Haible  <bruno@clisp.org>
26516         close: Support for MSVC 9.
26517         * lib/close.c: Include <errno.h>, msvc-inval.h.
26518         (close_nothrow): New function.
26519         (rpl_close): Use it.
26520         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
26521         invalid parameter handler.
26522         * modules/close (Depends-on): Add msvc-inval.
26523         * modules/dup2-tests (Depends-on): Add close.
26524         * modules/dup3-tests (Depends-on): Likewise.
26525         * modules/fcntl-tests (Depends-on): Likewise.
26526         * modules/spawn-pipe-tests (Depends-on): Likewise.
26527         * modules/unistd-safer-tests (Depends-on): Likewise.
26528         * doc/posix-functions/close.texi: Mention the problem on MSVC.
26530 2011-09-23  Bruno Haible  <bruno@clisp.org>
26532         New module 'dup'.
26533         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
26534         Allow replacement.
26535         * lib/dup.c: New file.
26536         * lib/fchdir.c (rpl_dup): Remove function.
26537         * m4/dup.m4: New file.
26538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
26539         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
26540         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
26541         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
26542         * modules/dup: New file.
26543         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
26544         'dup' module is in use.
26545         * modules/fdopendir (Depends-on): Add dup.
26546         * modules/fdutimensat-tests (Depends-on): Likewise.
26547         * modules/fts (Depends-on): Likewise.
26548         * modules/futimens-tests (Depends-on): Likewise.
26549         * modules/posix_spawnp-tests (Depends-on): Likewise.
26550         * modules/unistd-safer-tests (Depends-on): Likewise.
26551         * modules/utimens-tests (Depends-on): Likewise.
26552         * doc/posix-functions/dup.texi: Mention the new module and the problem
26553         on MSVC.
26555 2011-09-23  Bruno Haible  <bruno@clisp.org>
26557         getdtablesize: Support for MSVC 9.
26558         * lib/getdtablesize.c: Include msvc-inval.h.
26559         (_setmaxstdio_nothrow): New function.
26560         (_setmaxstdio): Redefine it.
26561         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
26562         * modules/getdtablesize (Depends-on): Add msvc-inval.
26563         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
26565 2011-09-23  Bruno Haible  <bruno@clisp.org>
26567         signal-h: Rename from signal.
26568         * modules/signal-h: Renamed from modules/signal.
26569         * modules/pthread_sigmask (Depends-on): Update.
26570         * modules/raise (Depends-on): Likewise.
26571         * modules/sigaction (Depends-on): Likewise.
26572         * modules/sigpipe (Depends-on): Likewise.
26573         * modules/sigprocmask (Depends-on): Likewise.
26574         * modules/sys_select (Depends-on): Likewise.
26575         * modules/signal-h-tests: Renamed from modules/signal-tests.
26576         (Files, Depends-on, Makefile.am): Update.
26577         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
26578         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
26579         (Files, Makefile.am): Update.
26580         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
26581         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
26582         * modules/signal: New placeholder file.
26583         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
26584         * doc/posix-headers/signal.texi: Update.
26585         * NEWS: Mention the change.
26587 2011-09-23  Bruno Haible  <bruno@clisp.org>
26589         sigprocmask: Avoid crashes through signal() on MSVC 9.
26590         * lib/sigprocmask.c: Include msvc-inval.h.
26591         (signal_nothrow): New function.
26592         (signal): Redefine it.
26593         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
26594         * modules/sigprocmask (Depends-on): Add msvc-inval.
26595         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
26597 2011-09-23  Bruno Haible  <bruno@clisp.org>
26599         Tests for module 'raise'.
26600         * modules/raise-tests: New file.
26601         * tests/test-raise.c: New file.
26603         raise: Support for MSVC.
26604         * lib/signal.in.h (raise): New declaration.
26605         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
26606         for native Windows platforms.
26607         * m4/raise.m4: New file.
26608         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
26609         HAVE_RAISE, REPLACE_RAISE.
26610         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
26611         REPLACE_RAISE.
26612         * modules/raise (Status, Notice): Remove fields.
26613         (Files): Add m4/raise.m4.
26614         (Depends-on): Add signal, msvc-inval.
26615         (configure.ac): Use the common idioms.
26616         (Maintainer): Add me.
26617         * tests/test-signal-c++.cc: Check the signature of raise.
26618         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
26620 2011-09-23  Bruno Haible  <bruno@clisp.org>
26622         pipe2: Fix compilation on pre-C99 compilers.
26623         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
26625 2011-09-23  Bruno Haible  <bruno@clisp.org>
26627         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
26628         * lib/msvc-nothrow.h: New file.
26629         * lib/msvc-nothrow.c: New file.
26630         * m4/msvc-nothrow.m4: New file.
26631         * modules/msvc-nothrow: New file.
26632         * lib/dup2.c: Include msvc-nothrow.h.
26633         (rpl_dup2): No need to protect _get_osfhandle call here.
26634         * lib/accept4.c: Include msvc-nothrow.h.
26635         * lib/error.c: Likewise.
26636         * lib/fcntl.c: Likewise.
26637         * lib/lseek.c: Likewise.
26638         * lib/nonblocking.c: Likewise.
26639         * lib/poll.c: Likewise.
26640         * lib/read.c: Likewise.
26641         * lib/select.c: Likewise.
26642         * lib/sockets.h: Likewise.
26643         * lib/sockets.c: Likewise.
26644         * lib/stdio-read.c: Likewise.
26645         * lib/stdio-write.c: Likewise.
26646         * lib/write.c: Likewise.
26647         * lib/w32sock.h: Likewise.
26648         * lib/w32spawn.h: Likewise.
26649         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
26650         * lib/fsync.c: Likewise.
26651         * lib/isapipe.c: Likewise.
26652         * modules/dup2 (Depends-on): Add msvc-nothrow.
26653         * modules/accept4 (Depends-on): Likewise.
26654         * modules/error (Depends-on): Likewise.
26655         * modules/fcntl (Depends-on): Likewise.
26656         * modules/lseek (Depends-on): Likewise.
26657         * modules/nonblocking (Depends-on): Likewise.
26658         * modules/poll (Depends-on): Likewise.
26659         * modules/read (Depends-on): Likewise.
26660         * modules/select (Depends-on): Likewise.
26661         * modules/sockets (Depends-on): Likewise.
26662         * modules/sigpipe (Depends-on): Likewise.
26663         * modules/write (Depends-on): Likewise.
26664         * modules/accept (Depends-on): Likewise.
26665         * modules/bind (Depends-on): Likewise.
26666         * modules/connect (Depends-on): Likewise.
26667         * modules/gethostname (Depends-on): Likewise.
26668         * modules/getpeername (Depends-on): Likewise.
26669         * modules/getsockname (Depends-on): Likewise.
26670         * modules/getsockopt (Depends-on): Likewise.
26671         * modules/ioctl (Depends-on): Likewise.
26672         * modules/listen (Depends-on): Likewise.
26673         * modules/recv (Depends-on): Likewise.
26674         * modules/recvfrom (Depends-on): Likewise.
26675         * modules/send (Depends-on): Likewise.
26676         * modules/sendto (Depends-on): Likewise.
26677         * modules/setsockopt (Depends-on): Likewise.
26678         * modules/shutdown (Depends-on): Likewise.
26679         * modules/socket (Depends-on): Likewise.
26680         * modules/execute (Depends-on): Likewise.
26681         * modules/spawn-pipe (Depends-on): Likewise.
26682         * modules/flock (Depends-on): Likewise.
26683         * modules/fsync (Depends-on): Likewise.
26684         * modules/isapipe (Depends-on): Likewise.
26685         * tests/test-cloexec.c: Include msvc-nothrow.h.
26686         * tests/test-dup-safer.c: Likewise.
26687         * tests/test-dup2.c: Likewise.
26688         * tests/test-dup3.c: Likewise.
26689         * tests/test-fcntl.c: Likewise.
26690         * tests/test-pipe.c: Likewise.
26691         * tests/test-pipe2.c: Likewise.
26692         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
26693         * modules/unistd-safer-tests (Depends-on): Likewise.
26694         * modules/dup2-tests (Depends-on): Likewise.
26695         * modules/dup3-tests (Depends-on): Likewise.
26696         * modules/fcntl-tests (Depends-on): Likewise.
26697         * modules/pipe-posix-tests (Depends-on): Likewise.
26698         * modules/pipe2-tests (Depends-on): Likewise.
26700 2011-09-23  Bruno Haible  <bruno@clisp.org>
26702         dup2: Make code more maintainable.
26703         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
26704         (rpl_dup2): Use it.
26705         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
26706         * modules/dup2 (configure.ac): Invoke it.
26707         Reported by Paul Eggert.
26709 2011-09-23  Bruno Haible  <bruno@clisp.org>
26711         msvc-inval: Fix compilation error.
26712         * lib/msvc-inval.h: Include <excpt.h>.
26714 2011-09-23  Bruno Haible  <bruno@clisp.org>
26716         mkdir: Tweak for MSVC 9.
26717         * lib/sys_stat.in.h: Update comments.
26718         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
26720         Tests for module 'chdir'.
26721         * modules/chdir-tests: New file.
26722         * tests/test-chdir.c: New file.
26724         New module 'chdir'.
26725         * modules/chdir: New file.
26726         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
26727         (chdir): New declaration.
26728         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
26729         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
26730         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
26731         * tests/test-unistd-c++.cc: Check signature of chdir.
26732         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
26733         * modules/chdir-long (Depends-on): Add chdir.
26734         * modules/fchdir (Depends-on): Likewise.
26735         * modules/rename (Depends-on): Likewise.
26736         * modules/savewd (Depends-on): Likewise.
26738         rmdir: Support for mingw, MSVC 9.
26739         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
26740         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
26742         getcwd: Tweak for MSVC 9.
26743         * lib/unistd.in.h: Update comments.
26744         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
26746 2011-09-22  Bruno Haible  <bruno@clisp.org>
26748         strerror_r-posix: Avoid a link error on MSVC.
26749         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
26750         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
26752 2011-09-22  Bruno Haible  <bruno@clisp.org>
26754         select: Avoid link errors on MSVC.
26755         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
26756         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
26757         * modules/pselect (Link): Likewise.
26758         * NEWS: Mention the change.
26759         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
26760         test-select-stdin against $(LIB_SELECT).
26761         * modules/pselect-tests (Makefile.am): Link test-pselect against
26762         $(LIB_SELECT).
26764 2011-09-22  Bruno Haible  <bruno@clisp.org>
26766         select: Avoid compilation error on MSVC.
26767         * lib/select.c: Don't include <stdbool.h>.
26769 2011-09-21  Bruno Haible  <bruno@clisp.org>
26771         Consolidate all uses of PATH_MAX in *.m4 files.
26772         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
26773         macros.
26774         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
26775         and gl_PATHMAX_SNIPPET.
26776         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
26777         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
26778         * modules/chdir-long (Files): Add m4/pathmax.m4.
26779         * modules/getcwd (Files): Likewise.
26781 2011-09-21  Bruno Haible  <bruno@clisp.org>
26783         ftruncate: Un-deprecate, concentrate on Win32 support.
26784         * modules/ftruncate (Status, Notice): Remove sections.
26785         (Depends-on): Add largefile.
26786         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
26787         non-mingw platforms.
26788         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
26789         include <io.h>.
26790         * modules/perror-tests (Depends-on): Add ftruncate.
26791         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
26792         'ftruncate' module.
26794 2011-09-21  Bruno Haible  <bruno@clisp.org>
26796         Add dependencies to new dirent related modules.
26797         * modules/opendir (Depends-on): Add closedir.
26798         * modules/getcwd (Depends-on): Add opendir, closedir.
26799         * modules/dirent-safer-tests (Depends-on): Likewise.
26800         * modules/fdopendir-tests (Depends-on): Likewise.
26801         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
26802         * modules/renameat-tests (Depends-on): Likewise.
26804 2011-09-21  Bruno Haible  <bruno@clisp.org>
26806         opendir: Avoid compilation error on mingw.
26807         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
26808         * modules/opendir (Depends-on): Add unistd.
26810 2011-09-21  Bruno Haible  <bruno@clisp.org>
26812         ftruncate tests: Avoid a test failure on mingw.
26813         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
26815 2011-09-21  Bruno Haible  <bruno@clisp.org>
26817         select tests: Avoid test failures on OSF/1 5.1 and mingw.
26818         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
26819         native Windows.
26821 2011-09-21  Bruno Haible  <bruno@clisp.org>
26823         New module 'fdopen'.
26824         * lib/stdio.in.h (fdopen): New declaration.
26825         * lib/fdopen.c: New file.
26826         * m4/fdopen.m4: New file.
26827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
26828         REPLACE_FDOPEN.
26829         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
26830         REPLACE_FDOPEN.
26831         * modules/fdopen: New file.
26832         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
26833         * tests/test-stdio-c++.cc: Check signature of fdopen.
26834         * doc/posix-functions/fdopen.texi: Mention the new module.
26836 2011-09-21  Bruno Haible  <bruno@clisp.org>
26838         unlockpt tests: Avoid test failure on NetBSD 5.1.
26839         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
26840         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
26842 2011-09-21  Bruno Haible  <bruno@clisp.org>
26844         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
26845         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
26846         * tests/test-getlogin_r.c (main): Likewise.
26848 2011-09-20  Bruno Haible  <bruno@clisp.org>
26850         time tests: Don't require pid_t.
26851         * doc/posix-headers/time.texi: Revert last change.
26852         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
26853         * tests/test-time.c: Comment out the check for pid_t.
26855 2011-09-20  Bruno Haible  <bruno@clisp.org>
26857         fsync tests: Avoid a test failure on mingw.
26858         * tests/test-fsync.c (main): Allow a failure with EIO.
26860 2011-09-20  Bruno Haible  <bruno@clisp.org>
26862         euidaccess: Update comments.
26863         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
26865 2011-09-20  Bruno Haible  <bruno@clisp.org>
26867         Ensure EBADF returns for socket functions on mingw.
26868         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
26869         descriptor is invalid.
26870         * lib/bind.c (rpl_bind): Likewise.
26871         * lib/connect.c (rpl_connect): Likewise.
26872         * lib/getpeername.c (rpl_getpeername): Likewise.
26873         * lib/getsockname.c (rpl_getsockname): Likewise.
26874         * lib/getsockopt.c (rpl_getsockopt): Likewise.
26875         * lib/listen.c (rpl_listen): Likewise.
26876         * lib/recv.c (rpl_recv): Likewise.
26877         * lib/recvfrom.c (rpl_recvfrom): Likewise.
26878         * lib/send.c (rpl_send): Likewise.
26879         * lib/sendto.c (rpl_sendto): Likewise.
26880         * lib/setsockopt.c (rpl_setsockopt): Likewise.
26881         * lib/shutdown.c (rpl_shutdown): Likewise.
26883 2011-09-20  Bruno Haible  <bruno@clisp.org>
26885         select tests: EBADF tests.
26886         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
26887         test_bad_fd): New functions.
26888         (test_function): Invoke also test_bad_fd.
26890 2011-09-20  Bruno Haible  <bruno@clisp.org>
26892         Tests for module 'posix_spawn_file_actions_addopen.
26893         * modules/posix_spawn_file_actions_addopen-tests: New file.
26894         * tests/test-posix_spawn_file_actions_addopen.c: New file.
26896         Tests for module 'posix_spawn_file_actions_adddup2'.
26897         * modules/posix_spawn_file_actions_adddup2-tests: New file.
26898         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
26900         Tests for module 'posix_spawn_file_actions_addclose'.
26901         * modules/posix_spawn_file_actions_addclose-tests: New file.
26902         * tests/test-posix_spawn_file_actions_addclose.c: New file.
26904 2011-09-20  Bruno Haible  <bruno@clisp.org>
26906         Tests for module 'unlockpt'.
26907         * modules/unlockpt-tests: New file.
26908         * tests/test-unlockpt.c: New file.
26909         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
26911         Tests for module 'grantpt'.
26912         * modules/grantpt-tests: New file.
26913         * tests/test-grantpt.c: New file.
26914         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
26916 2011-09-20  Bruno Haible  <bruno@clisp.org>
26918         freopen tests: EBADF tests.
26919         * tests/test-freopen.c: Include errno.h, unistd.h.
26920         (main): Add tests for EBADF, commented out for the moment.
26922         fclose tests: EBADF tests.
26923         * tests/test-fclose.c (main): Add tests for EBADF.
26925         fflush tests: EBADF tests.
26926         * tests/test-fflush.c: Include errno.h, macros.h.
26927         (main): Add tests for EBADF.
26929         ftello tests: EBADF tests.
26930         * tests/test-ftello4.sh: New file.
26931         * tests/test-ftello4.c: New file.
26932         * modules/ftello-tests (Files): Add them.
26933         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
26935         fseeko tests: EBADF tests.
26936         * tests/test-fseeko4.sh: New file.
26937         * tests/test-fseeko4.c: New file.
26938         * modules/fseeko-tests (Files): Add them.
26939         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
26941         Tests for function fputc().
26942         * modules/fputc-tests: New file.
26943         * tests/test-fputc.c: New file.
26944         * modules/stdio-tests (Depends-on): Add fputc-tests.
26946         Tests for function fgetc().
26947         * modules/fgetc-tests: New file.
26948         * tests/test-fgetc.c: New file.
26949         * modules/stdio-tests (Depends-on): Add fgetc-tests.
26951         Tests for function fdopen().
26952         * modules/fdopen-tests: New file.
26953         * tests/test-fdopen.c: New file.
26954         * modules/stdio-tests (Depends-on): Add fdopen-tests.
26956         Tests for module 'vdprintf'.
26957         * modules/vdprintf-tests: New file.
26958         * tests/test-vdprintf.c: New file.
26960         Tests for module 'dprintf'.
26961         * modules/dprintf-tests: New file.
26962         * tests/test-dprintf.c: New file.
26964 2011-09-20  Bruno Haible  <bruno@clisp.org>
26966         Tests for module 'ioctl'.
26967         * modules/ioctl-tests: New file.
26968         * tests/test-ioctl.c: New file.
26970 2011-09-20  Bruno Haible  <bruno@clisp.org>
26972         fcntl tests: EBADF tests.
26973         * tests/test-fcntl.c (main): Add more tests for EBADF.
26975 2011-09-20  Bruno Haible  <bruno@clisp.org>
26977         utimensat tests: EBADF tests.
26978         * tests/test-utimensat.c (main): Add tests for EBADF.
26980         renameat tests: EBADF tests.
26981         * tests/test-renameat.c (main): Add tests for EBADF.
26983         mkfifoat tests: EBADF tests.
26984         * tests/test-mkfifoat.c (main): Add tests for EBADF.
26986         readlinkat tests: EBADF tests.
26987         * tests/test-readlinkat.c (main): Add tests for EBADF.
26989         symlinkat tests: EBADF tests.
26990         * tests/test-symlinkat.c (main): Add tests for EBADF.
26992         linkat tests: EBADF tests.
26993         * tests/test-linkat.c (main): Add tests for EBADF.
26995         Tests for module 'faccessat'.
26996         * modules/faccessat-tests: New file.
26997         * tests/test-faccessat.c: New file.
26999         fdopendir tests: EBADF tests.
27000         * tests/test-fdopendir.c (main): Add more tests for EBADF.
27002         openat tests: EBADF tests.
27003         * tests/test-fchownat.c (main): Add tests for EBADF.
27004         * tests/test-fstatat.c (main): Likewise.
27005         * tests/test-mkdirat.c (main): Likewise.
27006         * tests/test-openat.c (main): Likewise.
27007         * tests/test-unlinkat.c (main): Likewise.
27008         * tests/test-fchmodat.c: New file.
27009         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
27010         (Makefile.am): Also run 'test-fchmodat'.
27012 2011-09-20  Bruno Haible  <bruno@clisp.org>
27014         utimens, futimens, fdutimensat tests: EBADF tests.
27015         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
27017         Tests for function fstat().
27018         * modules/fstat-tests: New file.
27019         * tests/test-fstat.c: New file.
27020         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
27022 2011-09-20  Bruno Haible  <bruno@clisp.org>
27024         test-ttyname_r tests: EBADF tests.
27025         * tests/test-ttyname_r.c (main): Add tests for EBADF.
27027         Tests for module 'isatty'.
27028         * modules/isatty-tests: New file.
27029         * tests/test-isatty.c: New file.
27031         Tests for module 'write'.
27032         * modules/write-tests: New file.
27033         * tests/test-write.c: New file.
27035         Tests for module 'read'.
27036         * modules/read-tests: New file.
27037         * tests/test-read.c: New file.
27039         pwrite tests: EBADF tests.
27040         * tests/test-pwrite.c (main): Add tests for EBADF.
27042         pread tests: EBADF tests.
27043         * tests/test-pread.c (main): Add tests for EBADF.
27045         lseek tests: EBADF tests.
27046         * tests/test-lseek.c (main): Add more tests for EBADF.
27048         Tests for module 'ftruncate'.
27049         * modules/ftruncate-tests: New file.
27050         * tests/test-ftruncate.sh: New file.
27051         * tests/test-ftruncate.c: New file.
27053         fsync tests: EBADF tests.
27054         * tests/test-fsync.c (main): Add more tests for EBADF.
27056         fdatasync tests: EBADF tests.
27057         * tests/test-fdatasync.c (main): Add more tests for EBADF.
27059         Tests for module 'fchown'.
27060         * modules/fchown-tests: New file.
27061         * tests/test-fchown.c: New file.
27063         Tests for module 'fchmod'.
27064         * modules/fchmod-tests: New file.
27065         * tests/test-fchmod.c: New file.
27067         fchdir tests: EBADF tests.
27068         * tests/test-fchdir.c (main): Add more tests for EBADF.
27070         dup2 tests: EBADF tests.
27071         * tests/test-dup2.c (main): Add more tests for EBADF.
27073         Tests for module 'dup'.
27074         * modules/dup-tests: New file.
27075         * tests/test-dup.c: New file.
27077         Tests for module 'close'.
27078         * modules/close-tests: New file.
27079         * tests/test-close.c: New file.
27081 2011-09-20  Bruno Haible  <bruno@clisp.org>
27083         Tests for module 'shutdown'.
27084         * modules/shutdown-tests: New file.
27085         * tests/test-shutdown.c: New file.
27087         Tests for module 'setsockopt'.
27088         * modules/setsockopt-tests: New file.
27089         * tests/test-setsockopt.c: New file.
27091         Tests for module 'sendto'.
27092         * modules/sendto-tests: New file.
27093         * tests/test-sendto.c: New file.
27095         Tests for module 'send'.
27096         * modules/send-tests: New file.
27097         * tests/test-send.c: New file.
27099         Tests for module 'recvfrom'.
27100         * modules/recvfrom-tests: New file.
27101         * tests/test-recvfrom.c: New file.
27103         Tests for module 'recv'.
27104         * modules/recv-tests: New file.
27105         * tests/test-recv.c: New file.
27107         Tests for module 'listen'.
27108         * modules/listen-tests: New file.
27109         * tests/test-listen.c: New file.
27111         Tests for module 'getsockopt'.
27112         * modules/getsockopt-tests: New file.
27113         * tests/test-getsockopt.c: New file.
27115         Tests for module 'getsockname'.
27116         * modules/getsockname-tests: New file.
27117         * tests/test-getsockname.c: New file.
27119         Tests for module 'getpeername'.
27120         * modules/getpeername-tests: New file.
27121         * tests/test-getpeername.c: New file.
27123         Tests for module 'connect'.
27124         * modules/connect-tests: New file.
27125         * tests/test-connect.c: New file.
27127         Tests for module 'bind'.
27128         * modules/bind-tests: New file.
27129         * tests/test-bind.c: New file.
27131         accept4 tests: Fix for native Windows.
27132         * tests/test-accept4.c: Include sockets.h.
27133         (main): Invoke gl_sockets_startup.
27134         * modules/accept4-tests (Depends-on): Add sockets.
27136         accept tests: Fix for native Windows.
27137         * tests/test-accept.c: Include sockets.h.
27138         (main): Invoke gl_sockets_startup.
27139         * modules/accept-tests (Depends-on): Add sockets.
27141 2011-09-19  Bruno Haible  <bruno@clisp.org>
27143         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
27144         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
27145         do...while(0).
27146         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
27147         Suggested by Paul Eggert.
27149 2011-09-19  Bruno Haible  <bruno@clisp.org>
27151         sched: Ensure pid_t is defined.
27152         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
27153         not define pid_t.
27154         * lib/sched.in.h: Include <sys/types.h>.
27155         * doc/posix-headers/sched.texi: Mention the pid_t problem.
27156         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27158 2011-09-19  Bruno Haible  <bruno@clisp.org>
27160         msvc-inval: Ensure the entire expansion is a single statement.
27161         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
27162         of braces.
27164 2011-09-19  Jim Meyering  <meyering@redhat.com>
27166         tests: use printf, not echo in init.sh's warn_ function
27167         * tests/init.sh (warn_): Use printf, not echo.  The latter would
27168         misbehave when given strings containing a backslash or starting
27169         with e.g., -n.  James Youngman suggested setting IFS.
27171 2011-09-19  Eric Blake  <eblake@redhat.com>
27173         futimens: enhance test
27174         * tests/test-futimens.h (test_futimens): Also check for EBADF on
27175         closed non-negative fd.
27177         date: accept 'hence' as opposite of 'ago'
27178         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
27179         * tests/test-parse-datetime.c (main): Enhance test.
27180         Suggested by Jesse Wilson.
27182 2011-09-19  Jim Meyering  <meyering@redhat.com>
27184         getcwd: don't fail in a deep directory on a system without openat
27185         Before this change, getcwd would fail when called from a directory
27186         of depth PATH_MAX / 3 or greater.  That was due to the fact that
27187         the non-openat implementation used "..", "../..", "../../..", etc.
27188         to access ancestor directories.  With too many, that string would
27189         be longer than PATH_MAX.
27190         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
27191         using gnulib's openat replacement.
27192         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
27193         we're using the replacement function.
27195 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
27197         maint.mk: avoid warnings from perl about missing files
27198         * top/maint.mk (def_sym_regex): Ignore files listed in
27199         $(gl_other_headers_) that do not exist, say because a project
27200         does not use a corresponding module.
27202 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
27204         stat: use pathmax.h only if needed
27205         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
27206         This is better for Emacs, which does not have a mingw port and
27207         therefore can avoid the pathmax module.
27209         utimens: remove dependency on dup2
27210         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
27211         to work around the Linux kernel bug.
27212         * modules/utimens (Depends-on): Remove dup2.
27214 2011-09-18  Bruno Haible  <bruno@clisp.org>
27216         inet_ntop, inet_pton: Look for it also in libresolv.
27217         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
27218         libnsl, search for it in libresolv.
27219         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
27220         Needed on Solaris 7.
27222 2011-09-18  Bruno Haible  <bruno@clisp.org>
27224         accept, accept4 tests: Avoid link error on Solaris.
27225         * modules/accept-tests (Makefile.am): Link test-accept against
27226         $(LIBSOCKET).
27227         * modules/accept4-tests (Makefile.am): Link test-accept4 against
27228         $(LIBSOCKET).
27230         accept4: Avoid link error on Solaris.
27231         * modules/accept4 (Link): New section.
27233         socket functions: Avoid link errors on Solaris.
27234         * modules/accept (Depends-on): Add socketlib.
27235         (Link): New section.
27236         * modules/bind (Depends-on): Add socketlib.
27237         (Link): New section.
27238         * modules/connect (Depends-on): Add socketlib.
27239         (Link): New section.
27240         * modules/getpeername (Depends-on): Add socketlib.
27241         (Link): New section.
27242         * modules/getsockname (Depends-on): Add socketlib.
27243         (Link): New section.
27244         * modules/getsockopt (Depends-on): Add socketlib.
27245         (Link): New section.
27246         * modules/listen (Depends-on): Add socketlib.
27247         (Link): New section.
27248         * modules/recv (Depends-on): Add socketlib.
27249         (Link): New section.
27250         * modules/recvfrom (Depends-on): Add socketlib.
27251         (Link): New section.
27252         * modules/send (Depends-on): Add socketlib.
27253         (Link): New section.
27254         * modules/sendto (Depends-on): Add socketlib.
27255         (Link): New section.
27256         * modules/setsockopt (Depends-on): Add socketlib.
27257         (Link): New section.
27258         * modules/shutdown (Depends-on): Add socketlib.
27259         (Link): New section.
27260         * modules/socket (Depends-on): Add socketlib.
27261         (Link): New section.
27263 2011-09-18  Bruno Haible  <bruno@clisp.org>
27265         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
27266         * tests/test-ptsname.c (main): Terminate the test if it takes longer
27267         than 5 seconds.
27268         * modules/ptsname-tests (configure.ac): Test for alarm.
27270 2011-09-18  Bruno Haible  <bruno@clisp.org>
27272         posix_spawn_file_actions_add*: Fix module dependencies.
27273         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
27274         posix_spawn_file_actions_init.
27275         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
27276         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
27278 2011-09-18  Bruno Haible  <bruno@clisp.org>
27280         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
27281         * tests/test-rename.h (test_rename): Allow error code EEXIST.
27282         * tests/test-renameat.c (main): Likewise.
27284 2011-09-18  Bruno Haible  <bruno@clisp.org>
27286         Tests for module 'accept4'.
27287         * modules/accept4-tests: New file.
27288         * tests/test-accept4.c: New file.
27290 2011-09-18  Bruno Haible  <bruno@clisp.org>
27292         Tests for module 'accept'.
27293         * modules/accept-tests: New file.
27294         * tests/test-accept.c: New file.
27296 2011-09-18  Bruno Haible  <bruno@clisp.org>
27298         dup2: Support for MSVC.
27299         * lib/dup2.c: Include msvc-inval.h.
27300         (rpl_dup2): Handle invalid parameter notifications during dup2 and
27301         _get_osfhandle calls.
27302         * modules/dup2 (Depends-on): Add msvc-inval.
27303         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
27305         New module 'msvc-inval'.
27306         * lib/msvc-inval.h: New file.
27307         * lib/msvc-inval.c: New file.
27308         * m4/msvc-inval.m4: New file.
27309         * modules/msvc-inval: New file.
27311 2011-09-17  Bruno Haible  <bruno@clisp.org>
27313         Tests for module 'pclose'.
27314         * modules/pclose-tests: New file.
27316         New module 'pclose'.
27317         * lib/stdio.in.h (pclose): New declaration.
27318         * lib/pclose.c: New file.
27319         * m4/pclose.m4: New file.
27320         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
27321         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
27322         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
27323         * modules/pclose: New file.
27324         * modules/popen-tests (Depends-on): Add pclose.
27325         * modules/popen-safer-tests (Depends-on): Likewise.
27326         * doc/posix-functions/pclose.texi: Mention the new module.
27328 2011-09-17  Bruno Haible  <bruno@clisp.org>
27330         popen: Support for MSVC.
27331         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
27332         * lib/popen.c (popen): Provide alternate definition for native Windows.
27333         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
27334         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
27335         * modules/popen (Depends-on, configure.ac): Update condition.
27336         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
27337         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
27338         fixed.
27340 2011-09-17  Bruno Haible  <bruno@clisp.org>
27342         isnanl, isnand, isnanf: Work around MSVC bug.
27343         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
27345 2011-09-17  Bruno Haible  <bruno@clisp.org>
27347         sys_socket tests: Fix recent mistake.
27348         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
27350 2011-09-17  Bruno Haible  <bruno@clisp.org>
27352         putenv: Support for MSVC.
27353         * modules/putenv (Depends-on): Add environ.
27354         * lib/putenv.c (environ): Disable declaration.
27355         * lib/unistd.in.h: Update comment.
27357 2011-09-17  Bruno Haible  <bruno@clisp.org>
27359         math: Avoid macro redefinition warnings on MSVC.
27360         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
27361         Undefine before redefining.
27363 2011-09-17  Bruno Haible  <bruno@clisp.org>
27365         doc: Mention functions which are declared as macros.
27366         * doc/posix-functions/*[fl].texi: Mention that some functions are
27367         defined as macros with arguments only.
27369 2011-09-17  Bruno Haible  <bruno@clisp.org>
27371         Add dependencies to new dirent related modules.
27372         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
27373         * modules/fts (Depends-on): Likewise.
27374         * modules/glob (Depends-on): Likewise.
27375         * modules/savedir (Depends-on): Likewise.
27376         * modules/scandir (Depends-on): Likewise.
27377         * modules/dirent-safer (Depends-on): Add opendir, closedir.
27378         * modules/fdopendir (Depends-on): Add opendir.
27380 2011-09-17  Bruno Haible  <bruno@clisp.org>
27382         inet_pton: Support for MSVC on Windows Vista or newer.
27383         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
27384         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
27385         HAVE_DECL_INET_PTON is defined.
27386         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
27387         On platforms with <winsock2.h>, test whether inet_pton is declared in
27388         <ws2tcpip.h>. If so, arrange to replace it.
27389         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
27390         REPLACE_INET_PTON.
27391         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
27392         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
27393         (Depends-on, configure.ac): Update condition.
27394         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
27396 2011-09-17  Bruno Haible  <bruno@clisp.org>
27398         inet_ntop: Support for MSVC on Windows Vista or newer.
27399         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
27400         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
27401         HAVE_DECL_INET_NTOP is defined.
27402         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
27403         On platforms with <winsock2.h>, test whether inet_ntop is declared in
27404         <ws2tcpip.h>. If so, arrange to replace it.
27405         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
27406         REPLACE_INET_NTOP.
27407         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
27408         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
27409         (Depends-on, configure.ac): Update condition.
27410         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
27412 2011-09-16  Eric Blake  <eblake@redhat.com>
27414         test-fsync: yet another enhancement
27415         * tests/test-fsync.c (main): Also test behavior on read-only text
27416         file.
27418 2011-09-16  Bruno Haible  <bruno@clisp.org>
27420         Enhance fsync, fdatasync tests.
27421         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
27422         * tests/test-fdatasync.c (main): Likewise.
27424 2011-09-16  Bruno Haible  <bruno@clisp.org>
27426         Support for MSVC compiler: Ensure mode_t gets defined.
27427         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
27428         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27429         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
27430         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
27431         * tests/test-fcntl-h.c: Check that mode_t is defined.
27432         * tests/test-sys_stat.c: Likewise.
27433         * tests/test-sys_types.c: Likewise.
27434         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
27435         * doc/posix-headers/sys_stat.texi: Likewise.
27436         * doc/posix-headers/sys_types.texi: Likewise.
27438 2011-09-16  Bruno Haible  <bruno@clisp.org>
27440         sys_stat: Support for MSVC.
27441         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
27442         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
27443         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
27444         MSVC.
27446 2011-09-16  Bruno Haible  <bruno@clisp.org>
27448         Support for MSVC compiler: Ensure off_t gets defined.
27449         * lib/unistd.in.h: Include <sys/types.h>.
27450         * tests/test-fcntl-h.c: Check that off_t is defined.
27451         * tests/test-sys_stat.c: Likewise.
27452         * tests/test-sys_types.c: Likewise.
27454 2011-09-16  Eric Blake  <eblake@redhat.com>
27456         fdatasync: port to Solaris
27457         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
27458         * modules/fdatasync (Link): Document it.
27459         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
27461         fdatasync: port to MacOS X 10.7
27462         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
27463         declared.
27464         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
27465         * modules/unistd (Makefile.am): Substitute it.
27466         * lib/unistd.in.h (fdatasync): Declare on MacOS.
27467         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
27469         fdatasync: minor improvements
27470         * modules/fdatasync (Depends-on): Add condition for fsync.
27471         * lib/fdatasync.c (fdatasync): Add comment.
27472         * tests/test-unistd-c++.cc: Test fdatasync.
27474         unistd: update refs to newer POSIX
27475         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
27476         Suggested by Bruno Haible.
27478         fdatasync: new module
27479         * modules/fsync (Description): Document difference to fdatasync.
27480         * modules/fdatasync: New module.
27481         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
27482         * lib/fdatasync.c (fdatasync): Likewise.
27483         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
27484         defaults.
27485         * modules/unistd (Makefile.am): Set witnesses.
27486         * lib/unistd.in.h (fdatasync): Declare.
27487         * MODULES.html.sh: Document it.
27488         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
27489         * modules/fdatasync-tests: New test.
27490         * tests/test-fdatasync.c: Likewise.
27492 2011-09-16  Eric Blake  <eblake@redhat.com>
27494         test-fsync: enhance tests
27495         * modules/fsync-tests (Depends-on): Add errno, for mingw.
27496         * tests/test-fsync.c (main): Enhance test.
27498 2011-09-15  Bruno Haible  <bruno@clisp.org>
27500         Support for MSVC compiler: Ensure ssize_t gets defined.
27501         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
27502         * doc/posix-headers/stdio.texi: Likewise.
27503         * modules/stdio (Depends-on): Add ssize_t.
27504         * modules/sys_socket (Depends-on): Likewise.
27505         * modules/sys_types (Depends-on): Likewise.
27506         * modules/sys_uio (Depends-on): Likewise.
27507         * modules/unistd (Depends-on): Likewise.
27508         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
27509         * tests/test-sys_types.c: Check that ssize_t is defined.
27511 2011-09-14  Bruno Haible  <bruno@clisp.org>
27513         Avoid using #, the m4 comment starter character, near brackets.
27514         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
27515         delimiter character in sed expressions.
27516         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
27517         Suggested by Eric Blake.
27519         Properly quote AC_CHECK_DECLS' 4th argument.
27520         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
27521         argument.
27522         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
27523         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
27524         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27525         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
27526         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
27527         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
27528         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
27529         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
27530         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
27531         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
27532         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
27533         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
27534         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
27535         * m4/isinf.m4 (gl_ISINF): Likewise.
27536         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
27537         * m4/readutmp.m4 (gl_READUTMP): Likewise.
27538         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
27539         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
27540         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
27541         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
27542         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
27543         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27544         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
27545         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
27546         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
27547         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
27548         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
27549         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27550         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27551         Reported by Eric Blake.
27553         Properly quote AC_CHECK_DECL's 4th argument.
27554         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
27555         argument.
27556         * m4/argp.m4 (gl_ARGP): Likewise.
27557         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
27558         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
27559         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
27560         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
27561         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
27562         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
27563         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
27564         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
27565         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
27566         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
27567         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
27568         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
27569         Reported by Eric Blake.
27571 2011-09-14  Eric Blake  <eblake@redhat.com>
27573         opendir: avoid compile warning
27574         * lib/opendir.c (includes): Always include errno.h.
27575         Reported by Tatsuro MATSUOKA.
27577 2011-09-14  Jim Meyering  <meyering@redhat.com>
27579         maint.mk: sc_tight_scope: propagate failure from sub-make
27580         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
27581         Reported by Martin von Gagern.
27583 2011-09-13  Bruno Haible  <bruno@clisp.org>
27585         tempname: Support for MSVC.
27586         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
27587         MSVC.
27588         * modules/tempname (Depends-on): Add fcntl-h.
27590 2011-09-13  Bruno Haible  <bruno@clisp.org>
27592         sys_time: Support for MSVC.
27593         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
27594         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
27595         include <winsock2.h>.
27596         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
27597         function declarations that collide with POSIX.
27598         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
27599         (Makefile.am): Substitute HAVE_WINSOCK2_H.
27601 2011-09-13  Bruno Haible  <bruno@clisp.org>
27603         stat: Support for MSVC.
27604         * lib/stat.c: Include pathmax.h.
27605         * modules/stat (Depends-on): Add pathmax.
27607         pathmax: Support for native Windows.
27608         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
27610 2011-09-12  Bruno Haible  <bruno@clisp.org>
27612         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
27613         * lib/dirent.in.h (struct dirent): New type.
27614         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
27615         DT_WHT): New macros.
27616         (DIR): New type.
27617         (opendir, closedir): Declare only if the module 'opendir' is enabled.
27618         (readdir, rewinddir): New declarations.
27619         * lib/dirent-private.h: New file.
27620         * lib/opendir.c: New file.
27621         * lib/readdir.c: New file.
27622         * lib/rewinddir.c: New file.
27623         * lib/closedir.c: New file.
27624         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
27625         * m4/opendir.m4: New file.
27626         * m4/readdir.m4: New file.
27627         * m4/rewinddir.m4: New file.
27628         * m4/closedir.m4: New file.
27629         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
27630         REPLACE_CLOSEDIR here.
27631         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
27632         readdir, rewinddir are declared.
27633         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
27634         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
27635         HAVE_REWINDDIR, HAVE_CLOSEDIR.
27636         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
27637         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
27638         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
27639         * modules/opendir: New file.
27640         * modules/readdir: New file.
27641         * modules/rewinddir: New file.
27642         * modules/closedir: New file.
27643         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
27644         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
27645         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
27646         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
27647         * NEWS: Mention the 'fchdir' change.
27649 2011-09-11  Bruno Haible  <bruno@clisp.org>
27651         asm-underscore.m4: Support for MSVC.
27652         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
27653         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
27655 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
27657         Doc about crypt functions.
27658         * doc/posix-functions/crypt.texi: Expand range of glibc versions
27659         needing for _GNU_SOURCE to get crypt.
27660         * doc/posix-functions/encrypt.texi: Likewise.
27661         * doc/posix-functions/setkey.texi: Likewise.
27663 2011-09-11  Bruno Haible  <bruno@clisp.org>
27665         doc: Update regarding MSVC 9.
27666         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
27667         tested".
27668         * doc/posix-functions/*.texi: Update with info about MSVC 9.
27669         * doc/posix-headers/*.texi: Likewise.
27670         * doc/pastposix-functions/*.texi: Likewise.
27671         * doc/glibc-functions/*.texi: Likewise.
27672         * doc/glibc-headers/*.texi: Likewise.
27674 2011-09-11  Bruno Haible  <bruno@clisp.org>
27676         unistd et al.: Don't assume <unistd.h> exists.
27677         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
27678         does not exist.
27679         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
27680         exist. But include <stdlib.h>.
27681         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
27682         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
27683         symlink() does not exist.
27684         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
27685         include <io.h> instead.
27686         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
27687         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
27688         include <direct.h> instead.
27689         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
27690         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27691         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
27692         <io.h> instead.
27693         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
27694         correctly if the system does not have hard links.
27695         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
27696         <direct.h> instead.
27697         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
27698         it when looking for function declarations.
27699         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
27700         <direct.h> and <io.h> instead.
27701         * doc/posix-headers/unistd.texi: More details about MSVC problem.
27703 2011-09-11  Bruno Haible  <bruno@clisp.org>
27705         strcase: Support for MSVC.
27706         * modules/strcase (Status, Notice): Remove obsoletion mark.
27707         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
27708         * doc/posix-functions/strncasecmp.texi: Likewise.
27710         strings: Don't assume <strings.h> exists.
27711         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
27712         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
27713         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
27714         * doc/posix-headers/strings.texi: Mention the MSVC problem.
27716 2011-09-11  Bruno Haible  <bruno@clisp.org>
27718         dirent: Don't assume <dirent.h> exists.
27719         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
27720         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
27721         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
27722         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
27724 2011-09-11  Bruno Haible  <bruno@clisp.org>
27726         Fix wint_t on MSVC.
27727         * lib/wchar.in.h (wint_t): On MSVC, override it.
27728         * lib/wctype.in.h (wint_t): Likewise.
27729         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
27730         MSVC.
27731         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
27732         * doc/posix-headers/wctype.texi: Likewise.
27734 2011-09-11  Bruno Haible  <bruno@clisp.org>
27736         sys_types: Fix typo.
27737         * lib/sys_types.in.h: Fix typo in comment.
27738         Reported by Paul Eggert.
27740         Support for MSVC compiler: Ensure size_t gets defined.
27741         * modules/strings (Depends-on): Add 'sys_types'.
27742         * modules/sys_uio (Depends-on): Likewise.
27743         * lib/sys_uio.in.h: Update comment.
27745         C++ tests for module 'sys_types'.
27746         * modules/sys_types-c++-tests: New file.
27747         * tests/test-sys_types-c++.cc: New file.
27749         Tests for module 'sys_types'.
27750         * modules/sys_types-tests: New file.
27751         * tests/test-sys_types.c: New file.
27753         New module 'sys_types'.
27754         * lib/sys_types.in.h: New file.
27755         * m4/sys_types_h.m4: New file.
27756         * modules/sys_types: New file.
27757         * doc/posix-headers/sys_types.texi: Mention the new module and the
27758         size_t problem on MSVC 9.
27760 2011-09-11  Bruno Haible  <bruno@clisp.org>
27762         Support for MSVC compiler: Avoid division by a literal 0.
27763         * lib/math.in.h (NAN): Define through a function call also on MSVC.
27764         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
27765         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
27766         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
27767         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
27768         * tests/infinity.h: New file.
27769         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
27770         on MSVC.
27771         * tests/test-ceilf1.c: Include infinity.h.
27772         (main): Use Infinityf.
27773         * tests/test-ceil1.c: Include infinity.h.
27774         (main): Use Infinityd.
27775         * tests/test-ceill.c: Include infinity.h.
27776         (main): Use Infinityl.
27777         * tests/test-dprintf-posix.c: Include infinity.h.
27778         (test_function): Use Infinityd.
27779         * tests/test-floorf1.c: Include infinity.h.
27780         (main): Use Infinityf.
27781         * tests/test-floor1.c: Include infinity.h.
27782         (main): Use Infinityd.
27783         * tests/test-floorl.c: Include infinity.h.
27784         (main): Use Infinityl.
27785         * tests/test-fprintf-posix.c: Include infinity.h.
27786         (test_function): Use Infinityd.
27787         * tests/test-frexp.c: Include infinity.h.
27788         (main): Use Infinityd.
27789         * tests/test-frexpl.c: Include infinity.h.
27790         (main): Use Infinityl.
27791         * tests/test-isfinite.c: Include infinity.h.
27792         (test_isfinitef): Use Infinityf.
27793         (test_isfinited): Use Infinityd.
27794         (test_isfinitel): Use Infinityl.
27795         * tests/test-isinf.c: Include infinity.h.
27796         (test_isinff): Use Infinityf.
27797         (test_isinfd): Use Infinityd.
27798         (test_isinfl): Use Infinityl.
27799         * tests/test-isnan.c: Include infinity.h.
27800         (test_float): Use Infinityf.
27801         (test_double): Use Infinityd.
27802         (test_long_double): Use Infinityl.
27803         * tests/test-isnanf.h: Include infinity.h.
27804         (main): Use Infinityf.
27805         * tests/test-isnand.h: Include infinity.h.
27806         (main): Use Infinityd.
27807         * tests/test-isnanl.h: Include infinity.h.
27808         (main): Use Infinityl.
27809         * tests/test-ldexpl.c: Include infinity.h.
27810         (main): Use Infinityl.
27811         * tests/test-printf-posix.h: Include infinity.h.
27812         (test_function): Use Infinityd.
27813         * tests/test-roundf1.c: Include infinity.h.
27814         (main): Use Infinityf.
27815         * tests/test-round1.c: Include infinity.h.
27816         (main): Use Infinityd.
27817         * tests/test-roundl.c: Include infinity.h.
27818         (main): Use Infinityl.
27819         * tests/test-signbit.c: Include infinity.h.
27820         (test_signbitf): Use Infinityf.
27821         (test_signbitd): Use Infinityd.
27822         (test_signbitl): Use Infinityl.
27823         * tests/test-snprintf-posix.h: Include infinity.h.
27824         (test_function): Use Infinityd, Infinityl.
27825         * tests/test-sprintf-posix.h: Include infinity.h.
27826         (test_function): Use Infinityd, Infinityl.
27827         * tests/test-truncf1.c: Include infinity.h.
27828         (main): Use Infinityf.
27829         * tests/test-trunc1.c: Include infinity.h.
27830         (main): Use Infinityd.
27831         * tests/test-truncl.c: Include infinity.h.
27832         (main): Use Infinityl.
27833         * tests/test-vasnprintf-posix.c: Include infinity.h.
27834         (test_function): Use Infinityd, Infinityl.
27835         * tests/test-vasprintf-posix.c: Include infinity.h.
27836         (test_function): Use Infinityd, Infinityl.
27837         * modules/ceilf-tests (Files): Add tests/infinity.h.
27838         * modules/ceil-tests (Files): Likewise.
27839         * modules/ceill-tests (Files): Likewise.
27840         * modules/dprintf-posix-tests (Files): Likewise.
27841         * modules/floorf-tests (Files): Likewise.
27842         * modules/floor-tests (Files): Likewise.
27843         * modules/floorl-tests (Files): Likewise.
27844         * modules/fprintf-posix-tests (Files): Likewise.
27845         * modules/frexp-tests (Files): Likewise.
27846         * modules/frexp-nolibm-tests (Files): Likewise.
27847         * modules/frexpl-tests (Files): Likewise.
27848         * modules/frexpl-nolibm-tests (Files): Likewise.
27849         * modules/isfinite-tests (Files): Likewise.
27850         * modules/isinf-tests (Files): Likewise.
27851         * modules/isnan-tests (Files): Likewise.
27852         * modules/isnanf-tests (Files): Likewise.
27853         * modules/isnanf-nolibm-tests (Files): Likewise.
27854         * modules/isnand-tests (Files): Likewise.
27855         * modules/isnand-nolibm-tests (Files): Likewise.
27856         * modules/isnanl-tests (Files): Likewise.
27857         * modules/isnanl-nolibm-tests (Files): Likewise.
27858         * modules/ldexpl-tests (Files): Likewise.
27859         * modules/printf-posix-tests (Files): Likewise.
27860         * modules/roundf-tests (Files): Likewise.
27861         * modules/round-tests (Files): Likewise.
27862         * modules/roundl-tests (Files): Likewise.
27863         * modules/signbit-tests (Files): Likewise.
27864         * modules/snprintf-posix-tests (Files): Likewise.
27865         * modules/sprintf-posix-tests (Files): Likewise.
27866         * modules/truncf-tests (Files): Likewise.
27867         * modules/trunc-tests (Files): Likewise.
27868         * modules/truncl-tests (Files): Likewise.
27869         * modules/vasnprintf-posix-tests (Files): Likewise.
27870         * modules/vasprintf-posix-tests (Files): Likewise.
27871         * modules/vdprintf-posix-tests (Files): Likewise.
27872         * modules/vfprintf-posix-tests (Files): Likewise.
27873         * modules/vprintf-posix-tests (Files): Likewise.
27874         * modules/vsnprintf-posix-tests (Files): Likewise.
27875         * modules/vsprintf-posix-tests (Files): Likewise.
27876         * modules/xprintf-posix-tests (Files): Likewise.
27878 2011-09-11  Bruno Haible  <bruno@clisp.org>
27880         Ensure pid_t gets defined.
27881         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
27882         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
27883         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
27884         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
27885         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
27886         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
27887         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
27888         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27889         * tests/test-fcntl-h.c: Check that pid_t is defined.
27890         * tests/test-sched.c: Likewise.
27891         * tests/test-termios.c: Likewise.
27892         * tests/test-time.c: Likewise.
27893         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
27894         * doc/posix-headers/signal.texi: Likewise.
27895         * doc/posix-headers/sys_types.texi: Likewise.
27896         * doc/posix-headers/time.texi: Likewise.
27898 2011-09-11  Bruno Haible  <bruno@clisp.org>
27900         acl: Fix compilation on Solaris 10 (older version).
27901         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
27902         of ACE_EVERYONE.
27903         * lib/set-mode-acl.c (qset_acl): Likewise.
27904         Reported by Christian Jullien <eligis@orange.fr>.
27906 2011-09-10  Bruno Haible  <bruno@clisp.org>
27908         iconv, unsetenv: Add support for MSVC compiler.
27909         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
27910         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
27912 2011-09-10  Bruno Haible  <bruno@clisp.org>
27914         *printf: Add support for MSVC compiler.
27915         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
27916         handles the exception caused by the %n directive. When cross-compiling,
27917         guess no on native Windows.
27918         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
27919         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
27920         emulate it through vsnprintf.
27921         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
27922         * doc/posix-functions/dprintf.texi: Update documentation regarding
27923         MSVC 9.
27924         * doc/posix-functions/fprintf.texi: Likewise.
27925         * doc/posix-functions/printf.texi: Likewise.
27926         * doc/posix-functions/snprintf.texi: Likewise.
27927         * doc/posix-functions/sprintf.texi: Likewise.
27928         * doc/posix-functions/swprintf.texi: Likewise.
27929         * doc/posix-functions/vdprintf.texi: Likewise.
27930         * doc/posix-functions/vfprintf.texi: Likewise.
27931         * doc/posix-functions/vprintf.texi: Likewise.
27932         * doc/posix-functions/vsnprintf.texi: Likewise.
27933         * doc/posix-functions/vsprintf.texi: Likewise.
27934         * doc/glibc-functions/asprintf.texi: Likewise.
27935         * doc/glibc-functions/obstack_printf.texi: Likewise.
27936         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27937         * doc/glibc-functions/vasprintf.texi: Likewise.
27939 2011-09-10  Bruno Haible  <bruno@clisp.org>
27941         nocrash: Add support for native Windows.
27942         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
27944 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
27945             Bruno Haible  <bruno@clisp.org>
27947         absolute-header, include-next: Add support for MSVC compiler.
27948         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
27949         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
27950         directory separator in #line directives.
27951         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
27952         recognize also backslash as directory separator in #line directives.
27954 2011-09-08  Jim Meyering  <meyering@redhat.com>
27956         maint.mk: mark the post-release commit log with "maint: " prefix
27957         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
27958         one-line commit-log summary.
27960 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
27961             Bruno Haible  <bruno@clisp.org>
27963         Doc about crypt functions.
27964         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
27965         systems.
27966         * doc/posix-functions/encrypt.texi: Likewise.
27967         * doc/posix-functions/setkey.texi: Likewise.
27969 2011-09-08  Simon Josefsson  <simon@josefsson.org>
27971         * lib/gc.h: Fix copyright header.
27973 2011-09-07  Bruno Haible  <bruno@clisp.org>
27975         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
27976         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
27977         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
27979 2011-09-07  Bruno Haible  <bruno@clisp.org>
27981         openat: Work around compilation error with OSF/1 5.1 DTK cc.
27982         * lib/fopen.c: Use different syntax for include of <stdio.h>.
27983         * lib/freopen.c: Likewise.
27984         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
27985         * lib/lstat.c: Likewise.
27986         * lib/stat.c: Likewise.
27987         * lib/open.c: Use different syntax for include of <fcntl.h>.
27988         * lib/openat.c: Include fcntl.h again, explicitly.
27990 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
27992         parse-datetime: document the newly accepted format
27993         * doc/parse-datetime.texi (Combined date and time of day items):
27994         New section.
27996 2011-09-06  Bruno Haible  <bruno@clisp.org>
27998         acl: Fix a test failure on newer Solaris 10 with ZFS.
27999         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
28000         ENOSYS as no ACL.
28001         Reported by Jim Meyering.
28003 2011-09-06  Bruno Haible  <bruno@clisp.org>
28005         acl: Update for AIX >= 5.3 with NFS.
28006         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
28007         ENOSYS as no ACL.
28009         acl: Fix a test failure on AIX >= 5.3 with NFS.
28010         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
28011         as no ACL.
28013 2011-09-06  Bruno Haible  <bruno@clisp.org>
28015         acl: Fix a test failure on IRIX 6.5 with NFS.
28016         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
28017         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
28018         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
28019         * lib/copy-acl.c (qcopy_acl): Likewise.
28021 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
28023         openat: port to AIX 7.1 with large files
28024         AIX 7.1 does a "#define openat open64at" if large files are in use,
28025         so we can't simply #undef openat.  Use the orig_openat trick (similar
28026         to orig_open in lib/open.c) to work around the problem.  Problem
28027         reported by Kevin Brott for GNU tar, in the thread containing
28028         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
28029         * lib/openat.c (__need_system_fcntl_h): Define first.
28030         Include <fcntl.h> and <sys/types.h> before undefining.
28031         (orig_openat) [HAVE_OPENAT]: New inline function.
28032         (openat) [HAVE_OPENAT]: Do not undef.
28033         (rpl_openat): Use orig_openat, not openat.
28035 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
28036             Bruno Haible  <bruno@clisp.org>
28038         acl: Avoid errors on NonStop Kernel.
28039         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
28040         ENOTSUP errors.
28042 2011-09-05  Bruno Haible  <bruno@clisp.org>
28044         acl: Clean up Solaris code.
28045         * lib/acl-internal.h: Remove no-op #if.
28046         * lib/file-has-acl.c: Likewise.
28047         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
28048         * lib/copy-acl.c (qcopy_acl): Likewise.
28050 2011-09-05  Bruno Haible  <bruno@clisp.org>
28052         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
28053         binaries built on the original Solaris 10.
28054         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
28055         trivial.
28057 2011-09-05  Bruno Haible  <bruno@clisp.org>
28059         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
28060         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
28061         10.
28062         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
28063         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
28064         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
28065         instead of acl_get, facl_get, acl_set, facl_set.
28067 2011-09-05  Bruno Haible  <bruno@clisp.org>
28069         copy-file: Try unit tests on more file systems.
28070         * tests/test-copy-file-1.sh: New file.
28071         * tests/test-copy-file-2.sh: New file.
28072         * modules/copy-file-tests (Files): Add them.
28073         (Makefile.am): Add them to TESTS.
28075         acl: Try unit tests on more file systems.
28076         * tests/test-file-has-acl-1.sh: New file.
28077         * tests/test-file-has-acl-2.sh: New file.
28078         * tests/test-set-mode-acl-1.sh: New file.
28079         * tests/test-set-mode-acl-2.sh: New file.
28080         * tests/test-copy-acl-1.sh: New file.
28081         * tests/test-copy-acl-2.sh: New file.
28082         * modules/acl-tests (Files): Add them.
28083         (Makefile.am): Add them to TESTS.
28085 2011-09-04  Bruno Haible  <bruno@clisp.org>
28087         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
28088         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
28089         10.
28090         (OLD_ALLOW, OLD_DENY): New macros.
28091         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
28092         ACE_ACCESS_ALLOWED_ACE_TYPE.
28093         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
28094         ACE_ACCESS_DENIED_ACE_TYPE.
28095         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
28096         (NEW_ACE_EXECUTE): Fix value.
28097         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
28098         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
28099         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
28100         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
28101         NEW_ACE_SYNCHRONIZE): New macros.
28102         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
28103         instead of acl_fromtext, acl_set, facl_set.
28104         Fixes a coreutils/tests/cp/perm failure.
28106 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
28108         openat: test for fstatat (..., 0) bug
28109         Further testing with tar suggests that fstatat (..., 0)
28110         does not work in general, on AIX 7.1; see
28111         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
28112         So, give up entirely on AIX 7.1's fstatat, and fall back on our
28113         replacement fstatat (which is what older AIX releases were using
28114         anyway).
28115         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
28116         use is now changed to orig_fstatat.  This was probably the right
28117         thing to do anyway.
28118         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
28119         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
28120         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
28121         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
28122         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
28123         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
28124         if the bug is found.
28126         openat: test for fstatat (AT_FDCWD, ..., 0) bug
28127         This tests for another fstatat bug on AIX 7.1:
28128         fstatat (AT_FDCWD, ..., 0) does not work.  See
28129         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
28130         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
28131         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
28132         (rpl_fstatat): Adjust so that it works around either (or both)
28133         bugs if present.
28134         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
28136 2011-09-03  Karl Berry  <karl@gnu.org>
28138         * doc/regex.texi (Character Class Operators): Avoid literal ":"
28139         in index entries.
28141 2011-09-02  Bruno Haible  <bruno@clisp.org>
28143         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
28144         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
28145         values of AR, ARFLAGS, RANLIB.
28146         Reported by John W. Eaton <jwe@gnu.org> for Octave.
28148 2011-09-02  Bruno Haible  <bruno@clisp.org>
28150         Find 'ar' program that fits with --host argument.
28151         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
28153 2011-09-02  Bruno Haible  <bruno@clisp.org>
28155         tests: init.sh: Support any non-GNU diff.
28156         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
28157         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
28158         Solaris 8.
28160 2011-09-02  Bruno Haible  <bruno@clisp.org>
28162         tests: init.sh: work also with any non-GNU diff that supports -u
28163         * tests/init.sh: Relax check for diff -u support.
28164         Rather than checking for GNU diff via --version, simply check
28165         for support for -u itself.  Useful at least on OpenBSD 4.9,
28166         AIX 7.1, IRIX 6.5, and Solaris 10.
28168 2011-09-01  Bruno Haible  <bruno@clisp.org>
28170         strtoimax, strtoumax: Document problem on HP-UX 11.
28171         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
28172         * doc/posix-functions/strtoumax.texi: Likewise.
28174 2011-09-01  Bruno Haible  <bruno@clisp.org>
28176         strtoumax: Avoid link error on OSF/1 with DTK cc.
28177         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
28178         defined as a function.
28179         * modules/strtoumax (Depends-on, configure.ac): Test only whether
28180         strtoumax is defined, not whether it is declared.
28182 2011-09-01  Bruno Haible  <bruno@clisp.org>
28184         strtoimax: Avoid link error on OSF/1 with DTK cc.
28185         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
28186         defined as a function.
28187         * modules/strtoimax (Depends-on, configure.ac): Test only whether
28188         strtoimax is defined, not whether it is declared.
28190 2011-09-01  Bruno Haible  <bruno@clisp.org>
28192         imaxdiv: Avoid link error on OSF/1 with DTK cc.
28193         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
28194         as a function.
28195         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
28196         whether it is declared.
28198 2011-09-01  Bruno Haible  <bruno@clisp.org>
28200         imaxabs: Avoid link error on OSF/1 with DTK cc.
28201         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
28202         as a function.
28203         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
28204         whether it is declared.
28206 2011-09-01  Bruno Haible  <bruno@clisp.org>
28208         Tests for module 'strtoumax'.
28209         * modules/strtoumax-tests: New file.
28210         * tests/test-strtoumax.c: New file.
28212         Tests for module 'strtoimax'.
28213         * modules/strtoimax-tests: New file.
28214         * tests/test-strtoimax.c: New file.
28216         Tests for module 'imaxdiv'.
28217         * modules/imaxdiv-tests: New file.
28218         * tests/test-imaxdiv.c: New file.
28220         Tests for module 'imaxabs'.
28221         * modules/imaxabs-tests: New file.
28222         * tests/test-imaxabs.c: New file.
28224 2011-09-01  Bruno Haible  <bruno@clisp.org>
28226         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
28227         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
28228         pthread_create.
28230 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
28232         openat: work around AIX 7.1 fstatat issue
28233         This should fix the problem that was not properly fixed
28234         in the previous change, dated 2011-08-30.
28235         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
28236         __need_system_stat_h defined.
28237         (orig_fstatat) [HAVE_FSTATAT]: New function.
28238         (rpl_fstatat): Go back to the old way of doing things,
28239         except call orig_fstatat instead of fstatat.
28240         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
28241         Remove unnecessary check whether fstatat fills in st_size etc.
28243 2011-09-01  Bruno Haible  <bruno@clisp.org>
28245         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
28246         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
28247         just include the system's header.
28249 2011-08-31  Jim Meyering  <meyering@redhat.com>
28251         tests: avoid spurious assertion failure in test-float.c on ppc64
28252         * tests/test-float.c (test_long_double): Comment out an assertion,
28253         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
28254         with gcc-4.4.4.
28256         maint: indent with spaces, not TABs
28257         I need to get in the habit of running gnulib's "make check".
28258         Both of these would have been caught.
28259         * m4/largefile.m4: Indent with spaces, not TABs.
28260         * lib/parse-datetime.y (iso_8601_time): Likewise.
28261         Spotted by Pádraig Brady.
28263         test-parse-datetime.c: accommodate a relatively strict gcc warning
28264         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
28265         to avoid a warning from gcc's -Werror=missing-declarations.
28266         Insert a few spaces-before-funcall-parenthesis.
28268 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
28270         parse-datetime: accept ISO 8601 date and time rep with "T" separator
28271         The parser now accepts ISO 8601 date-time strings with "T" as the
28272         separator.  It has long parsed dates like "2004-02-29 16:21:42"
28273         with a space between the date and time strings.  Now it also parses
28274         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
28275         variants like "2004-02-29T16:21:42.333-07:00"
28276         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
28277         of day representation using the 'T' separator character.
28278         * doc/parse-datetime.texi (General date syntax): replace use of
28279         deprecated --iso-8601 option with --rfc-3339 in example of date
28280         command output formats that can be parsed.
28281         * tests/test-parse-datetime.c (tm_diff): New function, taken from
28282         lib/parse-datetime.y.
28283         (gmt_offset): New function.
28284         (main): Add additional test cases to validate ISO8601 extended
28285         date and time of day parsing.
28287 2011-08-31  Bruno Haible  <bruno@clisp.org>
28289         freopen: Documentation.
28290         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
28291         name.
28292         Reported by Claudio Bley <claudio.bley@gmail.com>.
28294 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
28296         freopen: Don't crash if the filename argument is NULL.
28297         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
28298         NULL.
28300 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
28302         openat: work around AIX 7.1 fstatat bug
28303         Problem reported by Kevin Brott for GNU tar, in the thread containing
28304         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
28305         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
28306         FSTATAT_ST_SIZE_ETC_BROKEN.
28307         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
28308         rpl_fstatat.
28309         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
28310         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
28311         AC_CHECK_FUNCS_ONCE for fstatat.
28312         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
28313         fchmodat, mkdirat, openat and unlinkat.
28315 2011-08-30  Bruno Haible  <bruno@clisp.org>
28317         Avoid endless recursions if config.h includes some header files.
28318         * lib/fopen.c (__need_FILE): Define already before including config.h.
28319         * lib/freopen.c (__need_FILE): Likewise.
28320         * lib/open.c (__need_system_fcntl_h): Likewise.
28321         * lib/stat.c (__need_system_sys_stat_h): Likewise.
28322         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
28323         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
28325 2011-08-25  Karl Berry  <karl@gnu.org>
28327         * config/srclist.txt (ylwrap): new try.
28328         * build-aux/ylwrap: new file.
28330 2011-08-23  Bruno Haible  <bruno@clisp.org>
28332         tmpdir: Use a good default directory on native Windows.
28333         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
28334         (P_tmpdir): Default to _P_tmpdir on native Windows.
28335         (path_search): On native Windows, try the value returned by GetTempPath
28336         before trying P_tmpdir.
28337         * modules/tmpdir (Depends-on): Add pathmax.
28338         Suggested by John Darrington <john@darrington.wattle.id.au>.
28340 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
28342         doc: fix typo in README-release
28343         * top/README-release: Capitalize first word of a sentence.
28345 2011-08-19  Jim Meyering  <meyering@redhat.com>
28347         fts: do not exhaust memory when processing million-entry directories
28348         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
28349         directory would require about 256*N bytes of memory.  Thus, it was
28350         easy to construct a directory too large to be processed by any of
28351         those tools.  With this change, fts' maximum memory utilization is
28352         now limited to around 30MB.
28353         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
28354         (fts_read): When we've processed the final entry (i.e., when
28355         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
28356         using the parent entry to read any remaining entries.  Dispatch
28357         depending on what fts_build returns:
28358         - NULL+stop, aka failure: stop
28359         - NULL otherwise: move up in the dir hierarchy
28360         - non-NULL: handle this new entry
28361         (fts_build): Declare and use new local, continue_readdir.
28362         Prepare to be called from fts_read, when the entries
28363         from a partially-read directory have just been exhausted.
28364         In that case, we'll skip the opendir and instead use the parent's
28365         fts_dirp and derive dir_fd from that.
28366         Finally, in the readdir loop, if we read max_entries entries,
28367         exit the loop ensuring *not* to call closedir.  This is required
28368         so that fts_dirp can be reused on a subsequent call.
28369         Prompted by Ben England's report of memory exhaustion in find
28370         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
28372         maint: fts: move decl of `dp' down into while loop; split a long line
28373         * lib/fts.c (fts_build): No semantic change.
28375         fts: add/use new struct member, fts_dirp
28376         We are about to use this to manage any directory with
28377         too many entries to read all of them into memory at once.
28378         To do that, we'll need to save the DIR* pointer in each
28379         affected FTSENT struct.
28380         * lib/fts_.h: Include <dirent.h>.
28381         (struct FTSENT) [fts_dirp]: New member.
28382         * lib/fts.c (closedir_and_clear): Define.
28383         Use it in place of closedir so that we are sure to
28384         clear the new fts_dirp member when done with it.
28385         (fts_alloc): Initialize the new member.
28386         (fts_lfree): Free, if needed.
28388         maint: fts: give __opendir2 a new parameter and rename
28389         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
28390         than surreptitiously using sole caller's "dir_fd".
28391         (fts_opendir): Rename from __opendir2.
28393         maint: fts.c: remove __opendir2's now-unused parameter, oflag
28394         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
28396         maint: fts.c: correct off-by-one indentation
28397         * lib/fts.c (fts_build): Correct indentation, change style
28398         of a couple of block comments, and bracing style.
28400         maint: fts.c: move __opendir2 #define "up" out of function body
28401         * lib/fts.c (__opendir2): Move "up".  No semantic change.
28403         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
28404         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
28405         out for a long time and besides was useful only on BSD systems.
28407 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
28409         regex: port to Stratus OpenVOS
28410         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
28411         define to empty, rather than attempting nonportable optimizations.
28412         Problem reported by Paul Green in:
28413         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
28414         and fix suggested by Eric Blake in:
28415         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
28417 2011-08-17  Eric Blake  <eblake@redhat.com>
28419         getcwd: fix test failures on mingw
28420         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
28421         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
28422         test if long directory cannot be created, and allow mingw errno.
28424         getcwd-lgpl: fix m4 to match relaxed test for BSD
28425         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
28426         (gl_FUNC_GETCWD_SIGNATURE): New macro.
28427         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
28428         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
28429         signature problem.
28431         getcwd: fix compilation on mingw64
28432         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
28433         getcwd.
28434         Reported by Marc-André Lureau.
28436         pipe2: silence compiler warning
28437         * lib/pipe2.c (pipe2): Hide label if it is not used.
28439 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
28441         relocatable-prog: fix link error
28442         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
28443         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
28444         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
28445         into modules/relocatable-lib without noticing that
28446         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
28447         also needs to build relocatable.c.
28449 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
28451         getaddrinfo: fix sh typo in gai_strerrorA decl checking
28452         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
28453         shell code: it contained a 'break' that was not in a loop.
28454         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
28455         via a shell-language loop; this may have been true in old Autoconf
28456         versions, but it's not true in Autoconf 2.68.  I found this bug
28457         when testing coreutils git on Solaris 8, whose shell complains
28458         about the syntax error.
28460 2011-08-12  Simon Josefsson  <simon@josefsson.org>
28462         * lib/base64.c: Fix comment to reference RFC 4648.
28463         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
28464         <gvtulder@gmail.com>.
28466 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
28468         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
28470         po/Makefile.in.in: fix make -q problem
28471         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
28472         rule, since there's no file named 'check-macro-version' and its
28473         use as a file breaks make -q.
28474         (all): Don't depend on check-macro-version.
28475         (CHECK_MACRO_VERSION): New macro.
28476         (stamp-po): Use it.
28478         configmake: fix make -q problem
28479         * modules/configmake (configmake.h): Update configmake.h's time stamp
28480         even if the file does not change.  Otherwise, 'make -q' fails.
28481         Problem reported by Simon Josefsson in
28482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
28484 2011-08-11  Jim Meyering  <meyering@redhat.com>
28486         git-version-gen: correct the advice in a comment
28487         * build-aux/git-version-gen: Correct comment.
28488         Don't recommend to list .tarball-version in .gitignore.
28490 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28492         base64: fix off-by-one buffer size bug
28493         Problem and (trivial) fix reported by Gijs van Tulder in
28494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
28495         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
28496         * tests/test-base64.c (main): Catch the bug.
28498 2011-08-10  Eric Blake  <eblake@redhat.com>
28500         closein: correct comments
28501         * lib/closein.c (close_stdin): Improve comments.
28503 2011-08-09  Bruno Haible  <bruno@clisp.org>
28505         More tests for 'fseeko'.
28506         * tests/test-fseeko3.c: New file, from Eric Blake.
28507         * tests/test-fseeko3.sh: New file.
28508         * modules/fseeko-tests (Files): Add them.
28509         (TESTS): Add test-fseeko3.sh.
28510         (check_PROGRAMS): Add test-fseeko3.
28512 2011-08-09  Eric Blake  <eblake@redhat.com>
28514         fseeko: remove unneeded hack
28515         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
28517         fseeko: fix bug on glibc
28518         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
28519         Reported by John W. Eaton.
28521 2011-08-08  Bruno Haible  <bruno@clisp.org>
28523         unictype/base: Fix interoperability with preinstalled libunistring.
28524         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
28525         Reported by Simon Josefsson.
28527 2011-08-08  Bruno Haible  <bruno@clisp.org>
28529         iswblank: Detect declaration correctly.
28530         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
28531         AC_CHECK_DECLS invocation.
28533 2011-08-08  Bruno Haible  <bruno@clisp.org>
28535         tcgetsid: Detect declaration correctly.
28536         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
28537         AC_CHECK_DECLS invocation.
28538         Reported by Simon Josefsson.
28540 2011-08-08  Eric Blake  <eblake@redhat.com>
28542         largefile: fix typo that regressed large file support
28543         * modules/largefile (configure.ac-early): Fix section name.
28545 2011-08-06  Karl Berry  <karl@gnu.org>
28547         * MODULES.html.sh (func_all_files): _Noreturn is no longer
28548         a separate module.
28550 2011-08-05  Simon Josefsson  <simon@josefsson.org>
28552         openat: Fix warnings and commens when building unlinkat.c on Hurd.
28553         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
28554         get prototype for free.
28556 2011-08-04  Bruno Haible  <bruno@clisp.org>
28558         Tests for module 'pathmax'.
28559         * modules/pathmax-tests: New file.
28560         * tests/test-pathmax.c: New file.
28562         canonicalize-lgpl: Support larger filenames on the Hurd.
28563         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
28564         Reported by Paul Eggert.
28566         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
28567         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
28568         * lib/chdir-long.h: Include pathmax.h.
28569         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
28570         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
28571         (PATH_MAX): Remove code that is done by pathmax.h.
28572         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
28573         * lib/tmpfile.c: Add a comment.
28574         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
28575         * modules/chdir-long (Depends-on): Add pathmax.
28576         * modules/getcwd (Depends-on): Add pathmax.
28577         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
28578         is not defined.
28579         * doc/posix-headers/limits.texi: Mention the pathmax module.
28580         * NEWS: Mention the change.
28582 2011-08-02  Bruno Haible  <bruno@clisp.org>
28584         pthread_sigmask: Actually use results of gl_THREADLIB.
28585         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
28586         gl_THREADLIB, not gl_[]THREADLIB.
28587         Reported by Eric Blake.
28589 2011-08-02  Jim Meyering  <meyering@redhat.com>
28591         maint.mk: relax the default _gl_TS_function_match regexp
28592         * top/maint.mk (_gl_TS_function_match): Don't require at least one
28593         space between function name and "(" in an "extern" declaration.
28594         That would fail to match a decl with no space there: extern void foo();
28596 2011-07-31  Iain Nicol  <iain@thenicols.net>
28598         git-version-gen: document that EXTRA_DIST must include .version
28599         * build-aux/git-version-gen: In the how-to-use comment, document
28600         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
28601         will fail when run from an unpacked distribution tarball.
28603 2011-08-01  Bruno Haible  <bruno@clisp.org>
28605         wctype-h: Fix last change.
28606         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
28607         REPLACE_TOWLOWER to 0.
28608         Reported by Sam Steingold <sds@gnu.org>.
28610 2011-07-31  Bruno Haible  <bruno@clisp.org>
28612         frexpl: Update autoconf test.
28613         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
28614         according to changes of 2011-06-20.
28616 2011-07-31  Bruno Haible  <bruno@clisp.org>
28618         sys_utsname: Add support for Minix.
28619         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
28620         <sys/utsname.h>.
28621         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
28622         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
28624 2011-07-31  Bruno Haible  <bruno@clisp.org>
28626         strings: Add support for Minix.
28627         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
28628         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
28629         * doc/posix-headers/strings.texi: Document the Minix problem.
28631 2011-07-31  Bruno Haible  <bruno@clisp.org>
28633         wctype-h: Add support for Minix.
28634         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
28635         REPLACE_TOWLOWER.
28636         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
28637         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
28638         REPLACE_ISWCNTRL.
28640 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
28642         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
28643         This is a performance improvement for 64-bit hosts: it causes the
28644         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
28646 2011-07-31  Bruno Haible  <bruno@clisp.org>
28648         stdioext: Add support for Minix.
28649         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
28650         * lib/fpurge.c (fpurge): Likewise.
28651         * lib/freadahead.c (freadahead): Likewise.
28652         * lib/freadable.c (freadable): Likewise.
28653         * lib/freading.c (freading): Likewise.
28654         * lib/freadptr.c (freadptr): Likewise.
28655         * lib/freadseek.c (freadptrinc): Likewise.
28656         * lib/fseeko.c (rpl_fseeko): Likewise.
28657         * lib/fseterr.c (fseterr): Likewise.
28658         * lib/fwritable.c (fwritable): Likewise.
28659         * lib/fwriting.c (fwriting): Likewise.
28660         * lib/fflush.c (clear_ungetc_buffer): Update comment.
28661         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
28663 2011-07-31  Bruno Haible  <bruno@clisp.org>
28665         errno: Port to Minix.
28666         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
28667         ECONNABORTED are defined.
28668         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
28669         GNULIB_defined_ECONNABORTED): New macros.
28670         * lib/strerror-override.h (strerror_override): Test also
28671         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
28672         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
28673         ECONNABORTED.
28674         * doc/posix-headers/errno.texi: Mention the Minix problem.
28676 2011-07-31  Bruno Haible  <bruno@clisp.org>
28678         Work around declaration collisions on Minix.
28679         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
28680         defined, set REPLACE_MBSINIT.
28681         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
28682         defined, set REPLACE_MBRTOWC.
28683         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
28684         set REPLACE_MBRLEN.
28685         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
28686         defined, set REPLACE_MBSRTOWCS.
28687         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
28688         defined, set REPLACE_WCRTOMB.
28689         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
28690         defined, set REPLACE_WCSRTOMBS.
28692 2011-07-31  Bruno Haible  <bruno@clisp.org>
28694         Add support for Minix with ACK compiler.
28695         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
28696         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
28697         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
28699 2011-07-31  Bruno Haible  <bruno@clisp.org>
28701         Documentation about Minix.
28702         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
28703         * doc/glibc-headers/*.texi: Likewise.
28704         * doc/posix-functions/*.texi: Likewise.
28705         * doc/glibc-functions/*.texi: Likewise.
28707 2011-07-31  Bruno Haible  <bruno@clisp.org>
28709         snippet/warn-on-use: Fix indentation.
28710         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
28712 2011-07-25  Jim Meyering  <meyering@redhat.com>
28714         tests: test-update-copyright.sh: remove unnecessary "rm" commands
28715         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
28716         commands.
28718 2011-07-27  Jim Meyering  <meyering@redhat.com>
28720         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
28721         * top/maint.mk (gl_extract_significant_defines_): Now that
28722         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
28723         gnulib/lib/signal.in.h, and now that we recommend to
28724         define-if-undefined those two symbols in application code,
28725         we must filter them out of the "significant" list.
28726         This avoids a "make syntax-check" failure in coreutils.
28728 2011-07-26  Eric Blake  <eblake@redhat.com>
28730         warnings: add comments about previous patch
28731         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
28732         * m4/include_next.m4: Likewise.
28733         * m4/warn-on-use.m4: Likewise.
28734         * m4/warnings.m4: Likewise, and simplify use.
28735         Suggested by Stefano Lattarini.
28737         include-next, warnings: support older autoconf
28738         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
28739         AS_VAR_PUSHDEF in a way that works with older autoconf.
28740         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
28741         Reported by Daniel P. Berrange.
28743 2011-07-25  Bruno Haible  <bruno@clisp.org>
28745         fseek, ftell: Fix doc.
28746         * doc/posix-functions/fseek.texi: Reword statement about
28747         AC_SYS_LARGEFILE.
28748         * doc/posix-functions/ftell.texi: Likewise.
28750 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
28751             Bruno Haible  <bruno@clisp.org>
28753         Add dependencies to the 'largefile' module.
28754         * modules/fopen (Depends-on): Add 'largefile'.
28755         * modules/freopen (Depends-on): Likewise.
28756         * modules/fseeko (Depends-on): Likewise.
28757         * modules/ftello (Depends-on): Likewise.
28758         * modules/glob (Depends-on): Likewise.
28759         * modules/lseek (Depends-on): Likewise.
28760         * modules/lstat (Depends-on): Likewise.
28761         * modules/mkostemp (Depends-on): Likewise.
28762         * modules/mkostemps (Depends-on): Likewise.
28763         * modules/mkstemp (Depends-on): Likewise.
28764         * modules/mkstemps (Depends-on): Likewise.
28765         * modules/open (Depends-on): Likewise.
28766         * modules/openat (Depends-on): Likewise.
28767         * modules/pread (Depends-on): Likewise.
28768         * modules/pwrite (Depends-on): Likewise.
28769         * modules/scandir (Depends-on): Likewise.
28770         * modules/stat (Depends-on): Likewise.
28771         * modules/tmpfile (Depends-on): Likewise.
28772         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
28773         since the containing module now depends on the largefile module.
28774         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
28775         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
28776         off_t is fixed by gnulib.
28777         * doc/posix-functions/freopen.texi: Likewise.
28778         * doc/posix-functions/fseeko.texi: Likewise.
28779         * doc/posix-functions/fstatat.texi: Likewise.
28780         * doc/posix-functions/ftello.texi: Likewise.
28781         * doc/posix-functions/glob.texi: Likewise.
28782         * doc/posix-functions/lseek.texi: Likewise.
28783         * doc/posix-functions/lstat.texi: Likewise.
28784         * doc/posix-functions/mkstemp.texi: Likewise.
28785         * doc/posix-functions/open.texi: Likewise.
28786         * doc/posix-functions/openat.texi: Likewise.
28787         * doc/posix-functions/pread.texi: Likewise.
28788         * doc/posix-functions/pwrite.texi: Likewise.
28789         * doc/posix-functions/scandir.texi: Likewise.
28790         * doc/posix-functions/stat.texi: Likewise.
28791         * doc/posix-functions/tmpfile.texi: Likewise.
28792         * doc/glibc-functions/mkostemp.texi: Likewise.
28793         * doc/glibc-functions/mkostemps.texi: Likewise.
28794         * doc/glibc-functions/mkstemps.texi: Likewise.
28796 2011-07-25  Bruno Haible  <bruno@clisp.org>
28798         fcntl: Move AC_LIBOBJ invocation to module description.
28799         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
28800         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
28802         fcntl: Remove call-in from fchdir.m4.
28803         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
28804         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
28806         dup3: Remove potential call-in from fchdir.m4.
28807         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
28808         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
28810         dup2: Move AC_LIBOBJ invocation to module description.
28811         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
28812         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
28813         Don't invoke AC_LIBOBJ.
28814         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
28816         dup2: Remove call-in from fchdir.m4.
28817         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
28818         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
28820         fclose: Move AC_LIBOBJ invocation to module description.
28821         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
28822         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
28823         to 1.
28824         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
28826         fclose: Remove call-in from close.m4.
28827         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
28828         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
28830         close: Move AC_LIBOBJ invocation to module description.
28831         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
28832         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
28833         1.
28834         * modules/close (configure.ac): Invoke AC_LIBOBJ.
28836         close: Remove call-in from fchdir.m4.
28837         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
28838         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
28840         open: Move AC_LIBOBJ invocation to module description.
28841         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
28842         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
28843         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
28845         open: Remove call-in from fchdir.m4.
28846         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
28847         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
28849         fchdir: Start to remove gl_REPLACE_* idiom.
28850         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
28851         (gl_FUNC_FCHDIR): Invoke it.
28853 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
28855         * lib/ftell.c (ftell): Comment out cast.
28857         close: use gl_REPLACE_FCLOSE only if defined
28858         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
28859         is defined.  The close module doesn't depend on the fclose module
28860         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
28861         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
28862         I reproduced the problem with "./gnulib-tool --test close sys_socket".
28864 2011-07-24  Jim Meyering  <meyering@redhat.com>
28866         test-select.h: avoid warning when using gcc's -Wmissing-declarations
28867         * tests/test-select.h (test_function): Declare as "static".
28869 2011-07-24  Bruno Haible  <bruno@clisp.org>
28871         doc: Mention the effects of AC_SYS_LARGEFILE.
28872         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
28873         on this function.
28874         * doc/posix-functions/aio_error.texi: Likewise.
28875         * doc/posix-functions/aio_fsync.texi: Likewise.
28876         * doc/posix-functions/aio_read.texi: Likewise.
28877         * doc/posix-functions/aio_return.texi: Likewise.
28878         * doc/posix-functions/aio_suspend.texi: Likewise.
28879         * doc/posix-functions/aio_write.texi: Likewise.
28880         * doc/posix-functions/fgetpos.texi: Likewise.
28881         * doc/posix-functions/fopen.texi: Likewise.
28882         * doc/posix-functions/freopen.texi: Likewise.
28883         * doc/posix-functions/fsetpos.texi: Likewise.
28884         * doc/posix-functions/fstatvfs.texi: Likewise.
28885         * doc/posix-functions/ftruncate.texi: Likewise.
28886         * doc/posix-functions/ftw.texi: Likewise.
28887         * doc/posix-functions/getrlimit.texi: Likewise.
28888         * doc/posix-functions/glob.texi: Likewise.
28889         * doc/posix-functions/lio_listio.texi: Likewise.
28890         * doc/posix-functions/lockf.texi: Likewise.
28891         * doc/posix-functions/mkstemp.texi: Likewise.
28892         * doc/posix-functions/mmap.texi: Likewise.
28893         * doc/posix-functions/nftw.texi: Likewise.
28894         * doc/posix-functions/openat.texi: Likewise.
28895         * doc/posix-functions/opendir.texi: Likewise.
28896         * doc/posix-functions/posix_fadvise.texi: Likewise.
28897         * doc/posix-functions/posix_fallocate.texi: Likewise.
28898         * doc/posix-functions/pread.texi: Likewise.
28899         * doc/posix-functions/pwrite.texi: Likewise.
28900         * doc/posix-functions/readdir.texi: Likewise.
28901         * doc/posix-functions/readdir_r.texi: Likewise.
28902         * doc/posix-functions/rewinddir.texi: Likewise.
28903         * doc/posix-functions/scandir.texi: Likewise.
28904         * doc/posix-functions/seekdir.texi: Likewise.
28905         * doc/posix-functions/setrlimit.texi: Likewise.
28906         * doc/posix-functions/statvfs.texi: Likewise.
28907         * doc/posix-functions/telldir.texi: Likewise.
28908         * doc/posix-functions/tmpfile.texi: Likewise.
28909         * doc/posix-functions/truncate.texi: Likewise.
28910         * doc/glibc-functions/fallocate.texi: Likewise.
28911         * doc/glibc-functions/fstatfs.texi: Likewise.
28912         * doc/glibc-functions/fts_children.texi: Likewise.
28913         * doc/glibc-functions/fts_read.texi: Likewise.
28914         * doc/glibc-functions/getdirentries.texi: Likewise.
28915         * doc/glibc-functions/mkostemp.texi: Likewise.
28916         * doc/glibc-functions/mkostemps.texi: Likewise.
28917         * doc/glibc-functions/mkstemps.texi: Likewise.
28918         * doc/glibc-functions/preadv.texi: Likewise.
28919         * doc/glibc-functions/pwritev.texi: Likewise.
28920         * doc/glibc-functions/sendfile.texi: Likewise.
28921         * doc/glibc-functions/statfs.texi: Likewise.
28923 2011-07-24  Bruno Haible  <bruno@clisp.org>
28925         doc: Fix typo.
28926         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
28928 2011-07-24  Bruno Haible  <bruno@clisp.org>
28930         doc: Mention fsusage.
28931         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
28933 2011-07-24  Bruno Haible  <bruno@clisp.org>
28935         doc: Mention new glibc headers and functions.
28936         * doc/glibc-headers/gshadow.texi: New file.
28937         * doc/glibc-functions/endsgent.texi: New file.
28938         * doc/glibc-functions/fgetsgent.texi: New file.
28939         * doc/glibc-functions/fgetsgent_r.texi: New file.
28940         * doc/glibc-functions/getsgent.texi: New file.
28941         * doc/glibc-functions/getsgent_r.texi: New file.
28942         * doc/glibc-functions/getsgnam.texi: New file.
28943         * doc/glibc-functions/getsgnam_r.texi: New file.
28944         * doc/glibc-functions/putsgent.texi: New file.
28945         * doc/glibc-functions/setsgent.texi: New file.
28946         * doc/glibc-functions/sgetsgent.texi: New file.
28947         * doc/glibc-functions/sgetsgent_r.texi: New file.
28948         * doc/glibc-functions/malloc_info.texi: New file.
28949         * doc/glibc-functions/preadv.texi: New file.
28950         * doc/glibc-functions/pwritev.texi: New file.
28951         * doc/glibc-functions/register_printf_modifier.texi: New file.
28952         * doc/glibc-functions/register_printf_specifier.texi: New file.
28953         * doc/glibc-functions/register_printf_type.texi: New file.
28954         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
28955         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
28956         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
28957         * doc/glibc-functions/pthread_getname_np.texi: New file.
28958         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
28959         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
28960         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
28961         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
28962         * doc/glibc-functions/pthread_setname_np.texi: New file.
28963         * doc/glibc-functions/pthread_sigqueue.texi: New file.
28964         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
28965         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
28966         * doc/glibc-functions/qsort_r.texi: New file.
28967         * doc/glibc-functions/quick_exit.texi: New file.
28968         * doc/glibc-functions/syncfs.texi: New file.
28969         * doc/gnulib.texi: Include them.
28970         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
28971         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
28972         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
28973         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
28974         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
28975         * doc/glibc-functions/execvpe.texi: Likewise.
28977 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
28979         ftell: don't include <unistd.h>
28980         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
28981         guaranteed to define off_t, and the ftell module depends on the
28982         stdio module.
28984         ftell: do not assume wraparound signed arithmetic
28985         * lib/ftell.c: Include <limits.h>.
28986         (ftell): Don't assume wraparound signed arithmetic.
28988 2011-07-24  Bruno Haible  <bruno@clisp.org>
28990         close: No longer depend on module 'fclose'.
28991         * modules/close (Depends-on): Remove fclose.
28992         * NEWS: Mention the change.
28993         Suggested by Sam Steingold <sds@gnu.org>.
28995 2011-07-24  Bruno Haible  <bruno@clisp.org>
28997         fsusage: Enable large volume support on AIX >= 5.2.
28998         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
28999         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
29000         instead of STAT_STATVFS.
29001         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
29003         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
29004         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
29005         f_blocks field only on MacOS X.
29007         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
29008         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
29009         * modules/fsusage (Depends-on): Add largefile.
29011 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
29013         * README: Modernize discussion of signed integers.
29014         Assuming overflow wraparound is no longer safe.
29015         Mention ones' complement and signed magnitude.
29017 2011-07-22  Bruno Haible  <bruno@clisp.org>
29019         select tests, pselect tests: Refactor.
29020         * tests/test-select.h: New file, extracted from tests/test-select.c.
29021         (select_fn): New type.
29022         (test, do_select, do_select_nowait, do_select_wait, test_tty,
29023         test_connect_first, test_accept_first, test_pair, test_socket_pair,
29024         test_pipe): Add my_select argument.
29025         (test_function): Renamed from main. Add my_select argument.
29026         * tests/test-select.c: Move most code to tests/test-select.h. Include
29027         test-select.h.
29028         * modules/select-tests (Files): Add tests/test-select.h.
29029         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
29030         (my_select, main): New functions.
29031         * modules/pselect-tests (Files): Add tests/test-select.h,
29032         tests/macros.h, tests/signature.h.
29033         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
29034         (configure.ac): Check for <sys/wait.h>.
29036 2011-07-22  Bruno Haible  <bruno@clisp.org>
29038         sys_select tests: Check the signature of FD_*.
29039         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
29040         signature tests from here...
29041         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
29042         here.
29043         * modules/sys_select-tests (Files): Add tests/signature.h.
29045 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
29047         largefile: new module, replacing large-inode
29048         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
29049         * MODULES.html.sh: Add largefile, remove large-inode.
29050         * modules/largefile, m4/largefile.m4: New files.
29051         * modules/large-inode, m4/large-inode.m4: Remove.
29053         fsusage: port to MacOS X 10.7 with 4 TiB file systems
29054         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
29055         implementations that use only 32 bits to count blocks.
29056         On typical hosts with 1024-byte blocks, this fails with file
29057         systems as small as 4 TiB.  Problem reported by Herb Wartens
29058         <http://debbugs.gnu.org/9140> and this should also fix a similar
29059         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
29061         large-inode: New module
29062         * MODULES.html.sh: Add it.
29063         * modules/large-inode, m4/large-inode.m4: New files.
29065         extensions: Enable extensions on MacOS X 10.5 and later.
29066         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
29068 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
29070         file-has-acl: use acl_extended_file_nofollow if available
29071         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
29072         (acl_extended_file): New macro.
29073         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
29074         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
29076 2011-07-21  Bruno Haible  <bruno@clisp.org>
29078         Declare system functions in a way that works with C++.
29079         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
29080         declare fdopendir as extern "C".
29081         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
29082         declare frexpl as extern "C".
29083         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
29084         declare gai_strerror as extern "C".
29085         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
29086         programs, declare gai_strerror as extern "C".
29087         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
29088         declare getlogin_r as extern "C".
29089         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
29090         as extern "C".
29091         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
29092         declare ldexpl as extern "C".
29093         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
29094         as extern "C".
29095         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
29096         program, declare getmntinfo as extern "C".
29097         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
29098         stpncpy as extern "C".
29099         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
29100         program, declare __xpg_strerror_r as extern "C".
29101         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
29102         strndup as extern "C".
29103         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
29104         declare memset and bzero as extern "C".
29105         Reported by Sam Steingold <sds@gnu.org>.
29107 2011-07-12  Jim Meyering  <meyering@redhat.com>
29109         maint.mk: prohibit inclusion of "verify.h" without use
29110         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
29112 2011-07-19  Pádraig Brady  <P@draigBrady.com>
29114         timer-time: A new module to check for timer_settime()
29115         * m4/timer_time.m4: Check for the posix function.
29116         * modules/timer-time: Add the new module.
29117         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
29118         Mention it.
29120 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
29121             Bruno Haible  <bruno@clisp.org>
29123         pthread_sigmask: assume POSIX threads if --avoid=threadlib
29124         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
29125         not defined, assume POSIX threads and look for pthread_sigmask in
29126         $LIBS, without changing $CPPFLAGS.
29128 2011-07-19  Bruno Haible  <bruno@clisp.org>
29130         strstr: Update cross-compilation guess.
29131         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
29132         CPUs, guess no, in view of glibc
29133         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
29134         Suggested by Eric Blake. Reported by Reuben Thomas.
29136 2011-07-19  Pádraig Brady  <P@draigBrady.com>
29138         getopt-gnu: suppress core dumps from detection code
29139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
29140         to suppress core dumps that may well occur on glibc systems.
29141         * modules/getopt-gnu: Depend on nocrash.
29143 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
29145         pthread_sigmask: ensure usleep is declared
29146         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
29147         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
29149 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
29151         doc: Document NonStop portability issues.
29152         * doc/posix-functions/sigaction.texi (sigaction):
29153         * doc/posix-headers/signal.texi (signal.h):
29154         Document NonStop.  See Joachim Schmitz in
29155         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
29157 2011-07-15  Bruno Haible  <bruno@clisp.org>
29159         ffsl, ffsll: Avoid unportable behaviour.
29160         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
29162 2011-07-15  Bruno Haible  <bruno@clisp.org>
29164         ffs: More tests.
29165         * tests/test-ffs.c (NBITS): New macro.
29166         (main): Add more tests.
29167         * tests/test-ffsl.c (NBITS): New macro.
29168         (main): Add more tests.
29169         * tests/test-ffsll.c (NBITS): New macro.
29170         (main): Add more tests.
29172 2011-07-15  Eric Blake  <eblake@redhat.com>
29174         ffsl, ffsll: new modules
29175         * modules/ffsl: New file.
29176         * modules/ffsll: Likewise.
29177         * m4/ffsl.m4: Likewise.
29178         * m4/ffsll.m4: Likewise.
29179         * lib/ffsl.c: Likewise.
29180         * lib/ffsl.h: Likewise.
29181         * lib/ffsll.c: Likewise.
29182         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
29183         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
29184         * modules/string (Makefile.am): Substitute witnesses.
29185         * lib/strings.in.h (ffsl, ffsll): Declare.
29186         * modules/ffsl-tests: New test file.
29187         * modules/ffsll-tests: Likewise.
29188         * tests/test-ffsl.c: Likewise.
29189         * tests/test-ffsll.c: Likewise.
29190         * MODULES.html.sh (Integer arithmetic functions): Mention it.
29191         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
29192         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
29194         ffs: fix m4 prerequisite
29195         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
29197         ffs: avoid undefined behavior
29198         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
29199         * tests/test-ffs.c (naive, main): Avoid signed shifts.
29200         Reported by Bruno Haible.
29202 2011-07-12  Bruno Haible  <bruno@clisp.org>
29204         pthread_sigmask: Rely on module 'threadlib'.
29205         * modules/pthread_sigmask (Depends-on): Add threadlib.
29206         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
29207         is defined.
29209 2011-07-12  Bruno Haible  <bruno@clisp.org>
29211         regex: Depend on module 'strcase'.
29212         * modules/regex (Depends-on): Add strcase, for strcasecmp().
29214 2011-07-12  Jim Meyering  <meyering@redhat.com>
29216         warn-on-use: fix typo in file name
29217         * modules/snippet/warn-on-use (Files): Correct file name:
29218         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
29220 2011-07-12  Bruno Haible  <bruno@clisp.org>
29222         strings: Document module.
29223         * doc/posix-headers/strings.texi: Mention module 'strings'.
29225 2011-07-12  Bruno Haible  <bruno@clisp.org>
29227         Rename module '_Noreturn' to 'snippet/_Noreturn'.
29228         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
29229         (Files, Makefile.am): Update.
29230         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
29231         * modules/stdlib (Depends-on): Update.
29233 2011-07-12  Bruno Haible  <bruno@clisp.org>
29235         * NEWS: Mention the changes.
29237         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
29238         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
29239         (Files, Makefile.am): Update.
29240         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
29241         * modules/arpa_inet (Depends-on): Update.
29242         * modules/ctype (Depends-on): Update.
29243         * modules/dirent (Depends-on): Update.
29244         * modules/fcntl-h (Depends-on): Update.
29245         * modules/glob (Depends-on): Update.
29246         * modules/iconv-h (Depends-on): Update.
29247         * modules/inttypes-incomplete (Depends-on): Update.
29248         * modules/langinfo (Depends-on): Update.
29249         * modules/locale (Depends-on): Update.
29250         * modules/math (Depends-on): Update.
29251         * modules/netdb (Depends-on): Update.
29252         * modules/poll-h (Depends-on): Update.
29253         * modules/pty (Depends-on): Update.
29254         * modules/search (Depends-on): Update.
29255         * modules/signal (Depends-on): Update.
29256         * modules/spawn (Depends-on): Update.
29257         * modules/stdio (Depends-on): Update.
29258         * modules/stdlib (Depends-on): Update.
29259         * modules/string (Depends-on): Update.
29260         * modules/strings (Depends-on): Update.
29261         * modules/sys_file (Depends-on): Update.
29262         * modules/sys_ioctl (Depends-on): Update.
29263         * modules/sys_select (Depends-on): Update.
29264         * modules/sys_socket (Depends-on): Update.
29265         * modules/sys_stat (Depends-on): Update.
29266         * modules/sys_time (Depends-on): Update.
29267         * modules/sys_times (Depends-on): Update.
29268         * modules/sys_utsname (Depends-on): Update.
29269         * modules/sys_wait (Depends-on): Update.
29270         * modules/termios (Depends-on): Update.
29271         * modules/time (Depends-on): Update.
29272         * modules/unistd (Depends-on): Update.
29273         * modules/wchar (Depends-on): Update.
29274         * modules/wctype-h (Depends-on): Update.
29275         * MODULES.html.sh (Support for building libraries and executables):
29276         Update.
29278         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
29279         * modules/snippet/unused-parameter: Renamed from
29280         modules/unused-parameter.
29281         (Files, Makefile.am): Update.
29282         * build-aux/snippet/unused-parameter.h: Renamed from
29283         build-aux/unused-parameter.h.
29284         * modules/selinux-h (Depends-on): Update.
29285         * modules/unistr/base (Depends-on): Update.
29286         * MODULES.html.sh (Core language properties): Update.
29288         Rename module 'link-warning' to 'snippet/link-warning'.
29289         * modules/snippet/link-warning: Renamed from modules/link-warning.
29290         (Files, Makefile.am): Update.
29291         * build-aux/snippet/link-warning.h: Renamed from
29292         build-aux/link-warning.h.
29293         * MODULES.html.sh (Support for building libraries and executables):
29294         Update.
29296         Rename module 'c++defs' to 'snippet/c++defs'.
29297         * modules/snippet/c++defs: Renamed from modules/c++defs.
29298         (Files, Makefile.am): Update.
29299         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
29300         * modules/arpa_inet (Depends-on): Update.
29301         * modules/ctype (Depends-on): Update.
29302         * modules/dirent (Depends-on): Update.
29303         * modules/fcntl-h (Depends-on): Update.
29304         * modules/glob (Depends-on): Update.
29305         * modules/iconv-h (Depends-on): Update.
29306         * modules/langinfo (Depends-on): Update.
29307         * modules/locale (Depends-on): Update.
29308         * modules/math (Depends-on): Update.
29309         * modules/netdb (Depends-on): Update.
29310         * modules/poll-h (Depends-on): Update.
29311         * modules/pty (Depends-on): Update.
29312         * modules/search (Depends-on): Update.
29313         * modules/signal (Depends-on): Update.
29314         * modules/spawn (Depends-on): Update.
29315         * modules/stdio (Depends-on): Update.
29316         * modules/stdlib (Depends-on): Update.
29317         * modules/string (Depends-on): Update.
29318         * modules/strings (Depends-on): Update.
29319         * modules/sys_ioctl (Depends-on): Update.
29320         * modules/sys_select (Depends-on): Update.
29321         * modules/sys_socket (Depends-on): Update.
29322         * modules/sys_stat (Depends-on): Update.
29323         * modules/sys_time (Depends-on): Update.
29324         * modules/sys_wait (Depends-on): Update.
29325         * modules/termios (Depends-on): Update.
29326         * modules/time (Depends-on): Update.
29327         * modules/unistd (Depends-on): Update.
29328         * modules/wchar (Depends-on): Update.
29329         * modules/wctype-h (Depends-on): Update.
29331         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
29332         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
29333         (Files, Makefile.am): Update.
29334         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
29335         * modules/argv-iter (Depends-on): Update.
29336         * modules/arpa_inet (Depends-on): Update.
29337         * modules/dirent (Depends-on): Update.
29338         * modules/fcntl-h (Depends-on): Update.
29339         * modules/fnmatch (Depends-on): Update.
29340         * modules/getopt-posix (Depends-on): Update.
29341         * modules/glob (Depends-on): Update.
29342         * modules/iconv-h (Depends-on): Update.
29343         * modules/inttypes-incomplete (Depends-on): Update.
29344         * modules/locale (Depends-on): Update.
29345         * modules/math (Depends-on): Update.
29346         * modules/netdb (Depends-on): Update.
29347         * modules/search (Depends-on): Update.
29348         * modules/signal (Depends-on): Update.
29349         * modules/spawn (Depends-on): Update.
29350         * modules/stdio (Depends-on): Update.
29351         * modules/stdlib (Depends-on): Update.
29352         * modules/string (Depends-on): Update.
29353         * modules/strings (Depends-on): Update.
29354         * modules/sys_socket (Depends-on): Update.
29355         * modules/sys_stat (Depends-on): Update.
29356         * modules/sys_time (Depends-on): Update.
29357         * modules/sys_times (Depends-on): Update.
29358         * modules/sys_utsname (Depends-on): Update.
29359         * modules/time (Depends-on): Update.
29360         * modules/unistd (Depends-on): Update.
29361         * modules/wchar (Depends-on): Update.
29362         * MODULES.html.sh (Support for building libraries and executables):
29363         Update.
29365 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
29367         Improvements on _Noreturn and related modules.
29369         modules/_Exit-tests: test _Noreturn too
29370         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
29371         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
29372         (main): Use them.
29374         stdnoreturn, stdnoreturn-tests: remove modules
29375         They're not needed here and a bit premature for use elsewhere.  See
29376         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
29377         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
29378         * tests/test-stdnoreturn.c: Remove files.
29379         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
29380         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
29381         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
29382         and using noreturn.
29383         * modules/openat, modules/sigpipe-die, modules/xalloc:
29384         * modules/xmemdup0, modules/xstrtol:
29385         Remove dependency on stdnoreturn.
29387         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
29388         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
29389         Reparenthesize to avoid GCC warning.
29390         Support Microsoft's syntax.
29391         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
29393         _Noreturn-tests: remove module
29394         * modules/_Noreturn-tests: Remove.
29395         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
29396         * tests/test-_Noreturn.c: Remove.
29397         * tests/test-stdnoreturn.c: Merge from the old
29398         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
29400 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
29402         _Noreturn, stdnoreturn, and related modules.
29404         * top/maint.mk: Adjust to new noreturn support.
29405         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
29406         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
29408         xalloc: use stdnoreturn.h
29409         * lib/xalloc.h: Include <stdnoreturn.h>.
29410         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
29411         * modules/xalloc (Depends-on): Add stdnoreturn.
29413         xstrtol: use stdnoreturn.h
29414         * lib/xstrtol.h: Include <stdnoreturn.h>.
29415         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
29416         * modules/xstrtol (Depends-on): Add stdnoreturn.
29418         xmemdup0: use stdnoreturn.h
29419         * lib/xmemdup0.h: Include <stdnoreturn.h>.
29420         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
29421         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
29423         sigpipe-die: use stdnoreturn.h
29424         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
29425         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
29426         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
29428         openat: use stdnoreturn.h
29429         * lib/openat.h: Include <stdnoreturn.h>.
29430         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
29431         * modules/openat (Depends-on): Add stdnoreturn.
29433         * lib/openat-die.c (openat_save_fail): Modernize comment.
29435         * lib/xalloc-die.c (xalloc_die): Modernize comment.
29437         * lib/glthread/thread.h: Modernize comment.
29439         obstack: use _Noreturn
29440         * lib/obstack.c (__attribute__): Remove macro.
29441         (print_and_abort): Use _Noreturn.
29443         c-stack: use _Noreturn
29444         * lib/c-stack.c (die, overflow_handler, segv_handler):
29445         Use _Noreturn rather than __attribute__((noreturn)).
29447         argmatch-tests, exclude_tests: use _Noreturn
29448         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
29449         Remove.
29450         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
29452         stdlib: use _Noreturn
29453         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
29454         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
29455         * modules/stdlib (Depends-on): Add _Noreturn.
29456         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
29458         stdnoreturn-tests: new module
29459         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
29461         stdnoreturn: new module
29462         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
29463         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
29465         _Noreturn-tests: new module
29466         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
29468         _Noreturn: new module
29469         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
29470         New section, mentioning it.
29471         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
29473         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
29475 2011-07-11  Eric Blake  <eblake@redhat.com>
29477         ffs: new module
29478         * modules/ffs: New file.
29479         * m4/ffs.m4: Likewise.
29480         * lib/ffs.c: Likewise.
29481         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
29482         * modules/strings (Makefile.am): Substitute witness.
29483         (Depends-on): Add c++defs.
29484         * lib/strings.in.h (ffs): Declare.
29485         * modules/ffs-tests: New test file.
29486         * tests/test-ffs.c: Test new module.
29487         * MODULES.html.sh (Integer arithmetic functions): Mention it.
29488         * doc/posix-functions/ffs.texi (ffs): Likewise.
29490         regex: avoid compiler warning
29491         * lib/regex.c (includes): Include <strings.h>, for use of
29492         strcasecmp in regcomp.c.
29493         Reported by Joachim Schmitz.
29495 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
29497         stdint: respect system's intmax_t if INTMAX_MAX
29498         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
29499         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
29500         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
29501         long but int64_t is long long, and where we will clash with the
29502         system intmax_t if we override it.  See
29503         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
29504         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
29505         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
29506         similarly for UINTMAX_C.
29508 2011-07-08  Bruno Haible  <bruno@clisp.org>
29510         pthread_sigmask tests: Avoid a compiler warning.
29511         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
29512         non-zero.
29514         sigprocmask tests: A better way to avoid a compiler warning.
29515         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
29516         (main): Complain if system() returns non-zero.
29517         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
29519 2011-07-08  Bruno Haible  <bruno@clisp.org>
29521         pthread_sigmask: Work around IRIX bug.
29522         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
29523         bug.
29524         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
29525         there may be unblocked pending signals.
29526         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
29528 2011-07-08  Bruno Haible  <bruno@clisp.org>
29530         pthread_sigmask: Work around Cygwin bug.
29531         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
29532         bug.
29533         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
29534         the system's pthread_sigmask function.
29535         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
29537 2011-07-08  Bruno Haible  <bruno@clisp.org>
29539         pthread_sigmask: Work around bug in single-threaded implementation.
29540         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
29541         FreeBSD, HP-UX, Solaris bug.
29542         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
29543         * lib/pthread_sigmask.c: Include <stddef.h>.
29544         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
29545         the system's pthread_sigmask function.
29546         * modules/pthread_sigmask (configure.ac): Invoke
29547         gl_PREREQ_PTHREAD_SIGMASK.
29548         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
29549         HP-UX, Solaris.
29551 2011-07-08  Eric Blake  <eblake@redhat.com>
29553         test-sigprocmask: avoid compiler warning
29554         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
29555         * tests/test-sigprocmask.c (main): Use it to silence warning.
29556         Reported by Jim Meyering.
29558         test-snprintf: avoid compiler warning
29559         * tests/test-snprintf.c (main): Avoid shadowed declaration.
29560         * tests/test-vsnprintf.c (main): Likewise.
29561         Reported by Jim Meyering.
29563 2011-07-08  Bruno Haible  <bruno@clisp.org>
29565         Tests for module 'pthread_sigmask'.
29566         * modules/pthread_sigmask-tests: New file.
29567         * tests/test-pthread_sigmask1.c: New file, based on
29568         tests/test-sigprocmask.c.
29569         * tests/test-pthread_sigmask2.c: New file.
29571 2011-07-08  Jim Meyering  <meyering@redhat.com>
29573         test-getopt.h: avoid warning about an unused variable
29574         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
29576 2011-07-07  Jim Meyering  <meyering@redhat.com>
29578         maint: reduce list of files exempt from sc_prohibit_leading_TABs
29579         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
29580         now that it no longer contains leading TABs.
29581         Remove unused "url=FIXME" statement.
29583 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29585         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
29586         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
29587         When gl_THREADLIB is not in use, assume that the POSIX sematics
29588         are desired.  This is better for Emacs, which uses POSIX semantics
29589         on GNUish and/or POSIXish platforms, and does not use threads at
29590         all otherwise.
29592         pthread_sigmask: fix typo when testing for libraries
29593         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
29594         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
29596 2011-07-08  Eric Blake  <eblake@redhat.com>
29598         fts: introduce FTS_NOATIME
29599         * lib/fts_.h (FTS_NOATIME): New bit flag.
29600         (FTS_OPTIONMASK): Adjust.
29601         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
29602         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
29604 2011-07-08  Bruno Haible  <bruno@clisp.org>
29606         Tests for module 'thread'.
29607         * modules/thread-tests: New file.
29608         * tests/test-thread_self.c: New file.
29609         * tests/test-thread_create.cc: New file.
29611 2011-07-08  Bruno Haible  <bruno@clisp.org>
29613         thread: Avoid gcc warnings when using gl_thread_self().
29614         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
29615         'void *'.
29616         (gl_thread_self_pointer): Update.
29618 2011-07-07  Bruno Haible  <bruno@clisp.org>
29620         signal-c++-tests: Check declaration of pthread_sigmask.
29621         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
29622         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
29623         $(LIB_PTHREAD_SIGMASK).
29625 2011-07-07  Bruno Haible  <bruno@clisp.org>
29627         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
29628         * lib/signal.in.h (pthread_sigmask): Override if
29629         REPLACE_PTHREAD_SIGMASK is 1.
29630         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
29631         REPLACE_PTHREAD_SIGMASK.
29632         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
29633         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
29634         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
29635         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
29636         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
29638 2011-07-07  Bruno Haible  <bruno@clisp.org>
29640         pthread_sigmask: Ensure declaration in <signal.h>.
29641         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
29642         include <pthread.h>.
29643         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
29644         problem.
29646 2011-07-07  Bruno Haible  <bruno@clisp.org>
29648         pthread_sigmask: Document the module.
29649         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
29651 2011-07-07  Bruno Haible  <bruno@clisp.org>
29653         pthread_sigmask: Follow gnulib conventions.
29654         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
29655         gl_PTHREAD_SIGMASK.
29656         * modules/pthread_sigmask (configure.ac): Update.
29658 2011-07-07  Bruno Haible  <bruno@clisp.org>
29660         pthread_sigmask: Make declaration C++ safe.
29661         * lib/signal.in.h: In two special conditions, just do an #include_next.
29662         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
29663         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
29664         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
29665         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
29666         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
29667         not REPLACE_PTHREAD_MASK.
29668         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
29669         not REPLACE_PTHREAD_MASK.
29670         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
29672 2011-07-07  Bruno Haible  <bruno@clisp.org>
29674         pthread_sigmask: Fix return value.
29675         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
29676         * lib/pthread_sigmask.c: New file.
29677         * modules/pthread_sigmask (Files): Add it.
29678         (configure.ac): Invoke AC_LIBOBJ.
29680 2011-07-07  Eric Blake  <eblake@redhat.com>
29682         getopt: more portable argv creation
29683         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
29684         const, use char arrays rather than strings.
29685         Suggested by Paul Eggert.
29687 2011-07-07  Bruno Haible  <bruno@clisp.org>
29689         Tests for module 'sigprocmask'.
29690         * modules/sigprocmask-tests: New file.
29691         * tests/test-sigprocmask.c: New file.
29693 2011-07-07  Bruno Haible  <bruno@clisp.org>
29695         float tests: Tweak.
29696         * tests/test-float.c (main): Tweak skip message.
29698 2011-07-07  Eric Blake  <eblake@redhat.com>
29700         getopt: avoid compiler warning during configure
29701         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
29702         assigning string literals to non-const pointer.
29704         getopt-gnu: avoid crash in glibc getopt
29705         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
29706         * tests/test-getopt.h (test_getopt): Enhance test.
29707         * tests/test-getopt_long.h (test_getopt_long): Likewise.
29708         * doc/posix-functions/getopt.texi (getopt): Document it.
29709         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
29710         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
29711         Likewise.
29713 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
29715         getopt: handle W; without long options in getopt [BZ #12922]
29716         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
29717         but no long options are defined, just return 'W'.
29719 2011-07-07  Bruno Haible  <bruno@clisp.org>
29721         Avoid literal tabs.
29722         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
29723         variable containing a tab instead of a literal tab.
29724         Reported by Jim Meyering.
29726 2011-07-07  Bruno Haible  <bruno@clisp.org>
29728         Comments.
29729         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
29731 2011-07-06  Bruno Haible  <bruno@clisp.org>
29733         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
29734         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
29735         <winsock2.h>.
29736         (rpl_fd_isset, FD_ISSET): New definitions, copied from
29737         lib/sys_socket.in.h.
29738         (close, gethostname): Hide declarations from <winsock2.h>.
29739         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29740         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
29741         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
29742         (select): Don't override if gnulib's <sys/select.h> was already
29743         included.
29744         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29745         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29746         setsockopt, shutdown, select): Tweak indentation.
29748 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
29750         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
29751         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
29752         in an application that does not use the sys_select module.
29754 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
29756         poll: do not return 0 on timeout=-1
29757         * lib/poll.c: Loop with yield if no events occurred.
29759 2011-07-06  Eric Blake  <eblake@redhat.com>
29761         pthread_sigmask: always replace when not using pthread
29762         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
29763         replacement when using some threading other than pthread.  Fix
29764         logic bug.
29766 2011-07-06  Bruno Haible  <bruno@clisp.org>
29768         Comments.
29769         * m4/printf.m4: Update comments about mingw.
29771 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
29773         sys_select: define sigset_t more portably
29774         * lib/sys_select.in.h: Always include <sys/types.h>, since
29775         we now need sigset_t and mingw defines it there.
29776         Include <signal.h> before split inclusion guard, to avoid
29777         mishaps on Solaris, whose <signal.h> eventually includes us.
29778         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
29779         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
29780         which come from ...
29781         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
29782         gl_CHECK_TYPE_SIGSET_T.
29783         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
29784         does the real work.
29785         * modules/sys_select (Depends-on): Add 'signal'.
29787         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
29788         Suggested by Bruno Haible.
29790         pselect: Use pthread_sigmask, not sigprocmask.
29791         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
29792         multithreaded apps better than sigprocmask does.
29793         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
29794         sigprocmask directly.
29796 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
29798         * lib/pselect.c (pselect): Use plain name, without "rpl_".
29799         Don't #undef,  since we don't need any underlying pselect.
29800         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
29801         (Depends-on): Add select.
29802         (Link): Add $(LIBSOCKET).
29803         These changes suggested by Bruno Haible.
29805         pselect: document better
29806         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
29807         * doc/posix-functions/pselect.texi (pselect): Document new module.
29809         pthread_sigmask: new module
29810         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
29811         * doc/posix-functions/pthread_sigmask.texi: Document new module.
29812         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
29813         This is done only as a macro; I don't know how well that'll
29814         work for C++.  Move <sys/types.h> include before the include_next,
29815         to avoid mishap on Solaris.
29816         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
29817         * modules/signal (Makefile.am): Substitute the check's results.
29818         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
29820         test-pselect: new module
29821         * modules/pselect-tests, tests/test-pselect.c: New files.
29822         * tests/test-select.c, tests/test-sys_select-c++.cc:
29823         If TEST_PSELECT is defined, test pselect instead of testing select.
29825         * tests/test-sys_select.c (sigset_t): Test for it, too.
29826         Suggested by Bruno Haible.
29828 2011-07-05  Eric Blake  <eblake@redhat.com>
29830         snprintf: guarantee %1$d, for libintl
29831         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
29832         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
29833         * doc/posix-functions/snprintf.texi (snprintf): Update.
29834         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
29835         * tests/test-snprintf.c (main): Enhance test.
29836         * tests/test-vsnprintf.c (main): Likewise.
29838 2011-07-05  Jim Meyering  <meyering@redhat.com>
29840         maint: exempt stdio-read.c and stdio-write.c from the cppi check
29841         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
29842         per Bruno's request, to accommodate this idiom (no space after "#")
29843         even when the function is inside an #if block:
29844         char *
29845         gets (char *s)
29846         #undef gets
29847         {
29848           ...
29849         }
29851 2011-07-04  Jim Meyering  <meyering@redhat.com>
29853         maint: indent with spaces, not TABs, and add a rule to check this
29854         * tests/test-userspec.c: Indent with spaces, not TABs.
29855         * tests/test-argp.c: Likewise.
29856         * tests/test-c-stack2.sh: Likewise.
29857         * tests/test-parse-duration.sh: Likewise
29858         * m4/strtod.m4: Likewise.
29859         * m4/alloca.m4: Likewise.
29860         * m4/pselect.m4: Likewise.
29861         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
29863 2011-07-03  Jim Meyering  <meyering@redhat.com>
29865         maint.mk: correct omissions in prohibit_argmatch_without_use check
29866         This rule would mistakenly report that argmatch.h is included without
29867         use even when both the argmatch and invalid_arg macro were used.
29868         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
29869         of argmatch and invalid_arg.
29871 2011-07-03  Bruno Haible  <bruno@clisp.org>
29873         Comments about EINTR.
29874         * lib/safe-read.h: Explain the purpose of this module.
29875         * lib/safe-write.h: Likewise.
29876         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
29877         module.
29878         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
29879         module.
29880         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29882 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
29884         xnanosleep: Rewrite to use new dtotimespec module.
29885         It has the conversion code that used to be in xnanosleep.
29886         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
29887         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
29888         (TIME_T_MAX): Remove.
29889         (xnanosleep): Rewrite in terms of dtotimespec.
29890         * modules/xnanosleep (Depends-on): Add dtotimespec.
29891         Remove intprops, stdbool.
29893         timespec-add, timespec-sub: new modules
29894         * lib/timespec.h (timespec_add, timespec_sub): New decls.
29895         * lib/timespec-add.c, lib/timespec-sub.c:
29896         * modules/timespec-add, modules/timespec-sub: New files.
29898         dtotimespec: new module
29899         * lib/timespec.h (dtotimespec): New decl.
29900         * lib/dtotimespec.c, modules/dtotimespec: New files.
29902         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
29904         pselect: new module
29905         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
29906         (pselect): New decls.
29907         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
29908         since the standard pselect decl uses 'restrict'.
29909         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
29910         HAVE_PSELECT, REPLACE_PSELECT.
29911         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
29912         HAVE_PSELECT, REPLACE_PSELECT.
29913         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
29915         sys_select: don't depend on sys_socket
29916         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
29917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
29918         This fix works on GNU and GNU-like platforms, but has not been tested
29919         on native Windows.
29920         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
29921         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
29922         gl_HEADER_SYS_SOCKET.
29923         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
29924         gl_PREREQ_SYS_H_WINSOCK2.
29926 2011-06-29  Eric Blake  <eblake@redhat.com>
29928         pipe2: fix C89 compile problem
29929         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
29930         Reported by Bruno Haible.
29932         pipe, pipe2: don't corrupt fd on error
29933         * lib/pipe.c (pipe): Leave fd unchanged on error.
29934         * lib/pipe2.c (pipe2): Likewise.
29935         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
29936         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
29938 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
29940         mmap-anon: do not use regular expressions inadvertently
29941         * m4/mmap-anon.m4: Remove trailing period from strings sought
29942         in the output.
29944 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
29946         nanosleep: fix integer overflow problem
29947         * lib/nanosleep.c (my_usleep): Don't assume signed integer
29948         arithmetic wraps around on overflow.
29950         nanosleep: simplify carrying
29951         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
29952         first call to the underyling nanosleep, not for the last one.
29953         This doesn't fix any bugs, but it simplifies the computation of
29954         the remaining delay.  Found while auditing integer overflow issues.
29956         dup2: remove test for existence of fcntl
29957         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
29958         "#if HAVE_FCNTL", in the configure-time test program.
29959         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
29960         and therefore speeds up "configure" a bit.  Found while
29961         adding the dup2 module to Emacs.
29963 2011-06-24  Eric Blake  <eblake@redhat.com>
29965         maint.mk: enhance useless header checks
29966         * top/maint.mk (_sc_header_without_use): Check both include
29967         styles.
29968         (sc_prohibit_assert_without_use)
29969         (sc_prohibit_close_stream_without_use)
29970         (sc_prohibit_getopt_without_use)
29971         (sc_prohibit_quotearg_without_use)
29972         (sc_prohibit_quote_without_use)
29973         (sc_prohibit_long_options_without_use)
29974         (sc_prohibit_inttostr_without_use)
29975         (sc_prohibit_ignore_value_without_use)
29976         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
29977         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
29978         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
29979         (sc_prohibit_hash_pjw_without_use)
29980         (sc_prohibit_safe_read_without_use)
29981         (sc_prohibit_argmatch_without_use)
29982         (sc_prohibit_canonicalize_without_use)
29983         (sc_prohibit_root_dev_ino_without_use)
29984         (sc_prohibit_openat_without_use)
29985         (sc_prohibit_c_ctype_without_use)
29986         (sc_prohibit_signal_without_use)
29987         (sc_prohibit_stdio--_without_use)
29988         (sc_prohibit_stdio-safer_without_use)
29989         (sc_prohibit_strings_without_use)
29990         (sc_prohibit_intprops_without_use)
29991         (sc_prohibit_stddef_without_use)
29992         (sc_prohibit_xfreopen_without_use): Update clients.
29994 2011-06-24  Jim Meyering  <meyering@redhat.com>
29996         syntax-check: keep one maint.mk rule in sync with its header
29997         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
29998         of the bug Eric has just fixed, with today's commit 25e4c2ec.
29999         I prefer to avoid temporary files here, so use <(...), but that
30000         is not supported by /bin/sh, so...
30001         (SHELL): Define to /bin/bash.
30003 2011-06-24  Eric Blake  <eblake@redhat.com>
30005         maint.mk: update sc_prohibit_intprops_without_use
30006         * top/maint.mk (_intprops_names): Match recent changes.
30008 2011-06-24  Bruno Haible  <bruno@clisp.org>
30010         strerror-override: No-op tweak.
30011         * lib/strerror-override.h (strerror_override): Reorder conditions,
30012         for consistency with lib/strerror-override.c.
30014 2011-06-23  Eric Blake  <eblake@redhat.com>
30016         maint.mk: test further PATH_MAX issues
30017         * top/maint.mk (sc_prohibit_path_max_array): Rename...
30018         (sc_prohibit_path_max_allocation): ...and also test alloca.
30019         Suggested by Jim Meyering.
30021 2011-06-22  Eric Blake  <eblake@redhat.com>
30023         maint.mk: add syntax-check to avoid char[PATH_MAX]
30024         * top/maint.mk (sc_prohibit_path_max_array): New rule.
30026         stat: be robust to PATH_MAX definition
30027         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
30028         * modules/stat (Depends-on): Add verify.
30030         link: work around IRIX bug
30031         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
30032         * lib/link.c (rpl_link): Work around it.
30033         * tests/test-link.h (test_link): Enhance test.
30034         * doc/posix-functions/link.texi (link): Document the bug.
30036         getopt: silence clang warning
30037         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
30038         dereference.
30039         Reported by Gustavo Martin Domato.
30041 2011-06-22  Jim Meyering  <meyering@redhat.com>
30043         bootstrap: do not insert a blank line into each .gitignore file
30044         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
30046 2011-06-21  Eric Blake  <eblake@redhat.com>
30048         perror: test for output mismatch
30049         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
30050         perror on IRIX.
30052         strerror_r: fix OpenBSD behavior on out-of-range
30053         * lib/strerror_r.c (strerror_r): Always use maximal string.
30054         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
30056         strerror_r: fix OpenBSD behavior on 0
30057         * lib/strerror-override.c (strerror_override): Also override 0
30058         when needed.
30059         * lib/strerror-override.h (strerror_override): Likewise.
30060         * lib/strerror.c (strerror): Simplify, now that 0 override is done
30061         earlier.
30062         * lib/strerror_r.c (strerror_r): Likewise.
30063         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
30064         behavior...
30065         (gl_FUNC_STRERROR_0): ...into new macro.
30066         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
30067         is overridden.
30068         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
30069         * modules/strerror-override (Files): Add strerror.m4.
30070         (configure.ac): Also provide override for 0 when needed.
30071         * doc/posix-functions/strerror.texi (strerror): Document this.
30072         * doc/posix-functions/perror.texi (perror): Likewise.
30074         perror: adjust array size
30075         * modules/perror (Depends-on): Add strerror-override.
30076         * lib/perror.c (perror): Use it to avoid magic number.
30078         strerror-override: reduce size
30079         * lib/strerror-override.c (strerror_override): Use fewer lines.
30081 2011-06-20  Bruno Haible  <bruno@clisp.org>
30083         pathmax: Ensure correct value for PATH_MAX on HP-UX.
30084         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
30086 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
30088         alloca: port to compilers that can optimize like GCC 4.6.0
30089         * lib/alloca.c (find_stack_direction): New signature, taken from
30090         Autoconf git.  This works with GCC 4.6.0.  This code should never
30091         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
30092         be used with other compilers that optimize as well as GCC 4.6.0 does.
30093         (alloca): Adjust to new signature.
30094         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
30095         New macro, which patches Autoconf in a similar way.
30097         c-stack: stop worrying about stack direction
30098         * lib/c-stack.c (find_stack_direction): Remove.
30099         (segv_handler): Don't worry about stack direction growth, as it's
30100         too much of a pain to configure this correctly, given how compilers
30101         are optimizing-away our stack-growth detection code.  Instead, assume
30102         that any access to just before or just after the stack is OK.
30103         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
30104         Don't require AC_FUNC_ALLOCA; no longer needed.
30106 2011-06-20  Eric Blake  <eblake@redhat.com>
30108         test-stat: don't allocate PATH_MAX bytes
30109         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
30110         PATH_MAX-sized buffer.
30111         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
30112         * modules/stat-tests (Depends-on): Likewise.
30113         * tests/test-fstatat.c (includes): Drop pathmax.h.
30114         * tests/test-stat.c (includes): Likewise.
30115         Reported by Bruno Haible.
30117 2011-06-20  Bruno Haible  <bruno@clisp.org>
30119         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
30120         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
30121         * lib/float.c: New file.
30122         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
30123         REPLACE_FLOAT_LDBL.
30124         * modules/float (Files): Add lib/float.c.
30125         (configure.ac): Invoke AC_LIBOBJ.
30126         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
30128 2011-06-20  Bruno Haible  <bruno@clisp.org>
30130         Tests for module 'float'.
30131         * modules/float-tests: New file.
30132         * tests/test-float.c: New file.
30134 2011-06-19  Bruno Haible  <bruno@clisp.org>
30136         isinf: Coding style.
30137         * lib/isinf.c: Use GNU coding style.
30139 2011-06-19  Bruno Haible  <bruno@clisp.org>
30141         linkat test: Avoid test failure on AIX 7.1.
30142         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
30143         * tests/test-link.h (test_link): Likewise.
30145 2011-06-19  Bruno Haible  <bruno@clisp.org>
30147         pread test: Avoid test failure on OpenBSD 4.9.
30148         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
30150 2011-06-19  Bruno Haible  <bruno@clisp.org>
30152         sprintf-posix: Fix test failure on AIX 7.1.
30153         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
30154         * doc/posix-functions/dprintf.texi: Mention limited precision problem
30155         on AIX.
30156         * doc/posix-functions/fprintf.texi: Likewise.
30157         * doc/posix-functions/printf.texi: Likewise.
30158         * doc/posix-functions/snprintf.texi: Likewise.
30159         * doc/posix-functions/sprintf.texi: Likewise.
30160         * doc/posix-functions/vdprintf.texi: Likewise.
30161         * doc/posix-functions/vfprintf.texi: Likewise.
30162         * doc/posix-functions/vprintf.texi: Likewise.
30163         * doc/posix-functions/vsnprintf.texi: Likewise.
30164         * doc/posix-functions/vsprintf.texi: Likewise.
30166 2011-06-19  Bruno Haible  <bruno@clisp.org>
30168         roundl-ieee: Fix test failure on AIX 7.1.
30169         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
30170         * doc/posix-functions/roundl.texi: Mention problem with negative
30171         arguments.
30173 2011-06-19  Bruno Haible  <bruno@clisp.org>
30175         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
30176         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
30177         * doc/posix-functions/round.texi: Mention problem with negative
30178         arguments.
30179         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
30181 2011-06-19  Bruno Haible  <bruno@clisp.org>
30183         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
30184         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
30185         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
30186         * doc/posix-functions/roundf.texi: Mention problem with negative
30187         arguments.
30188         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
30190 2011-06-19  Bruno Haible  <bruno@clisp.org>
30192         ceilf-ieee: Work around bug on MacOS X 10.5.
30193         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
30195         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
30196         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
30197         IEEE compliant, avoid compiler optimizations.
30198         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
30199         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
30200         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
30201         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
30202         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30203         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30204         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30205         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
30206         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
30207         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
30209 2011-06-19  Bruno Haible  <bruno@clisp.org>
30211         ceilf-ieee: Work around bug on AIX 7.1.
30212         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
30213         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
30215 2011-06-19  Bruno Haible  <bruno@clisp.org>
30217         ceil-ieee: Work around bug on AIX 7.1.
30218         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
30219         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
30221 2011-06-18  Bruno Haible  <bruno@clisp.org>
30223         fsync test: Avoid test failure on MacOS X and AIX.
30224         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
30225         EINVAL.
30227 2011-06-18  Bruno Haible  <bruno@clisp.org>
30229         openat, fdopendir tests: Fix link errors.
30230         * modules/openat-tests (Depends-on): Add progname.
30231         * modules/fdopendir-tests (Depends-on): Likewise.
30232         * tests/test-fchownat.c: Include progname.h.
30233         (main): Call set_program_name.
30234         * tests/test-fstatat.c: Include progname.h.
30235         (main): Call set_program_name.
30236         * tests/test-mkdirat.c: Include progname.h.
30237         (main): Call set_program_name.
30238         * tests/test-openat.c: Include progname.h.
30239         (main): Call set_program_name.
30240         * tests/test-unlinkat.c: Include progname.h.
30241         (main): Call set_program_name.
30242         * tests/test-fdopendir.c: Include progname.h.
30243         (main): Call set_program_name.
30245 2011-06-18  Bruno Haible  <bruno@clisp.org>
30247         Doc update.
30248         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
30249         HP-UX.
30250         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
30252 2011-06-18  Bruno Haible  <bruno@clisp.org>
30254         getcwd tests: Avoid compilation error on HP-UX 11.31.
30255         * modules/getcwd-tests (Depends-on): Add pathmax.
30256         * tests/test-getcwd.c: Include pathmax.h.
30258 2011-06-18  Bruno Haible  <bruno@clisp.org>
30260         isfinite, isinf: Fix link error on AIX 6 and 7.
30261         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
30262         needed, also test the macro with a 'float' argument.
30263         * m4/isinf.m4 (gl_ISINF): Likewise.
30265 2011-06-18  Bruno Haible  <bruno@clisp.org>
30267         getloadavg: Don't clobber LIBS. Regression from previous commit.
30268         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
30269         AC_CHECK_LIB from here...
30270         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
30271         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
30272         gl_func_getloadavg_done.
30273         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30275 2011-06-18  Bruno Haible  <bruno@clisp.org>
30277         clean-temp: Improve documentation.
30278         * lib/clean-temp.h: Explain better how to use this module.
30279         Reported by John Darrington <john@darrington.wattle.id.au>.
30281 2011-06-17  Bruno Haible  <bruno@clisp.org>
30283         pread, pwrite: Avoid cc warning on AIX.
30284         * lib/unistd.in.h (pread): Undefine before defining as a macro.
30285         (pwrite): Likewise.
30287 2011-06-17  Bruno Haible  <bruno@clisp.org>
30289         spawn-pipe tests: Fix link error.
30290         * tests/test-spawn-pipe-child.c: Undefine fprintf.
30291         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30293 2011-06-17  Bruno Haible  <bruno@clisp.org>
30295         Tests: Remove unnecessary dependency.
30296         * modules/canonicalize-tests (Depends-on): Remove progname.
30297         * modules/chown-tests (Depends-on): Likewise.
30298         * modules/dirname-tests (Depends-on): Likewise.
30299         * modules/fdopendir-tests (Depends-on): Likewise.
30300         * modules/fdutimensat-tests (Depends-on): Likewise.
30301         * modules/hash-tests (Depends-on): Likewise.
30302         * modules/lchown-tests (Depends-on): Likewise.
30303         * modules/linkat-tests (Depends-on): Likewise.
30304         * modules/renameat-tests (Depends-on): Likewise.
30305         * modules/spawn-pipe-tests (Depends-on): Likewise.
30306         * modules/utimensat-tests (Depends-on): Likewise.
30308 2011-06-17  Bruno Haible  <bruno@clisp.org>
30310         spawn-pipe tests: Fix link error.
30311         * tests/test-spawn-pipe-child.c: Undefine fflush.
30313 2011-06-17  Bruno Haible  <bruno@clisp.org>
30315         Fix tests link errors.
30316         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
30317         * modules/chown-tests (Makefile.am): Don't link test-chown with
30318         LIBINTL.
30319         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
30320         LIBINTL.
30321         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
30322         LIBINTL.
30323         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
30324         LIBINTL.
30326 2011-06-16  Bruno Haible  <bruno@clisp.org>
30328         crypto/gc-sha1: Fix recent regression.
30329         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
30330         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
30332         crypto/gc-md5: Fix recent regression.
30333         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
30335         crypto/gc-md4: Fix recent regression.
30336         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
30337         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
30339         crypto/gc-arctwo: Fix recent regression.
30340         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
30341         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
30343         crypto/gc-rijndael: Fix recent regression.
30344         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
30345         (configure.ac): Invoke AC_LIBOBJ here.
30346         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
30347         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30349         crypto/gc-hmac-sha1: Fix recent regression.
30350         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
30351         (configure.ac): Invoke AC_LIBOBJ here.
30352         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
30353         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30355         crypto/gc-hmac-md5: Fix recent regression.
30356         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
30357         (configure.ac): Invoke AC_LIBOBJ here.
30358         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
30359         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30361         crypto/gc-des: Fix recent regression.
30362         * modules/crypto/gc-des (Files): Remove m4/des.m4.
30363         (configure.ac): Invoke AC_LIBOBJ here.
30364         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
30365         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30367         crypto/gc-arcfour: Fix recent regression.
30368         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
30369         (configure.ac): Invoke AC_LIBOBJ here.
30370         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
30371         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30373 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
30375         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
30376         After the 2011-05-21 change, this macro requires
30377         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
30378         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
30380 2011-06-16  Bruno Haible  <bruno@clisp.org>
30382         fprintftime: Move AC_LIBOBJ invocations to module description.
30383         * m4/fprintftime.m4: Remove file.
30384         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
30385         (configure.ac): Remove gl_FPRINTFTIME call.
30386         (Makefile.am): Augment lib_SOURCES.
30387         Reported by Jim Meyering.
30389 2011-06-16  Bruno Haible  <bruno@clisp.org>
30391         tmpfile-safer: Finish 2011-05-23 commit.
30392         * m4/stdio-safer.m4: Really remove file.
30393         Reported by Jim Meyering.
30395 2011-06-16  Bruno Haible  <bruno@clisp.org>
30397         syntax-check: Fix typo.
30398         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
30399         printf-posix.m4.
30400         Reported by Jim Meyering.
30402 2011-06-13  Jim Meyering  <meyering@redhat.com>
30404         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
30405         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
30407 2011-05-23  Bruno Haible  <bruno@clisp.org>
30409         yesno: Move AC_LIBOBJ invocations to module description.
30410         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
30411         * modules/yesno (Makefile.am): Augment lib_SOURCES.
30413 2011-05-23  Bruno Haible  <bruno@clisp.org>
30415         xstrtol: Move AC_LIBOBJ invocations to module description.
30416         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
30417         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
30419 2011-05-23  Bruno Haible  <bruno@clisp.org>
30421         xstrtold: Move AC_LIBOBJ invocations to module description.
30422         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
30423         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
30425 2011-05-23  Bruno Haible  <bruno@clisp.org>
30427         xstrtod: Move AC_LIBOBJ invocations to module description.
30428         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
30429         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
30431 2011-05-23  Bruno Haible  <bruno@clisp.org>
30433         xnanosleep: Move AC_LIBOBJ invocations to module description.
30434         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
30435         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
30437 2011-05-23  Bruno Haible  <bruno@clisp.org>
30439         xgetcwd: Move AC_LIBOBJ invocations to module description.
30440         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
30441         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
30443 2011-05-23  Bruno Haible  <bruno@clisp.org>
30445         xalloc: Move AC_LIBOBJ invocations to module description.
30446         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
30447         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
30449 2011-05-23  Bruno Haible  <bruno@clisp.org>
30451         write-any-file: Move AC_LIBOBJ invocations to module description.
30452         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
30453         invocation.
30454         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
30456 2011-05-23  Bruno Haible  <bruno@clisp.org>
30458         utimens: Move AC_LIBOBJ invocations to module description.
30459         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
30460         * modules/utimens (Makefile.am): Augment lib_SOURCES.
30462 2011-05-23  Bruno Haible  <bruno@clisp.org>
30464         utimecmp: Move AC_LIBOBJ invocations to module description.
30465         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
30466         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
30468 2011-05-23  Bruno Haible  <bruno@clisp.org>
30470         userspec: Move AC_LIBOBJ invocations to module description.
30471         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
30472         * modules/userspec (Makefile.am): Augment lib_SOURCES.
30474 2011-05-23  Bruno Haible  <bruno@clisp.org>
30476         unlinkdir: Move AC_LIBOBJ invocations to module description.
30477         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
30478         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
30480 2011-05-23  Bruno Haible  <bruno@clisp.org>
30482         unistd-safer: Move AC_LIBOBJ invocations to module description.
30483         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
30484         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
30486 2011-05-23  Bruno Haible  <bruno@clisp.org>
30488         tempname: Move AC_LIBOBJ invocations to module description.
30489         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
30490         * modules/tempname (Makefile.am): Augment lib_SOURCES.
30492 2011-05-23  Bruno Haible  <bruno@clisp.org>
30494         strftime: Move AC_LIBOBJ invocations to module description.
30495         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
30496         * modules/strftime (Makefile.am): Augment lib_SOURCES.
30498 2011-05-23  Bruno Haible  <bruno@clisp.org>
30500         stdlib-safer: Move AC_LIBOBJ invocations to module description.
30501         * m4/stdlib-safer.m4: Remove file.
30502         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
30503         (configure.ac): Remove gl_STDLIB_SAFER call.
30504         (Makefile.am): Augment lib_SOURCES.
30506 2011-05-23  Bruno Haible  <bruno@clisp.org>
30508         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
30509         * m4/stdio-safer.m4: Remove file.
30510         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
30511         (configure.ac): Remove gl_TMPFILE_SAFER call.
30512         (Makefile.am): Augment lib_SOURCES.
30514 2011-05-23  Bruno Haible  <bruno@clisp.org>
30516         popen-safer: Move AC_LIBOBJ invocations to module description.
30517         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
30518         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
30519         (configure.ac): Remove gl_POPEN_SAFER call.
30520         (Makefile.am): Augment lib_SOURCES.
30522 2011-05-23  Bruno Haible  <bruno@clisp.org>
30524         freopen-safer: Move AC_LIBOBJ invocations to module description.
30525         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
30526         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
30527         (configure.ac): Remove gl_FREOPEN_SAFER call.
30528         (Makefile.am): Augment lib_SOURCES.
30530 2011-05-23  Bruno Haible  <bruno@clisp.org>
30532         fopen-safer: Move AC_LIBOBJ invocations to module description.
30533         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
30534         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
30535         (configure.ac): Remove gl_FOPEN_SAFER call.
30536         (Makefile.am): Augment lib_SOURCES.
30538 2011-05-23  Bruno Haible  <bruno@clisp.org>
30540         crypto/sha512: Move AC_LIBOBJ invocations to module description.
30541         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
30542         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
30544 2011-05-23  Bruno Haible  <bruno@clisp.org>
30546         crypto/sha256: Move AC_LIBOBJ invocations to module description.
30547         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
30548         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
30550 2011-05-23  Bruno Haible  <bruno@clisp.org>
30552         crypto/sha1: Move AC_LIBOBJ invocations to module description.
30553         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
30554         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
30556 2011-05-23  Bruno Haible  <bruno@clisp.org>
30558         settime: Move AC_LIBOBJ invocations to module description.
30559         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
30560         * modules/settime (Makefile.am): Augment lib_SOURCES.
30562 2011-05-23  Bruno Haible  <bruno@clisp.org>
30564         savedir: Move AC_LIBOBJ invocations to module description.
30565         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
30566         * modules/savedir (Makefile.am): Augment lib_SOURCES.
30568 2011-05-23  Bruno Haible  <bruno@clisp.org>
30570         save-cwd: Move AC_LIBOBJ invocations to module description.
30571         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
30572         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
30574 2011-05-23  Bruno Haible  <bruno@clisp.org>
30576         same: Move AC_LIBOBJ invocations to module description.
30577         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
30578         * modules/same (Makefile.am): Augment lib_SOURCES.
30580 2011-05-23  Bruno Haible  <bruno@clisp.org>
30582         safe-write: Move AC_LIBOBJ invocations to module description.
30583         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
30584         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
30585         instead of gl_SAFE_WRITE.
30586         (Makefile.am): Augment lib_SOURCES.
30588 2011-05-23  Bruno Haible  <bruno@clisp.org>
30590         safe-read: Move AC_LIBOBJ invocations to module description.
30591         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
30592         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
30593         of gl_SAFE_READ.
30594         (Makefile.am): Augment lib_SOURCES.
30596 2011-05-23  Bruno Haible  <bruno@clisp.org>
30598         safe-alloc: Move AC_LIBOBJ invocations to module description.
30599         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
30600         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
30602 2011-05-23  Bruno Haible  <bruno@clisp.org>
30604         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
30605         * m4/rijndael.m4: Remove file.
30606         * modules/crypto/rijndael (Files): Remove it.
30607         (configure.ac): Remove gl_RIJNDAEL call.
30608         (Makefile.am): Augment lib_SOURCES.
30610 2011-05-23  Bruno Haible  <bruno@clisp.org>
30612         readtokens: Move AC_LIBOBJ invocations to module description.
30613         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
30614         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
30616 2011-05-23  Bruno Haible  <bruno@clisp.org>
30618         read-file: Move AC_LIBOBJ invocations to module description.
30619         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
30620         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
30621         of gl_FUNC_READ_FILE.
30622         (Makefile.am): Augment lib_SOURCES.
30624 2011-05-23  Bruno Haible  <bruno@clisp.org>
30626         quotearg: Move AC_LIBOBJ invocations to module description.
30627         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
30628         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
30630 2011-05-23  Bruno Haible  <bruno@clisp.org>
30632         quote: Move AC_LIBOBJ invocations to module description.
30633         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
30634         * modules/quote (Makefile.am): Augment lib_SOURCES.
30636 2011-05-23  Bruno Haible  <bruno@clisp.org>
30638         posixver: Move AC_LIBOBJ invocations to module description.
30639         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
30640         * modules/posixver (Makefile.am): Augment lib_SOURCES.
30642 2011-05-23  Bruno Haible  <bruno@clisp.org>
30644         posixtm: Move AC_LIBOBJ invocations to module description.
30645         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
30646         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
30648 2011-05-23  Bruno Haible  <bruno@clisp.org>
30650         physmem: Move AC_LIBOBJ invocations to module description.
30651         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
30652         * modules/physmem (Makefile.am): Augment lib_SOURCES.
30654 2011-05-23  Bruno Haible  <bruno@clisp.org>
30656         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
30657         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
30658         invocation.
30659         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
30661 2011-05-23  Bruno Haible  <bruno@clisp.org>
30663         mpsort: Move AC_LIBOBJ invocations to module description.
30664         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
30665         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
30667 2011-05-23  Bruno Haible  <bruno@clisp.org>
30669         modechange: Move AC_LIBOBJ invocations to module description.
30670         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
30671         * modules/modechange (Makefile.am): Augment lib_SOURCES.
30673 2011-05-23  Bruno Haible  <bruno@clisp.org>
30675         mkdir-p: Move AC_LIBOBJ invocations to module description.
30676         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
30677         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
30679 2011-05-23  Bruno Haible  <bruno@clisp.org>
30681         mkancesdirs: Move AC_LIBOBJ invocations to module description.
30682         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
30683         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
30685 2011-05-23  Bruno Haible  <bruno@clisp.org>
30687         mgetgroups: Move AC_LIBOBJ invocations to module description.
30688         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
30689         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
30691 2011-05-23  Bruno Haible  <bruno@clisp.org>
30693         memxor: Move AC_LIBOBJ invocations to module description.
30694         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
30695         * modules/memxor (Makefile.am): Augment lib_SOURCES.
30697 2011-05-23  Bruno Haible  <bruno@clisp.org>
30699         memcoll: Move AC_LIBOBJ invocations to module description.
30700         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
30701         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
30703 2011-05-23  Bruno Haible  <bruno@clisp.org>
30705         memcasecmp: Move AC_LIBOBJ invocations to module description.
30706         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
30707         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
30709 2011-05-23  Bruno Haible  <bruno@clisp.org>
30711         crypto/md5: Move AC_LIBOBJ invocations to module description.
30712         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
30713         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
30715 2011-05-23  Bruno Haible  <bruno@clisp.org>
30717         crypto/md4: Move AC_LIBOBJ invocations to module description.
30718         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
30719         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
30721 2011-05-23  Bruno Haible  <bruno@clisp.org>
30723         crypto/md2: Move AC_LIBOBJ invocations to module description.
30724         * m4/md2.m4: Remove file.
30725         * modules/crypto/md2 (Files): Remove it.
30726         (configure.ac): Remove gl_MD2 call.
30727         (Makefile.am): Augment lib_SOURCES.
30729 2011-05-23  Bruno Haible  <bruno@clisp.org>
30731         long-options: Move AC_LIBOBJ invocations to module description.
30732         * m4/long-options.m4: Remove file.
30733         * modules/long-options (Files): Remove it.
30734         (configure.ac): Remove gl_LONG_OPTIONS call.
30735         (Makefile.am): Augment lib_SOURCES.
30737 2011-05-23  Bruno Haible  <bruno@clisp.org>
30739         i-ring: Move AC_LIBOBJ invocations to module description.
30740         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
30741         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
30743 2011-05-23  Bruno Haible  <bruno@clisp.org>
30745         idcache: Move AC_LIBOBJ invocations to module description.
30746         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
30747         * modules/idcache (Makefile.am): Augment lib_SOURCES.
30749 2011-05-23  Bruno Haible  <bruno@clisp.org>
30751         human: Move AC_LIBOBJ invocations to module description.
30752         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
30753         * modules/human (Makefile.am): Augment lib_SOURCES.
30755 2011-05-23  Bruno Haible  <bruno@clisp.org>
30757         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
30758         * m4/hmac-sha1.m4: Remove file.
30759         * modules/crypto/hmac-sha1 (Files): Remove it.
30760         (configure.ac): Remove gl_HMAC_SHA1 call.
30761         (Makefile.am): Augment lib_SOURCES.
30763 2011-05-23  Bruno Haible  <bruno@clisp.org>
30765         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
30766         * m4/hmac-md5.m4: Remove file.
30767         * modules/crypto/hmac-md5 (Files): Remove it.
30768         (configure.ac): Remove gl_HMAC_MD5 call.
30769         (Makefile.am): Augment lib_SOURCES.
30771 2011-05-23  Bruno Haible  <bruno@clisp.org>
30773         hash: Move AC_LIBOBJ invocations to module description.
30774         * m4/hash.m4: Remove file.
30775         * modules/hash (Files): Remove it.
30776         (configure.ac): Remove gl_HASH call.
30777         (Makefile.am): Augment lib_SOURCES.
30779 2011-05-23  Bruno Haible  <bruno@clisp.org>
30781         hard-locale: Move AC_LIBOBJ invocations to module description.
30782         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
30783         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
30785 2011-05-23  Bruno Haible  <bruno@clisp.org>
30787         getugroups: Move AC_LIBOBJ invocations to module description.
30788         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
30789         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
30791 2011-05-23  Bruno Haible  <bruno@clisp.org>
30793         gettime: Move AC_LIBOBJ invocations to module description.
30794         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
30795         * modules/gettime (Makefile.am): Augment lib_SOURCES.
30797 2011-05-23  Bruno Haible  <bruno@clisp.org>
30799         getndelim2: Move AC_LIBOBJ invocations to module description.
30800         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
30801         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
30803 2011-05-23  Bruno Haible  <bruno@clisp.org>
30805         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
30806         * m4/gc-pbkdf2-sha1.m4: Remove file.
30807         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
30808         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
30809         (Makefile.am): Augment lib_SOURCES.
30811 2011-05-23  Bruno Haible  <bruno@clisp.org>
30813         fts: Move AC_LIBOBJ invocations to module description.
30814         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
30815         * modules/fts (configure.ac): ... to here.
30817 2011-05-23  Bruno Haible  <bruno@clisp.org>
30819         file-type: Move AC_LIBOBJ invocations to module description.
30820         * m4/file-type.m4: Remove file.
30821         * modules/file-type (Files): Remove it.
30822         (configure.ac): Remove gl_FILE_TYPE call.
30823         (Makefile.am): Augment lib_SOURCES.
30825 2011-05-23  Bruno Haible  <bruno@clisp.org>
30827         filenamecat*: Respect rules for use of AC_LIBOBJ.
30828         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
30829         Remove AC_LIBOBJ invocation.
30830         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
30831         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
30833 2011-05-23  Bruno Haible  <bruno@clisp.org>
30835         filemode: Move AC_LIBOBJ invocations to module description.
30836         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
30837         * modules/filemode (Makefile.am): Augment lib_SOURCES.
30839 2011-05-23  Bruno Haible  <bruno@clisp.org>
30841         openat-safer: Move AC_LIBOBJ invocations to module description.
30842         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
30843         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
30845 2011-05-23  Bruno Haible  <bruno@clisp.org>
30847         fcntl-safer: Move AC_LIBOBJ invocations to module description.
30848         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
30849         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
30851 2011-05-23  Bruno Haible  <bruno@clisp.org>
30853         exclude: Move AC_LIBOBJ invocations to module description.
30854         * m4/exclude.m4: Remove file.
30855         * modules/exclude (Files): Remove it.
30856         (configure.ac): Remove gl_EXCLUDE call.
30857         (Makefile.am): Augment lib_SOURCES.
30859 2011-05-23  Bruno Haible  <bruno@clisp.org>
30861         dirname*: Respect rules for use of AC_LIBOBJ.
30862         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
30863         invocations.
30864         * modules/dirname (Makefile.am): Augment lib_SOURCES.
30865         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
30867 2011-05-23  Bruno Haible  <bruno@clisp.org>
30869         dirent-safer: Move AC_LIBOBJ invocations to module description.
30870         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
30871         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
30873 2011-05-23  Bruno Haible  <bruno@clisp.org>
30875         crypto/des: Move AC_LIBOBJ invocations to module description.
30876         * m4/des.m4: Remove file.
30877         * modules/crypto/des (Files): Remove it.
30878         (configure.ac): Remove gl_DES call.
30879         (Makefile.am): Augment lib_SOURCES.
30881 2011-05-23  Bruno Haible  <bruno@clisp.org>
30883         cycle-check: Move AC_LIBOBJ invocations to module description.
30884         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
30885         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
30887 2011-05-23  Bruno Haible  <bruno@clisp.org>
30889         c-strtold: Move AC_LIBOBJ invocations to module description.
30890         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
30891         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
30893 2011-05-23  Bruno Haible  <bruno@clisp.org>
30895         c-strtod: Move AC_LIBOBJ invocations to module description.
30896         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
30897         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
30899 2011-05-23  Bruno Haible  <bruno@clisp.org>
30901         crc: Move AC_LIBOBJ invocations to module description.
30902         * m4/crc.m4: Remove file.
30903         * modules/crc (Files): Remove it.
30904         (configure.ac): Remove gl_CRC call.
30905         (Makefile.am): Augment lib_SOURCES.
30907 2011-05-23  Bruno Haible  <bruno@clisp.org>
30909         close-stream: Move AC_LIBOBJ invocations to module description.
30910         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
30911         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
30913 2011-05-23  Bruno Haible  <bruno@clisp.org>
30915         closeout: Move AC_LIBOBJ invocations to module description.
30916         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
30917         * modules/closeout (Makefile.am): Augment lib_SOURCES.
30919 2011-05-23  Bruno Haible  <bruno@clisp.org>
30921         closein: Move AC_LIBOBJ invocations to module description.
30922         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
30923         * modules/closein (Makefile.am): Augment lib_SOURCES.
30925 2011-05-23  Bruno Haible  <bruno@clisp.org>
30927         cloexec: Move AC_LIBOBJ invocations to module description.
30928         * m4/cloexec.m4: Remove file.
30929         * modules/cloexec (Files): Remove it.
30930         (configure.ac): Remove gl_CLOEXEC call.
30931         (Makefile.am): Augment lib_SOURCES.
30933 2011-05-23  Bruno Haible  <bruno@clisp.org>
30935         check-version: Move AC_LIBOBJ invocations to module description.
30936         * m4/check-version.m4: Remove file.
30937         * modules/check-version (Files): Remove it.
30938         (configure.ac): Remove gl_CHECK_VERSION call.
30939         (Makefile.am): Augment lib_SOURCES.
30941 2011-05-23  Bruno Haible  <bruno@clisp.org>
30943         chdir-safer: Move AC_LIBOBJ invocations to module description.
30944         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
30945         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
30947 2011-05-23  Bruno Haible  <bruno@clisp.org>
30949         canonicalize: Move AC_LIBOBJ invocations to module description.
30950         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
30951         AC_LIBOBJ invocation.
30952         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
30954 2011-05-23  Bruno Haible  <bruno@clisp.org>
30956         canon-host: Move AC_LIBOBJ invocations to module description.
30957         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
30958         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
30959         instead of gl_CANON_HOST.
30960         (Makefile.am): Augment lib_SOURCES.
30962 2011-05-23  Bruno Haible  <bruno@clisp.org>
30964         backupfile: Move AC_LIBOBJ invocations to module description.
30965         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
30966         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
30968 2011-05-23  Bruno Haible  <bruno@clisp.org>
30970         argmatch: Move AC_LIBOBJ invocations to module description.
30971         * m4/argmatch.m4: Remove file.
30972         * modules/argmatch (Files): Remove it.
30973         (configure.ac): Remove gl_ARGMATCH call.
30974         (Makefile.am): Augment lib_SOURCES.
30976 2011-05-23  Bruno Haible  <bruno@clisp.org>
30978         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
30979         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
30980         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
30982 2011-05-23  Bruno Haible  <bruno@clisp.org>
30984         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
30985         * m4/arcfour.m4: Remove file.
30986         * modules/crypto/arcfour (Files): Remove it.
30987         (configure.ac): Remove gl_ARCFOUR call.
30988         (Makefile.am): Augment lib_SOURCES.
30990 2011-05-22  Bruno Haible  <bruno@clisp.org>
30992         write: Move AC_LIBOBJ invocations to module description.
30993         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
30994         * modules/write (configure.ac): ... to here.
30996 2011-05-22  Bruno Haible  <bruno@clisp.org>
30998         wmemset: Move AC_LIBOBJ invocations to module description.
30999         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
31000         here...
31001         * modules/wmemset (configure.ac): ... to here.
31003 2011-05-22  Bruno Haible  <bruno@clisp.org>
31005         wmemmove: Move AC_LIBOBJ invocations to module description.
31006         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
31007         here...
31008         * modules/wmemmove (configure.ac): ... to here.
31010 2011-05-22  Bruno Haible  <bruno@clisp.org>
31012         wmemcpy: Move AC_LIBOBJ invocations to module description.
31013         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
31014         here...
31015         * modules/wmemcpy (configure.ac): ... to here.
31017 2011-05-22  Bruno Haible  <bruno@clisp.org>
31019         wmemcmp: Move AC_LIBOBJ invocations to module description.
31020         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
31021         here...
31022         * modules/wmemcmp (configure.ac): ... to here.
31024 2011-05-22  Bruno Haible  <bruno@clisp.org>
31026         wmemchr: Move AC_LIBOBJ invocations to module description.
31027         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
31028         here...
31029         * modules/wmemchr (configure.ac): ... to here.
31031 2011-05-22  Bruno Haible  <bruno@clisp.org>
31033         wcswidth: Move AC_LIBOBJ invocations to module description.
31034         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
31035         here...
31036         * modules/wcswidth (configure.ac): ... to here.
31038 2011-05-22  Bruno Haible  <bruno@clisp.org>
31040         wcwidth: Respect rules for use of AC_LIBOBJ.
31041         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
31042         invocation from here...
31043         * modules/wcwidth (configure.ac): ... to here.
31044         (Depends-on): Update conditions.
31046 2011-05-22  Bruno Haible  <bruno@clisp.org>
31048         wctype: Move AC_LIBOBJ invocations to module description.
31049         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
31050         invocation from here...
31051         * modules/wctype (configure.ac): ... to here.
31052         (Depends-on): Update conditions.
31054 2011-05-22  Bruno Haible  <bruno@clisp.org>
31056         wctrans: Move AC_LIBOBJ invocations to module description.
31057         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
31058         invocation from here...
31059         * modules/wctrans (configure.ac): ... to here.
31061 2011-05-22  Bruno Haible  <bruno@clisp.org>
31063         wctomb: Move AC_LIBOBJ invocations to module description.
31064         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
31065         invocations from here...
31066         * modules/wctomb (configure.ac): ... to here.
31068 2011-05-22  Bruno Haible  <bruno@clisp.org>
31070         wctob: Move AC_LIBOBJ invocations to module description.
31071         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
31072         gl_PREREQ_WCTOB invocations from here...
31073         * modules/wctob (configure.ac): ... to here.
31074         (Depends-on): Update conditions.
31076 2011-05-22  Bruno Haible  <bruno@clisp.org>
31078         wcsxfrm: Move AC_LIBOBJ invocations to module description.
31079         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
31080         here...
31081         * modules/wcsxfrm (configure.ac): ... to here.
31083 2011-05-22  Bruno Haible  <bruno@clisp.org>
31085         wcstok: Move AC_LIBOBJ invocations to module description.
31086         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
31087         * modules/wcstok (configure.ac): ... to here.
31089 2011-05-22  Bruno Haible  <bruno@clisp.org>
31091         wcsstr: Move AC_LIBOBJ invocations to module description.
31092         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
31093         * modules/wcsstr (configure.ac): ... to here.
31095 2011-05-22  Bruno Haible  <bruno@clisp.org>
31097         wcsspn: Move AC_LIBOBJ invocations to module description.
31098         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
31099         * modules/wcsspn (configure.ac): ... to here.
31101 2011-05-22  Bruno Haible  <bruno@clisp.org>
31103         wcsrtombs: Move AC_LIBOBJ invocations to module description.
31104         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
31105         gl_PREREQ_WCSRTOMBS invocations from here...
31106         * modules/wcsrtombs (configure.ac): ... to here.
31108 2011-05-22  Bruno Haible  <bruno@clisp.org>
31110         wcsrchr: Move AC_LIBOBJ invocations to module description.
31111         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
31112         here...
31113         * modules/wcsrchr (configure.ac): ... to here.
31115 2011-05-22  Bruno Haible  <bruno@clisp.org>
31117         wcspbrk: Move AC_LIBOBJ invocations to module description.
31118         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
31119         here...
31120         * modules/wcspbrk (configure.ac): ... to here.
31122 2011-05-22  Bruno Haible  <bruno@clisp.org>
31124         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
31125         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
31126         gl_PREREQ_WCSNRTOMBS invocations from here...
31127         * modules/wcsnrtombs (configure.ac): ... to here.
31129 2011-05-22  Bruno Haible  <bruno@clisp.org>
31131         wcsnlen: Move AC_LIBOBJ invocations to module description.
31132         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
31133         here...
31134         * modules/wcsnlen (configure.ac): ... to here.
31136 2011-05-22  Bruno Haible  <bruno@clisp.org>
31138         wcsncpy: Move AC_LIBOBJ invocations to module description.
31139         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
31140         here...
31141         * modules/wcsncpy (configure.ac): ... to here.
31143 2011-05-22  Bruno Haible  <bruno@clisp.org>
31145         wcsncmp: Move AC_LIBOBJ invocations to module description.
31146         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
31147         here...
31148         * modules/wcsncmp (configure.ac): ... to here.
31150 2011-05-22  Bruno Haible  <bruno@clisp.org>
31152         wcsncat: Move AC_LIBOBJ invocations to module description.
31153         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
31154         here...
31155         * modules/wcsncat (configure.ac): ... to here.
31157 2011-05-22  Bruno Haible  <bruno@clisp.org>
31159         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
31160         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
31161         from here...
31162         * modules/wcsncasecmp (configure.ac): ... to here.
31164 2011-05-22  Bruno Haible  <bruno@clisp.org>
31166         wcslen: Move AC_LIBOBJ invocations to module description.
31167         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
31168         * modules/wcslen (configure.ac): ... to here.
31170 2011-05-22  Bruno Haible  <bruno@clisp.org>
31172         wcsdup: Move AC_LIBOBJ invocations to module description.
31173         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
31174         * modules/wcsdup (configure.ac): ... to here.
31176 2011-05-22  Bruno Haible  <bruno@clisp.org>
31178         wcscspn: Move AC_LIBOBJ invocations to module description.
31179         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
31180         here...
31181         * modules/wcscspn (configure.ac): ... to here.
31183 2011-05-22  Bruno Haible  <bruno@clisp.org>
31185         wcscpy: Move AC_LIBOBJ invocations to module description.
31186         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
31187         * modules/wcscpy (configure.ac): ... to here.
31189 2011-05-22  Bruno Haible  <bruno@clisp.org>
31191         wcscoll: Move AC_LIBOBJ invocations to module description.
31192         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
31193         here...
31194         * modules/wcscoll (configure.ac): ... to here.
31196 2011-05-22  Bruno Haible  <bruno@clisp.org>
31198         wcscmp: Move AC_LIBOBJ invocations to module description.
31199         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
31200         * modules/wcscmp (configure.ac): ... to here.
31202 2011-05-22  Bruno Haible  <bruno@clisp.org>
31204         wcschr: Move AC_LIBOBJ invocations to module description.
31205         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
31206         * modules/wcschr (configure.ac): ... to here.
31208 2011-05-22  Bruno Haible  <bruno@clisp.org>
31210         wcscat: Move AC_LIBOBJ invocations to module description.
31211         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
31212         * modules/wcscat (configure.ac): ... to here.
31214 2011-05-22  Bruno Haible  <bruno@clisp.org>
31216         wcscasecmp: Move AC_LIBOBJ invocations to module description.
31217         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
31218         here...
31219         * modules/wcscasecmp (configure.ac): ... to here.
31221 2011-05-22  Bruno Haible  <bruno@clisp.org>
31223         wcrtomb: Move AC_LIBOBJ invocations to module description.
31224         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
31225         invocations from here...
31226         * modules/wcrtomb (configure.ac): ... to here.
31228 2011-05-22  Bruno Haible  <bruno@clisp.org>
31230         wcpncpy: Move AC_LIBOBJ invocations to module description.
31231         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
31232         here...
31233         * modules/wcpncpy (configure.ac): ... to here.
31235 2011-05-22  Bruno Haible  <bruno@clisp.org>
31237         wcpcpy: Move AC_LIBOBJ invocations to module description.
31238         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
31239         * modules/wcpcpy (configure.ac): ... to here.
31241 2011-05-22  Bruno Haible  <bruno@clisp.org>
31243         waitpid: Move AC_LIBOBJ invocations to module description.
31244         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
31245         invocation from here...
31246         * modules/waitpid (configure.ac): ... to here.
31248 2011-05-22  Bruno Haible  <bruno@clisp.org>
31250         utimensat: Move AC_LIBOBJ invocations to module description.
31251         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
31252         here...
31253         * modules/utimensat (configure.ac): ... to here.
31255 2011-05-22  Bruno Haible  <bruno@clisp.org>
31257         usleep: Move AC_LIBOBJ invocations to module description.
31258         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
31259         here...
31260         * modules/usleep (configure.ac): ... to here.
31262 2011-05-22  Bruno Haible  <bruno@clisp.org>
31264         unlockpt: Move AC_LIBOBJ invocations to module description.
31265         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
31266         gl_PREREQ_UNLOCKPT invocations from here...
31267         * modules/unlockpt (configure.ac): ... to here.
31269 2011-05-22  Bruno Haible  <bruno@clisp.org>
31271         unlink: Respect rules for use of AC_LIBOBJ.
31272         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
31273         * modules/unlink (configure.ac): ... to here.
31275 2011-05-22  Bruno Haible  <bruno@clisp.org>
31277         uname: Move AC_LIBOBJ invocations to module description.
31278         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
31279         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
31280         here...
31281         * modules/uname (configure.ac): ... to here.
31283 2011-05-22  Bruno Haible  <bruno@clisp.org>
31285         ttyname_r: Move AC_LIBOBJ invocations to module description.
31286         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
31287         gl_PREREQ_TTYNAME_R invocations from here...
31288         * modules/ttyname_r (configure.ac): ... to here.
31290 2011-05-22  Bruno Haible  <bruno@clisp.org>
31292         tsearch: Move AC_LIBOBJ invocations to module description.
31293         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
31294         invocations from here...
31295         * modules/tsearch (configure.ac): ... to here.
31297 2011-05-22  Bruno Haible  <bruno@clisp.org>
31299         towctrans: Move AC_LIBOBJ invocations to module description.
31300         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
31301         AC_LIBOBJ invocation from here...
31302         * modules/towctrans (configure.ac): ... to here.
31304 2011-05-22  Bruno Haible  <bruno@clisp.org>
31306         tmpfile: Move AC_LIBOBJ invocations to module description.
31307         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
31308         invocations from here...
31309         * modules/tmpfile (configure.ac): ... to here.
31311 2011-05-22  Bruno Haible  <bruno@clisp.org>
31313         times: Move AC_LIBOBJ invocations to module description.
31314         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
31315         * modules/times (configure.ac): ... to here.
31317 2011-05-22  Bruno Haible  <bruno@clisp.org>
31319         time_r: Move AC_LIBOBJ invocations to module description.
31320         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
31321         invocations from here...
31322         * modules/time_r (configure.ac): ... to here.
31324 2011-05-22  Bruno Haible  <bruno@clisp.org>
31326         timegm: Move AC_LIBOBJ invocations to module description.
31327         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
31328         invocations from here...
31329         * modules/timegm (configure.ac): ... to here.
31331 2011-05-22  Bruno Haible  <bruno@clisp.org>
31333         tcgetsid: Move AC_LIBOBJ invocations to module description.
31334         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
31335         and gl_PREREQ_TCGETSID invocations from here...
31336         * modules/tcgetsid (configure.ac): ... to here.
31337         (Depends-on): Update conditions.
31339 2011-05-22  Bruno Haible  <bruno@clisp.org>
31341         symlinkat: Move AC_LIBOBJ invocations to module description.
31342         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
31343         here...
31344         * modules/symlinkat (configure.ac): ... to here.
31346 2011-05-22  Bruno Haible  <bruno@clisp.org>
31348         symlink: Move AC_LIBOBJ invocations to module description.
31349         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
31350         here...
31351         * modules/symlink (configure.ac): ... to here.
31353 2011-05-22  Bruno Haible  <bruno@clisp.org>
31355         strverscmp: Move AC_LIBOBJ invocations to module description.
31356         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
31357         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
31358         from here...
31359         * modules/strverscmp (configure.ac): ... to here.
31361 2011-05-22  Bruno Haible  <bruno@clisp.org>
31363         strtok_r: Move AC_LIBOBJ invocations to module description.
31364         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
31365         and gl_PREREQ_STRTOK_R invocations from here...
31366         * modules/strtok_r (configure.ac): ... to here.
31367         (Depends-on): Update conditions.
31369 2011-05-22  Bruno Haible  <bruno@clisp.org>
31371         strtoumax: Move AC_LIBOBJ invocations to module description.
31372         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
31373         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
31374         from here...
31375         * modules/strtoumax (configure.ac): ... to here.
31377 2011-05-22  Bruno Haible  <bruno@clisp.org>
31379         strtoimax: Move AC_LIBOBJ invocations to module description.
31380         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
31381         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
31382         from here...
31383         * modules/strtoimax (configure.ac): ... to here.
31385 2011-05-22  Bruno Haible  <bruno@clisp.org>
31387         strtoull: Move AC_LIBOBJ invocations to module description.
31388         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
31389         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
31390         from here...
31391         * modules/strtoull (configure.ac): ... to here.
31393 2011-05-22  Bruno Haible  <bruno@clisp.org>
31395         strtoll: Move AC_LIBOBJ invocations to module description.
31396         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
31397         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
31398         here...
31399         * modules/strtoll (configure.ac): ... to here.
31401 2011-05-22  Bruno Haible  <bruno@clisp.org>
31403         strtoul: Move AC_LIBOBJ invocations to module description.
31404         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
31405         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
31406         * modules/strtoul (configure.ac): ... to here.
31408 2011-05-22  Bruno Haible  <bruno@clisp.org>
31410         strtol: Move AC_LIBOBJ invocations to module description.
31411         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
31412         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
31413         * modules/strtol (configure.ac): ... to here.
31415 2011-05-22  Bruno Haible  <bruno@clisp.org>
31417         strtod: Move AC_LIBOBJ invocations to module description.
31418         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
31419         invocations from here...
31420         * modules/strtod (configure.ac): ... to here.
31422 2011-05-22  Bruno Haible  <bruno@clisp.org>
31424         strstr*: Move AC_LIBOBJ invocations to module description.
31425         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
31426         invocations from here...
31427         * modules/strstr-simple (configure.ac): ... to here.
31428         * modules/strstr (configure.ac): ... and here.
31430 2011-05-22  Bruno Haible  <bruno@clisp.org>
31432         strsignal: Move AC_LIBOBJ invocations to module description.
31433         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
31434         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
31435         * modules/strsignal (configure.ac): ... to here.
31436         (Depends-on): Update conditions.
31438 2011-05-22  Bruno Haible  <bruno@clisp.org>
31440         strsep: Move AC_LIBOBJ invocations to module description.
31441         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
31442         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
31443         here...
31444         * modules/strsep (configure.ac): ... to here.
31446 2011-05-22  Bruno Haible  <bruno@clisp.org>
31448         strptime: Move AC_LIBOBJ invocations to module description.
31449         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
31450         gl_PREREQ_STRPTIME invocations from here...
31451         * modules/strptime (configure.ac): ... to here.
31453 2011-05-22  Bruno Haible  <bruno@clisp.org>
31455         strpbrk: Move AC_LIBOBJ invocations to module description.
31456         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
31457         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
31458         here...
31459         * modules/strpbrk (configure.ac): ... to here.
31461 2011-05-22  Bruno Haible  <bruno@clisp.org>
31463         strnlen: Move AC_LIBOBJ invocations to module description.
31464         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
31465         invocations from here...
31466         * modules/strnlen (configure.ac): ... to here.
31468 2011-05-22  Bruno Haible  <bruno@clisp.org>
31470         strndup: Move AC_LIBOBJ invocations to module description.
31471         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
31472         invocations from here...
31473         * modules/strndup (configure.ac): ... to here.
31474         (Depends-on): Update conditions.
31476 2011-05-22  Bruno Haible  <bruno@clisp.org>
31478         strncat: Move AC_LIBOBJ invocations to module description.
31479         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
31480         invocations from here...
31481         * modules/strncat (configure.ac): ... to here.
31483 2011-05-22  Bruno Haible  <bruno@clisp.org>
31485         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
31486         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
31487         invocations from here...
31488         * modules/strdup (configure.ac): ... to here.
31489         * modules/strdup-posix (configure.ac): ... and here.
31491 2011-05-22  Bruno Haible  <bruno@clisp.org>
31493         strcspn: Move AC_LIBOBJ invocations to module description.
31494         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
31495         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
31496         here...
31497         * modules/strcspn (configure.ac): ... to here.
31499 2011-05-22  Bruno Haible  <bruno@clisp.org>
31501         strchrnul: Move AC_LIBOBJ invocations to module description.
31502         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
31503         gl_PREREQ_STRCHRNUL invocations from here...
31504         * modules/strchrnul (configure.ac): ... to here.
31506 2011-05-22  Bruno Haible  <bruno@clisp.org>
31508         strcasestr*: Move AC_LIBOBJ invocations to module description.
31509         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
31510         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
31511         * modules/strcasestr-simple (configure.ac): ... to here.
31512         * modules/strcasestr (configure.ac): ... and here.
31514 2011-05-22  Bruno Haible  <bruno@clisp.org>
31516         strcase: Move AC_LIBOBJ invocations to module description.
31517         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
31518         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
31519         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
31520         gl_PREREQ_STRNCASECMP invocations from here...
31521         * modules/strcase (configure.ac): ... to here.
31523 2011-05-22  Bruno Haible  <bruno@clisp.org>
31525         stpncpy: Move AC_LIBOBJ invocations to module description.
31526         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
31527         here...
31528         * modules/stpncpy (configure.ac): ... to here.
31530 2011-05-22  Bruno Haible  <bruno@clisp.org>
31532         stpcpy: Move AC_LIBOBJ invocations to module description.
31533         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
31534         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
31535         here...
31536         * modules/stpcpy (configure.ac): ... to here.
31538 2011-05-21  Bruno Haible  <bruno@clisp.org>
31540         stat: Move AC_LIBOBJ invocations to module description.
31541         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
31542         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
31543         here...
31544         * modules/stat (configure.ac): ... to here.
31546 2011-05-21  Bruno Haible  <bruno@clisp.org>
31548         sleep: Move AC_LIBOBJ invocations to module description.
31549         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
31550         * modules/sleep (configure.ac): ... to here.
31552 2011-05-21  Bruno Haible  <bruno@clisp.org>
31554         signbit: Move AC_LIBOBJ invocations to module description.
31555         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
31556         * modules/signbit (configure.ac): ... to here.
31558 2011-05-21  Bruno Haible  <bruno@clisp.org>
31560         sigprocmask: Move AC_LIBOBJ invocations to module description.
31561         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
31562         gl_PREREQ_SIGPROMASK invocations from here...
31563         * modules/sigprocmask (configure.ac): ... to here.
31565 2011-05-21  Bruno Haible  <bruno@clisp.org>
31567         sigaction: Move AC_LIBOBJ invocations to module description.
31568         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
31569         gl_PREREQ_SIGACTION invocations from here...
31570         * modules/sigaction (configure.ac): ... to here.
31572 2011-05-21  Bruno Haible  <bruno@clisp.org>
31574         sig2str: Move AC_LIBOBJ invocations to module description.
31575         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
31576         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
31577         here...
31578         * modules/sig2str (configure.ac): ... to here.
31580 2011-05-21  Bruno Haible  <bruno@clisp.org>
31582         setlocale: Move AC_LIBOBJ invocations to module description.
31583         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
31584         gl_PREREQ_SETLOCALE invocations from here...
31585         * modules/setlocale (configure.ac): ... to here.
31587 2011-05-21  Bruno Haible  <bruno@clisp.org>
31589         unsetenv: Move AC_LIBOBJ invocations to module description.
31590         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
31591         and gl_PREREQ_UNSETENV invocations from here...
31592         * modules/unsetenv (configure.ac): ... to here.
31593         (Depends-on): Update.
31595 2011-05-21  Bruno Haible  <bruno@clisp.org>
31597         setenv: Move AC_LIBOBJ invocations to module description.
31598         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
31599         here...
31600         * modules/setenv (configure.ac): ... to here.
31602 2011-05-21  Bruno Haible  <bruno@clisp.org>
31604         selinux-h: Move AC_LIBOBJ invocations to module description.
31605         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
31606         AC_LIBOBJ invocation from here...
31607         * modules/selinux-h (configure.ac): ... to here.
31609 2011-05-21  Bruno Haible  <bruno@clisp.org>
31611         select: Respect rules for use of AC_LIBOBJ.
31612         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
31613         here...
31614         * modules/select (configure.ac): ... to here.
31616 2011-05-21  Bruno Haible  <bruno@clisp.org>
31618         scandir: Move AC_LIBOBJ invocations to module description.
31619         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
31620         invocations from here...
31621         * modules/scandir (configure.ac): ... to here.
31623 2011-05-21  Bruno Haible  <bruno@clisp.org>
31625         rpmatch: Move AC_LIBOBJ invocations to module description.
31626         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
31627         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
31628         here...
31629         * modules/rpmatch (configure.ac): ... to here.
31631 2011-05-21  Bruno Haible  <bruno@clisp.org>
31633         rmdir: Respect rules for use of AC_LIBOBJ.
31634         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
31635         * modules/rmdir (configure.ac): ... to here.
31637 2011-05-21  Bruno Haible  <bruno@clisp.org>
31639         renameat: Move AC_LIBOBJ invocations to module description.
31640         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
31641         here...
31642         * modules/renameat (configure.ac): ... to here.
31644 2011-05-21  Bruno Haible  <bruno@clisp.org>
31646         rename: Respect rules for use of AC_LIBOBJ.
31647         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
31648         here...
31649         * modules/rename (configure.ac): ... to here.
31651 2011-05-21  Bruno Haible  <bruno@clisp.org>
31653         remove: Move AC_LIBOBJ invocations to module description.
31654         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
31655         here...
31656         * modules/remove (configure.ac): ... to here.
31658 2011-05-21  Bruno Haible  <bruno@clisp.org>
31660         relocatable-lib: Move AC_LIBOBJ invocations to module description.
31661         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
31662         macro.
31663         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
31664         * modules/relocatable-lib (configure.ac): ... to here.
31665         * modules/relocatable-prog-wrapper (configure.ac): Invoke
31666         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
31668 2011-05-21  Bruno Haible  <bruno@clisp.org>
31670         relocatable-prog: Move AC_LIBOBJ invocations to module description.
31671         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
31672         here...
31673         * modules/relocatable-prog (configure.ac): ... to here.
31675 2011-05-21  Bruno Haible  <bruno@clisp.org>
31677         regex: Move AC_LIBOBJ invocations to module description.
31678         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
31679         invocations from here...
31680         * modules/regex (configure.ac): ... to here.
31682 2011-05-21  Bruno Haible  <bruno@clisp.org>
31684         realloc-*: Move AC_LIBOBJ invocations to module description.
31685         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
31686         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
31687         AC_LIBOBJ invocations from here...
31688         * modules/realloc-gnu (configure.ac): ... to here.
31689         * modules/realloc-posix (configure.ac): ... and here.
31691 2011-05-21  Bruno Haible  <bruno@clisp.org>
31693         readutmp: Move AC_LIBOBJ invocations to module description.
31694         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
31695         * modules/readutmp (configure.ac): ... to here.
31697 2011-05-21  Bruno Haible  <bruno@clisp.org>
31699         readlinkat: Move AC_LIBOBJ invocations to module description.
31700         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
31701         here...
31702         * modules/readlinkat (configure.ac): ... to here.
31704 2011-05-21  Bruno Haible  <bruno@clisp.org>
31706         readlink: Move AC_LIBOBJ invocations to module description.
31707         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
31708         gl_PREREQ_READLINK invocations from here...
31709         * modules/readlink (configure.ac): ... to here.
31711 2011-05-21  Bruno Haible  <bruno@clisp.org>
31713         readline: Move AC_LIBOBJ invocations to module description.
31714         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
31715         gl_PREREQ_READLINE invocations from here...
31716         * modules/readline (configure.ac): ... to here.
31718 2011-05-21  Bruno Haible  <bruno@clisp.org>
31720         read: Move AC_LIBOBJ invocations to module description.
31721         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
31722         * modules/read (configure.ac): ... to here.
31724 2011-05-21  Bruno Haible  <bruno@clisp.org>
31726         rawmemchr: Move AC_LIBOBJ invocations to module description.
31727         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
31728         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
31729         from here...
31730         * modules/rawmemchr (configure.ac): ... to here.
31732 2011-05-21  Bruno Haible  <bruno@clisp.org>
31734         random_r: Move AC_LIBOBJ invocations to module description.
31735         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
31736         gl_PREREQ_RANDOM_R invocations from here...
31737         * modules/random_r (configure.ac): ... to here.
31739 2011-05-21  Bruno Haible  <bruno@clisp.org>
31741         pwrite: Move AC_LIBOBJ invocations to module description.
31742         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
31743         * modules/pwrite (configure.ac): ... to here.
31745 2011-05-21  Bruno Haible  <bruno@clisp.org>
31747         putenv: Move AC_LIBOBJ invocations to module description.
31748         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
31749         * modules/putenv (configure.ac): ... to here.
31751 2011-05-21  Bruno Haible  <bruno@clisp.org>
31753         login_tty: Move AC_LIBOBJ invocations to module description.
31754         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
31755         * modules/login_tty (configure.ac): ... to here.
31757 2011-05-21  Bruno Haible  <bruno@clisp.org>
31759         openpty: Move AC_LIBOBJ invocations to module description.
31760         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
31761         * modules/openpty (configure.ac): ... to here.
31763 2011-05-21  Bruno Haible  <bruno@clisp.org>
31765         forkpty: Move AC_LIBOBJ invocations to module description.
31766         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
31767         * modules/forkpty (configure.ac): ... to here.
31769 2011-05-21  Bruno Haible  <bruno@clisp.org>
31771         ptsname: Move AC_LIBOBJ invocations to module description.
31772         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
31773         invocations from here...
31774         * modules/ptsname (configure.ac): ... to here.
31776 2011-05-21  Bruno Haible  <bruno@clisp.org>
31778         pread: Move AC_LIBOBJ invocations to module description.
31779         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
31780         * modules/pread (configure.ac): ... to here.
31782 2011-05-21  Bruno Haible  <bruno@clisp.org>
31784         posix_spawn*: Move AC_LIBOBJ invocations to module description.
31785         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
31786         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
31787         * modules/posix_spawn (configure.ac): ... to here.
31788         * modules/posix_spawnp (configure.ac): ... and here.
31790 2011-05-21  Bruno Haible  <bruno@clisp.org>
31792         popen: Move AC_LIBOBJ invocations to module description.
31793         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
31794         invocations from here...
31795         * modules/popen (configure.ac): ... to here.
31797 2011-05-21  Bruno Haible  <bruno@clisp.org>
31799         poll: Move AC_LIBOBJ invocations to module description.
31800         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
31801         invocations from here...
31802         * modules/poll (configure.ac): ... to here.
31804 2011-05-21  Bruno Haible  <bruno@clisp.org>
31806         pipe-posix: Move AC_LIBOBJ invocations to module description.
31807         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
31808         * modules/pipe-posix (configure.ac): ... to here.
31810 2011-05-21  Bruno Haible  <bruno@clisp.org>
31812         openat: Respect rules for use of AC_LIBOBJ.
31813         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
31814         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
31815         * modules/openat (configure.ac): ... to here.
31817 2011-05-21  Bruno Haible  <bruno@clisp.org>
31819         obstack-printf*: Move AC_LIBOBJ invocations to module description.
31820         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
31821         invocation from here...
31822         * modules/obstack-printf (configure.ac): ... to here.
31823         * modules/obstack-printf-posix (configure.ac): ... and here.
31825 2011-05-21  Bruno Haible  <bruno@clisp.org>
31827         nl_langinfo: Move AC_LIBOBJ invocations to module description.
31828         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
31829         from here...
31830         * modules/nl_langinfo (configure.ac): ... to here.
31832 2011-05-21  Bruno Haible  <bruno@clisp.org>
31834         nanosleep: Move AC_LIBOBJ invocations to module description.
31835         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
31836         gl_PREREQ_NANOSLEEP invocations from here...
31837         * modules/nanosleep (configure.ac): ... to here.
31839 2011-05-21  Bruno Haible  <bruno@clisp.org>
31841         mountlist: Move AC_LIBOBJ invocations to module description.
31842         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
31843         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
31844         * modules/mountlist (configure.ac): ... to here.
31846 2011-05-21  Bruno Haible  <bruno@clisp.org>
31848         mktime: Respect rules for use of AC_LIBOBJ.
31849         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
31850         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
31851         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
31852         (gl_FUNC_MKTIME_INTERNAL): ... and here...
31853         * modules/mktime (configure.ac): ... to here.
31854         * modules/mktime-internal (configure.ac): ... and here.
31855         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
31857 2011-05-21  Bruno Haible  <bruno@clisp.org>
31859         mkstemps: Move AC_LIBOBJ invocations to module description.
31860         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
31861         here...
31862         * modules/mkstemps (configure.ac): ... to here.
31864 2011-05-21  Bruno Haible  <bruno@clisp.org>
31866         mkstemp: Move AC_LIBOBJ invocations to module description.
31867         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
31868         gl_PREREQ_MKSTEMP invocations from here...
31869         * modules/mkstemp (configure.ac): ... to here.
31871 2011-05-21  Bruno Haible  <bruno@clisp.org>
31873         mkostemps: Move AC_LIBOBJ invocations to module description.
31874         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
31875         here...
31876         * modules/mkostemps (configure.ac): ... to here.
31878 2011-05-21  Bruno Haible  <bruno@clisp.org>
31880         mkostemp: Move AC_LIBOBJ invocations to module description.
31881         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
31882         gl_PREREQ_MKOSTEMP invocations from here...
31883         * modules/mkostemp (configure.ac): ... to here.
31885 2011-05-21  Bruno Haible  <bruno@clisp.org>
31887         mknod: Move AC_LIBOBJ invocations to module description.
31888         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
31889         * modules/mknod (configure.ac): ... to here.
31891 2011-05-21  Bruno Haible  <bruno@clisp.org>
31893         mkfifoat: Move AC_LIBOBJ invocations to module description.
31894         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
31895         here...
31896         * modules/mkfifoat (configure.ac): ... to here.
31898 2011-05-21  Bruno Haible  <bruno@clisp.org>
31900         mkfifo: Respect rules for use of AC_LIBOBJ.
31901         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
31902         here...
31903         * modules/mkfifo (configure.ac): ... to here.
31905 2011-05-21  Bruno Haible  <bruno@clisp.org>
31907         mkdtemp: Move AC_LIBOBJ invocations to module description.
31908         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
31909         invocations from here...
31910         * modules/mkdtemp (configure.ac): ... to here.
31912 2011-05-21  Bruno Haible  <bruno@clisp.org>
31914         mkdir: Move AC_LIBOBJ invocations to module description.
31915         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
31916         * modules/mkdir (configure.ac): ... to here.
31918 2011-05-21  Bruno Haible  <bruno@clisp.org>
31920         memset: Move AC_LIBOBJ invocations to module description.
31921         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
31922         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
31923         here...
31924         * modules/memset (configure.ac): ... to here.
31926 2011-05-21  Bruno Haible  <bruno@clisp.org>
31928         memrchr: Move AC_LIBOBJ invocations to module description.
31929         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
31930         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
31931         here...
31932         * modules/memrchr (configure.ac): ... to here.
31934 2011-05-21  Bruno Haible  <bruno@clisp.org>
31936         mempcpy: Move AC_LIBOBJ invocations to module description.
31937         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
31938         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
31939         here...
31940         * modules/mempcpy (configure.ac): ... to here.
31942 2011-05-21  Bruno Haible  <bruno@clisp.org>
31944         memmove: Move AC_LIBOBJ invocations to module description.
31945         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
31946         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
31947         here...
31948         * modules/memmove (configure.ac): ... to here.
31950 2011-05-21  Bruno Haible  <bruno@clisp.org>
31952         memmem*: Move AC_LIBOBJ invocations to module description.
31953         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
31954         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
31955         here...
31956         (gl_FUNC_MEMMEM): ... and here...
31957         * modules/memmem-simple (configure.ac): ... to here.
31958         * modules/memmem (configure.ac): ... and here.
31960 2011-05-21  Bruno Haible  <bruno@clisp.org>
31962         memcpy: Move AC_LIBOBJ invocations to module description.
31963         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
31964         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
31965         here...
31966         * modules/memcpy (configure.ac): ... to here.
31968 2011-05-21  Bruno Haible  <bruno@clisp.org>
31970         memcmp: Simplify autoconf macro.
31971         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
31972         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
31973         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
31975 2011-05-21  Bruno Haible  <bruno@clisp.org>
31977         memcmp: Move AC_LIBOBJ invocations to module description.
31978         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
31979         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
31980         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
31981         * modules/memcmp (configure.ac): ... to here.
31982         (Depends-on): Update conditions.
31984 2011-05-21  Bruno Haible  <bruno@clisp.org>
31986         memchr: Respect rules for use of AC_LIBOBJ.
31987         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
31988         invocations from here...
31989         * modules/memchr (configure.ac): ... to here.
31991 2011-05-21  Bruno Haible  <bruno@clisp.org>
31993         mbtowc: Move AC_LIBOBJ invocations to module description.
31994         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
31995         invocations from here...
31996         * modules/mbtowc (configure.ac): ... to here.
31998 2011-05-21  Bruno Haible  <bruno@clisp.org>
32000         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
32001         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
32002         gl_PREREQ_MBSRTOWCS invocations from here...
32003         * modules/mbsrtowcs (configure.ac): ... to here.
32005 2011-05-21  Bruno Haible  <bruno@clisp.org>
32007         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
32008         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
32009         gl_PREREQ_MBSNRTOWCS invocations from here...
32010         * modules/mbsnrtowcs (configure.ac): ... to here.
32012 2011-05-21  Bruno Haible  <bruno@clisp.org>
32014         mbsinit: Move AC_LIBOBJ invocations to module description.
32015         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
32016         invocations from here...
32017         * modules/mbsinit (configure.ac): ... to here.
32019 2011-05-21  Bruno Haible  <bruno@clisp.org>
32021         mbrlen: Move AC_LIBOBJ invocations to module description.
32022         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
32023         invocations from here...
32024         * modules/mbrlen (configure.ac): ... to here.
32026 2011-05-21  Bruno Haible  <bruno@clisp.org>
32028         mbrtowc: Respect rules for use of AC_LIBOBJ.
32029         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
32030         invocations from here...
32031         * modules/mbrtowc (configure.ac): ... to here.
32033 2011-05-21  Bruno Haible  <bruno@clisp.org>
32035         malloc-*: Move AC_LIBOBJ invocations to module description.
32036         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
32037         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
32038         AC_LIBOBJ invocations from here...
32039         * modules/malloc-gnu (configure.ac): ... to here.
32040         * modules/malloc-posix (configure.ac): ... and here.
32042 2011-05-21  Bruno Haible  <bruno@clisp.org>
32044         lstat, openat: Respect rules for use of AC_LIBOBJ.
32045         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
32046         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
32047         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
32048         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
32049         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
32050         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
32051         here.
32052         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
32054 2011-05-21  Bruno Haible  <bruno@clisp.org>
32056         lseek: Move AC_LIBOBJ invocations to module description.
32057         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
32058         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
32059         * modules/lseek (configure.ac): ... to here.
32061 2011-05-21  Bruno Haible  <bruno@clisp.org>
32063         linkat: Move AC_LIBOBJ invocations to module description.
32064         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
32065         here...
32066         * modules/linkat (configure.ac): ... to here.
32068 2011-05-21  Bruno Haible  <bruno@clisp.org>
32070         link: Respect rules for use of AC_LIBOBJ.
32071         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
32072         * modules/link (configure.ac): ... to here.
32074 2011-05-21  Bruno Haible  <bruno@clisp.org>
32076         lchown: Move AC_LIBOBJ invocations to module description.
32077         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
32078         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
32079         * modules/lchown (configure.ac): ... to here.
32081 2011-05-21  Bruno Haible  <bruno@clisp.org>
32083         iswctype: Move AC_LIBOBJ invocations to module description.
32084         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
32085         here...
32086         * modules/iswctype (configure.ac): ... to here.
32088 2011-05-21  Bruno Haible  <bruno@clisp.org>
32090         iswblank: Move AC_LIBOBJ invocations to module description.
32091         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
32092         here...
32093         * modules/iswblank (configure.ac): ... to here.
32095 2011-05-21  Bruno Haible  <bruno@clisp.org>
32097         atanl: Move AC_LIBOBJ invocations to module description.
32098         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
32099         * modules/atanl (configure.ac): ... to here.
32101 2011-05-21  Bruno Haible  <bruno@clisp.org>
32103         acosl: Move AC_LIBOBJ invocations to module description.
32104         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
32105         * modules/acosl (configure.ac): ... to here.
32107 2011-05-21  Bruno Haible  <bruno@clisp.org>
32109         asinl: Respect rules for use of AC_LIBOBJ.
32110         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
32111         * modules/asinl (configure.ac): ... to here.
32113 2011-05-21  Bruno Haible  <bruno@clisp.org>
32115         tanl: Move AC_LIBOBJ invocations to module description.
32116         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
32117         * modules/tanl (configure.ac): ... to here.
32119 2011-05-21  Bruno Haible  <bruno@clisp.org>
32121         cosl: Move AC_LIBOBJ invocations to module description.
32122         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
32123         * modules/cosl (configure.ac): ... to here.
32125 2011-05-21  Bruno Haible  <bruno@clisp.org>
32127         sinl: Move AC_LIBOBJ invocations to module description.
32128         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
32129         * modules/sinl (configure.ac): ... to here.
32131 2011-05-21  Bruno Haible  <bruno@clisp.org>
32133         logl: Move AC_LIBOBJ invocations to module description.
32134         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
32135         * modules/logl (configure.ac): ... to here.
32137 2011-05-21  Bruno Haible  <bruno@clisp.org>
32139         expl: Move AC_LIBOBJ invocations to module description.
32140         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
32141         * modules/expl (configure.ac): ... to here.
32143 2011-05-21  Bruno Haible  <bruno@clisp.org>
32145         roundl: Move AC_LIBOBJ invocations to module description.
32146         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
32147         * modules/roundl (configure.ac): ... to here.
32149 2011-05-21  Bruno Haible  <bruno@clisp.org>
32151         round: Move AC_LIBOBJ invocations to module description.
32152         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
32153         * modules/round (configure.ac): ... to here.
32155 2011-05-21  Bruno Haible  <bruno@clisp.org>
32157         roundf: Move AC_LIBOBJ invocations to module description.
32158         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
32159         * modules/roundf (configure.ac): ... to here.
32161 2011-05-21  Bruno Haible  <bruno@clisp.org>
32163         truncl: Move AC_LIBOBJ invocations to module description.
32164         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
32165         * modules/truncl (configure.ac): ... to here.
32167 2011-05-21  Bruno Haible  <bruno@clisp.org>
32169         trunc: Move AC_LIBOBJ invocations to module description.
32170         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
32171         * modules/trunc (configure.ac): ... to here.
32173 2011-05-21  Bruno Haible  <bruno@clisp.org>
32175         truncf: Move AC_LIBOBJ invocations to module description.
32176         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
32177         * modules/truncf (configure.ac): ... to here.
32179 2011-05-21  Bruno Haible  <bruno@clisp.org>
32181         ceill: Move AC_LIBOBJ invocations to module description.
32182         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
32183         * modules/ceill (configure.ac): ... to here.
32185 2011-05-21  Bruno Haible  <bruno@clisp.org>
32187         ceil: Move AC_LIBOBJ invocations to module description.
32188         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
32189         * modules/ceil (configure.ac): ... to here.
32191 2011-05-21  Bruno Haible  <bruno@clisp.org>
32193         ceilf: Move AC_LIBOBJ invocations to module description.
32194         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
32195         * modules/ceilf (configure.ac): ... to here.
32197 2011-05-21  Bruno Haible  <bruno@clisp.org>
32199         floorl: Respect rules for use of AC_LIBOBJ.
32200         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
32201         * modules/floorl (configure.ac): ... to here.
32203 2011-05-21  Bruno Haible  <bruno@clisp.org>
32205         floor: Respect rules for use of AC_LIBOBJ.
32206         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
32207         * modules/floor (configure.ac): ... to here.
32209 2011-05-21  Bruno Haible  <bruno@clisp.org>
32211         floorf: Move AC_LIBOBJ invocations to module description.
32212         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
32213         * modules/floorf (configure.ac): ... to here.
32215 2011-05-20  Bruno Haible  <bruno@clisp.org>
32217         sqrtl: Respect rules for use of AC_LIBOBJ.
32218         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
32219         * modules/sqrtl (configure.ac): ... to here.
32221 2011-05-20  Bruno Haible  <bruno@clisp.org>
32223         ldexpl: Respect rules for use of AC_LIBOBJ.
32224         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
32225         * modules/ldexpl (configure.ac): ... to here.
32227 2011-05-20  Bruno Haible  <bruno@clisp.org>
32229         frexpl*: Respect rules for use of AC_LIBOBJ.
32230         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
32231         invocation from here...
32232         * modules/frexpl (configure.ac): ... to here.
32233         * modules/frexpl-nolibm (configure.ac): ... and here.
32235 2011-05-20  Bruno Haible  <bruno@clisp.org>
32237         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
32238         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
32239         invocation from here...
32240         * modules/frexp (configure.ac): ... to here.
32241         * modules/frexp-nolibm (configure.ac): ... and here.
32243 2011-05-20  Bruno Haible  <bruno@clisp.org>
32245         isnan: Respect rules for use of AC_LIBOBJ.
32246         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
32247         invocations here.
32248         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
32249         REPLACE_ISNAN.
32250         * modules/isnand (configure.ac): Likewise.
32251         * modules/isnanl (configure.ac): Likewise.
32253 2011-05-20  Bruno Haible  <bruno@clisp.org>
32255         isnanl*: Respect rules for use of AC_LIBOBJ.
32256         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
32257         invocation from here...
32258         * modules/isnanl (configure.ac): ... to here.
32259         * modules/isnanl-nolibm (configure.ac): ... and here.
32261 2011-05-20  Bruno Haible  <bruno@clisp.org>
32263         isnand*: Move AC_LIBOBJ invocations to module description.
32264         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
32265         invocation from here...
32266         * modules/isnand (configure.ac): ... to here.
32267         * modules/isnand-nolibm (configure.ac): ... and here.
32269 2011-05-20  Bruno Haible  <bruno@clisp.org>
32271         isnanf*: Move AC_LIBOBJ invocations to module description.
32272         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
32273         invocation from here...
32274         * modules/isnanf (configure.ac): ... to here.
32275         * modules/isnanf-nolibm (configure.ac): ... and here.
32277 2011-05-20  Bruno Haible  <bruno@clisp.org>
32279         isnan*: Separate the AC_LIBOBJ invocations.
32280         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
32281         AC_LIBOBJ invocation.
32282         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
32283         here.
32284         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
32285         AC_LIBOBJ invocation.
32286         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
32287         here.
32288         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
32289         AC_LIBOBJ invocation.
32290         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
32291         here.
32292         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
32294 2011-05-08  Bruno Haible  <bruno@clisp.org>
32296         isinf: Move AC_LIBOBJ invocations to module description.
32297         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
32298         * modules/isinf (configure.ac): ... to here.
32300 2011-05-08  Bruno Haible  <bruno@clisp.org>
32302         isfinite: Move AC_LIBOBJ invocations to module description.
32303         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
32304         * modules/isfinite (configure.ac): ... to here.
32306 2011-05-08  Bruno Haible  <bruno@clisp.org>
32308         isblank: Move AC_LIBOBJ invocations to module description.
32309         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
32310         here...
32311         * modules/isblank (configure.ac): ... to here.
32313 2011-05-08  Bruno Haible  <bruno@clisp.org>
32315         isapipe: Move AC_LIBOBJ invocations to module description.
32316         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
32317         gl_PREREQ_ISAPIPE invocations from here...
32318         * modules/isapipe (configure.ac): ... to here.
32319         (Depends-on): Update condition.
32321 2011-05-08  Bruno Haible  <bruno@clisp.org>
32323         ioctl: Move AC_LIBOBJ invocations to module description.
32324         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
32325         invocations from here...
32326         * modules/ioctl (configure.ac): ... to here.
32327         (Depends-on): Update condition.
32329 2011-05-08  Bruno Haible  <bruno@clisp.org>
32331         imaxdiv: Move AC_LIBOBJ invocations to module description.
32332         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
32333         invocations from here...
32334         * modules/imaxdiv (configure.ac): ... to here.
32336 2011-05-08  Bruno Haible  <bruno@clisp.org>
32338         imaxabs: Move AC_LIBOBJ invocations to module description.
32339         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
32340         invocations from here...
32341         * modules/imaxabs (configure.ac): ... to here.
32343 2011-05-08  Bruno Haible  <bruno@clisp.org>
32345         getaddrinfo: Move AC_LIBOBJ invocations to module description.
32346         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
32347         AC_LIBOBJ invocations from here...
32348         * modules/getaddrinfo (configure.ac): ... to here.
32349         (Depends-on): Add conditions.
32351 2011-05-08  Bruno Haible  <bruno@clisp.org>
32353         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
32354         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
32355         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
32356         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
32357         (gl_PREREQ_INET_PTON): ... from here.
32358         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
32359         gl_PREREQ_INET_PTON here.
32360         (Depends-on): Update condition.
32362 2011-05-08  Bruno Haible  <bruno@clisp.org>
32364         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
32365         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
32366         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
32367         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
32368         (gl_PREREQ_INET_NTOP): ... from here.
32369         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
32370         gl_PREREQ_INET_NTOP here.
32371         (Depends-on): Update condition.
32373 2011-05-08  Bruno Haible  <bruno@clisp.org>
32375         iconv_open: Move AC_LIBOBJ invocations to module description.
32376         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
32377         AC_LIBOBJ invocations from here...
32378         * modules/iconv_open (configure.ac): ... to here.
32380 2011-05-08  Bruno Haible  <bruno@clisp.org>
32382         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
32383         If module 'iconv_open' is among the main modules and module
32384         'iconv_open-utf' is among the tests dependencies, then
32385         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
32386         return the special iconv_t values. Therefore iconv() and iconv_close()
32387         must support these special iconv_t values, already in lib, not only in
32388         tests.
32389         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
32390         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
32391         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
32392         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
32393         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
32394         (Depends-on): Add the dependencies of iconv_open-utf.
32395         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
32396         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
32397         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
32399 2011-05-08  Bruno Haible  <bruno@clisp.org>
32401         group-member: Move AC_LIBOBJ invocations to module description.
32402         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
32403         gl_PREREQ_GROUP_MEMBER invocations from here...
32404         * modules/group-member (configure.ac): ... to here.
32406 2011-05-08  Bruno Haible  <bruno@clisp.org>
32408         grantpt: Move AC_LIBOBJ invocations to module description.
32409         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
32410         invocations from here...
32411         * modules/grantpt (configure.ac): ... to here.
32413 2011-05-08  Bruno Haible  <bruno@clisp.org>
32415         glob: Move AC_LIBOBJ invocations to module description.
32416         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
32417         from here...
32418         * modules/glob (configure.ac): ... to here.
32420 2011-05-08  Bruno Haible  <bruno@clisp.org>
32422         getusershell: Move AC_LIBOBJ invocations to module description.
32423         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
32424         Move AC_LIBOBJ invocation from here...
32425         * modules/getusershell (configure.ac): ... to here.
32426         (Depends-on): Update condition.
32428 2011-05-08  Bruno Haible  <bruno@clisp.org>
32430         gettimeofday: Move AC_LIBOBJ invocations to module description.
32431         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
32432         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
32433         gl_PREREQ_GETTIMEOFDAY invocations from here...
32434         * modules/gettimeofday (configure.ac): ... to here.
32436 2011-05-08  Bruno Haible  <bruno@clisp.org>
32438         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
32439         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
32440         just gl_FUNC_TZSET.
32441         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
32442         (gl_FUNC_TZSET_CLOBBER): Remove actions.
32443         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
32444         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
32446 2011-05-08  Bruno Haible  <bruno@clisp.org>
32448         getsubopt: Move AC_LIBOBJ invocations to module description.
32449         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
32450         gl_PREREQ_GETSUBOPT invocations from here...
32451         * modules/getsubopt (configure.ac): ... to here.
32453 2011-05-08  Bruno Haible  <bruno@clisp.org>
32455         getpass-gnu: Move AC_LIBOBJ invocations to module description.
32456         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
32457         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
32458         * modules/getpass-gnu (configure.ac): ... to here.
32460 2011-05-08  Bruno Haible  <bruno@clisp.org>
32462         getpass: Move AC_LIBOBJ invocations to module description.
32463         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
32464         gl_PREREQ_GETPASS invocations from here...
32465         * modules/getpass (configure.ac): ... to here.
32467 2011-05-08  Bruno Haible  <bruno@clisp.org>
32469         getpagesize: Move AC_LIBOBJ invocations to module description.
32470         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
32471         from here...
32472         * modules/getpagesize (configure.ac): ... to here.
32474 2011-05-08  Bruno Haible  <bruno@clisp.org>
32476         getopt: Move AC_LIBOBJ invocations to module description.
32477         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
32478         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
32479         invocations from here...
32480         * modules/getopt-gnu (configure.ac): ... to here.
32481         * modules/getopt-posix (configure.ac): ... and here.
32482         (Depends-on): Update condition.
32484 2011-05-08  Bruno Haible  <bruno@clisp.org>
32486         getopt, argp: Respect rules for use of AC_LIBOBJ.
32487         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
32488         (gl_REPLACE_GETOPT_ALWAYS): New macro.
32489         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
32490         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
32492 2011-05-08  Bruno Haible  <bruno@clisp.org>
32494         getlogin_r: Move AC_LIBOBJ invocations to module description.
32495         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
32496         gl_PREREQ_GETLOGIN_R invocations from here...
32497         * modules/getlogin_r (configure.ac): ... to here.
32499 2011-05-08  Bruno Haible  <bruno@clisp.org>
32501         getlogin: Move AC_LIBOBJ invocations to module description.
32502         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
32503         here...
32504         * modules/getlogin (configure.ac): ... to here.
32506 2011-05-08  Bruno Haible  <bruno@clisp.org>
32508         getloadavg: Move AC_LIBOBJ invocations to module description.
32509         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
32510         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
32511         * modules/getloadavg (configure.ac): ... to here.
32513 2011-05-08  Bruno Haible  <bruno@clisp.org>
32515         gethrxtime: Move AC_LIBOBJ invocations to module description.
32516         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
32517         LIB_GETHRXTIME from here...
32518         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
32519         invocations from here...
32520         * modules/gethrxtime (configure.ac): ... to here.
32522 2011-05-08  Bruno Haible  <bruno@clisp.org>
32524         gethostname: Move AC_LIBOBJ invocations to module description.
32525         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
32526         gl_PREREQ_GETHOSTNAME invocations from here...
32527         * modules/gethostname (configure.ac): ... to here.
32529 2011-05-08  Bruno Haible  <bruno@clisp.org>
32531         getgroups: Move AC_LIBOBJ invocations to module description.
32532         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
32533         here...
32534         * modules/getgroups (configure.ac): ... to here.
32536 2011-05-08  Bruno Haible  <bruno@clisp.org>
32538         getdtablesize: Move AC_LIBOBJ invocations to module description.
32539         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
32540         invocation from here...
32541         * modules/getdtablesize (configure.ac): ... to here.
32543 2011-05-08  Bruno Haible  <bruno@clisp.org>
32545         getdomainname: Move AC_LIBOBJ invocations to module description.
32546         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
32547         gl_PREREQ_GETDOMAINNAME invocations from here...
32548         * modules/getdomainname (configure.ac): ... to here.
32550 2011-05-08  Bruno Haible  <bruno@clisp.org>
32552         getline: Move AC_LIBOBJ invocations to module description.
32553         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
32554         invocations from here...
32555         * modules/getline (configure.ac): ... to here.
32557 2011-05-08  Bruno Haible  <bruno@clisp.org>
32559         getline: Simplify.
32560         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
32561         It's already handled through the module dependency.
32563 2011-05-08  Bruno Haible  <bruno@clisp.org>
32565         getdelim: Move AC_LIBOBJ invocations to module description.
32566         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
32567         and gl_PREREQ_GETDELIM invocations from here...
32568         * modules/getdelim (configure.ac): ... to here.
32569         (Depends-on): Fix condition.
32571 2011-05-08  Bruno Haible  <bruno@clisp.org>
32573         getcwd: Move AC_LIBOBJ invocations to module description.
32574         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
32575         invocations from here...
32576         * modules/getcwd (configure.ac): ... to here.
32578 2011-05-08  Bruno Haible  <bruno@clisp.org>
32580         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
32581         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
32582         here...
32583         * modules/getcwd-lgpl (configure.ac): ... to here.
32585 2011-05-07  Bruno Haible  <bruno@clisp.org>
32587         crypto/gc: Move AC_LIBOBJ invocations to module description.
32588         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
32589         * modules/crypto/gc (configure.ac): ... to here.
32591 2011-05-07  Bruno Haible  <bruno@clisp.org>
32593         fwriting: Move AC_LIBOBJ invocations to module description.
32594         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
32595         here...
32596         * modules/fwriting (configure.ac): ... to here.
32598 2011-05-07  Bruno Haible  <bruno@clisp.org>
32600         fwritable: Move AC_LIBOBJ invocations to module description.
32601         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
32602         here...
32603         * modules/fwritable (configure.ac): ... to here.
32605 2011-05-07  Bruno Haible  <bruno@clisp.org>
32607         futimens: Move AC_LIBOBJ invocations to module description.
32608         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
32609         here...
32610         * modules/futimens (configure.ac): ... to here.
32612 2011-05-07  Bruno Haible  <bruno@clisp.org>
32614         ftruncate: Move AC_LIBOBJ invocations to module description.
32615         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
32616         gl_PREREQ_FTRUNCATE invocations from here...
32617         * modules/ftruncate (configure.ac): ... to here.
32619 2011-05-07  Bruno Haible  <bruno@clisp.org>
32621         fsync: Move AC_LIBOBJ invocations to module description.
32622         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
32623         invocations from here...
32624         * modules/fsync (configure.ac): ... to here.
32626 2011-05-07  Bruno Haible  <bruno@clisp.org>
32628         fsusage: Move AC_LIBOBJ invocations to module description.
32629         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
32630         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
32631         * modules/fsusage (configure.ac): ... to here.
32633 2011-05-07  Bruno Haible  <bruno@clisp.org>
32635         freopen: Move AC_LIBOBJ invocations to module description.
32636         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
32637         invocations from here...
32638         * modules/freopen (configure.ac): ... to here.
32640 2011-05-07  Bruno Haible  <bruno@clisp.org>
32642         free: Move AC_LIBOBJ invocations to module description.
32643         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
32644         invocations from here...
32645         * modules/free (configure.ac): ... to here.
32647 2011-05-07  Bruno Haible  <bruno@clisp.org>
32649         freadable: Move AC_LIBOBJ invocations to module description.
32650         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
32651         here...
32652         * modules/freadable (configure.ac): ... to here.
32654 2011-05-07  Bruno Haible  <bruno@clisp.org>
32656         fpurge: Move AC_LIBOBJ invocations to module description.
32657         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
32658         invocations from here...
32659         * modules/fpurge (configure.ac): ... to here.
32661 2011-05-07  Bruno Haible  <bruno@clisp.org>
32663         fpending: Move AC_LIBOBJ invocations to module description.
32664         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
32665         gl_FUNC_FPENDING.
32666         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
32667         invocations from here...
32668         * modules/fpending (configure.ac): ... to here.
32670 2011-05-07  Bruno Haible  <bruno@clisp.org>
32672         fopen: Move AC_LIBOBJ invocations to module description.
32673         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
32674         invocations from here...
32675         * modules/fopen (configure.ac): ... to here.
32677 2011-05-07  Bruno Haible  <bruno@clisp.org>
32679         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
32680         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
32681         gl_FUNC_FNMATCH_POSIX.
32682         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
32683         invocations from here...
32684         * modules/fnmatch (configure.ac): ... to here.
32685         * modules/fnmatch-gnu (configure.ac): ... and here.
32687 2011-05-07  Bruno Haible  <bruno@clisp.org>
32689         flock: Move AC_LIBOBJ invocations to module description.
32690         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
32691         invocations from here...
32692         * modules/flock (configure.ac): ... to here.
32694 2011-05-07  Bruno Haible  <bruno@clisp.org>
32696         fileblocks: Move AC_LIBOBJ invocations to module description.
32697         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
32698         gl_PREREQ_FILEBLOCKS invocations from here...
32699         * modules/fileblocks (configure.ac): ... to here.
32701 2011-05-06  Bruno Haible  <bruno@clisp.org>
32703         fflush: Move AC_LIBOBJ invocations to module description.
32704         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
32705         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
32706         invocations from here...
32707         * modules/fflush (configure.ac): ... to here.
32709 2011-05-06  Bruno Haible  <bruno@clisp.org>
32711         fdopendir: Move AC_LIBOBJ invocations to module description.
32712         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
32713         here...
32714         * modules/fdopendir (configure.ac): ... to here.
32715         (Depends-on): Improve conditions.
32717 2011-05-06  Bruno Haible  <bruno@clisp.org>
32719         _Exit: Move AC_LIBOBJ invocations to module description.
32720         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
32721         invocations from here...
32722         * modules/_Exit (configure.ac): ... to here.
32724 2011-05-21  Bruno Haible  <bruno@clisp.org>
32726         euidaccess: Respect rules for use of AC_LIBOBJ.
32727         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
32728         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
32729         from here...
32730         * modules/euidaccess (configure.ac): ... to here.
32732 2011-05-06  Bruno Haible  <bruno@clisp.org>
32734         error: Move AC_LIBOBJ invocations to module description.
32735         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
32736         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
32737         invocations from here...
32738         * modules/error (configure.ac): ... to here.
32740 2011-05-06  Bruno Haible  <bruno@clisp.org>
32742         duplocale: Move AC_LIBOBJ invocations to module description.
32743         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
32744         gl_PREREQ_DUPLOCALE invocations from here...
32745         * modules/duplocale (configure.ac): ... to here.
32747 2011-05-05  Bruno Haible  <bruno@clisp.org>
32749         dirfd: Move AC_LIBOBJ invocations to module description.
32750         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
32751         gl_FUNC_DIRFD.
32752         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
32753         here...
32754         * modules/dirfd (configure.ac): ... to here.
32755         (Depends-on): Fix condition.
32757 2011-05-05  Bruno Haible  <bruno@clisp.org>
32759         chown: Respect rules for use of AC_LIBOBJ.
32760         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
32761         * modules/chown (configure.ac): ... to here.
32763 2011-05-05  Bruno Haible  <bruno@clisp.org>
32765         chdir-long: Move AC_LIBOBJ invocations to module description.
32766         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
32767         gl_PREREQ_CHDIR_LONG invocations from here...
32768         * modules/chdir-long (configure.ac): ... to here.
32770 2011-05-05  Bruno Haible  <bruno@clisp.org>
32772         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
32773         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
32774         from here...
32775         * modules/canonicalize-lgpl (configure.ac): ... to here.
32777 2011-05-05  Bruno Haible  <bruno@clisp.org>
32779         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
32780         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
32781         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
32782         REPLACE_CALLOC.
32783         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
32784         * modules/calloc-gnu (configure.ac): Likewise.
32786 2011-05-05  Bruno Haible  <bruno@clisp.org>
32788         btowc: Move AC_LIBOBJ invocations to module description.
32789         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
32790         invocations from here...
32791         * modules/btowc (configure.ac): ... to here.
32793 2011-05-21  Bruno Haible  <bruno@clisp.org>
32795         atexit: Move AC_LIBOBJ invocations to module description.
32796         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
32797         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
32798         here...
32799         * modules/atexit (configure.ac): ... to here.
32801 2011-05-05  Bruno Haible  <bruno@clisp.org>
32803         atoll: Move AC_LIBOBJ invocations to module description.
32804         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
32805         invocations from here...
32806         * modules/atoll (configure.ac): ... to here.
32808 2011-05-05  Bruno Haible  <bruno@clisp.org>
32810         argz: Move AC_LIBOBJ invocations to module description.
32811         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
32812         * modules/argz (configure.ac): ... to here.
32814 2011-05-05  Bruno Haible  <bruno@clisp.org>
32816         alphasort: Move AC_LIBOBJ invocations to module description.
32817         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
32818         gl_PREREQ_ALPHASORT invocations from here...
32819         * modules/alphasort (configure.ac): ... to here.
32821 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
32823         verify: new macro verify_expr; verify_true deprecated
32824         * NEWS: Mention this.
32825         * doc/verify.texi (Compile-time Assertions): Document this.
32826         * lib/verify.h (verify_true): Deprecate.
32827         (verify_expr): New macro.
32828         * tests/test-verify.c (function): Test verify_expr.
32830 2011-06-14  Jim Meyering  <meyering@redhat.com>
32832         init.sh: give more portable redirection-related advice in a comment
32833         * tests/init.sh (stderr_fileno_): Update the advice in comments.
32834         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
32835         for lots of discussion.  Stefano Lattarini suggested the solution
32836         of putting "9>&2" after the command.  Reported by Bruno Haible.
32838 2011-06-13  Bruno Haible  <bruno@clisp.org>
32840         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
32841         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
32842         'none'.
32844 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
32846         ftoastr: use strtof only if HAVE_STRTOF
32847         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
32848         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
32849         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
32850         * modules/ftoastr (configure.ac): Check for strtof.
32852 2011-06-13  Bruno Haible  <bruno@clisp.org>
32854         gnulib-tool: Addendum to 2011-06-08 commit.
32855         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
32856         and --witness-c-macro have been given, augment AM_CPPFLAGS.
32858 2011-06-13  Bruno Haible  <bruno@clisp.org>
32860         fseeko: Provide a non-inline replacement of fseek().
32861         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
32862         * modules/fseeko (Depends-on): Add fseek.
32863         * modules/fseek (License): Change to LGPLv2+.
32865 2011-06-13  Bruno Haible  <bruno@clisp.org>
32867         ftello: Provide a non-inline replacement of ftell().
32868         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
32869         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
32870         not have ftello() (such as on mingw).
32871         * modules/ftello (Depends-on): Add ftell.
32872         * modules/ftell (License): Change to LGPLv2+.
32874 2011-05-07  Bruno Haible  <bruno@clisp.org>
32876         ftell: Move AC_LIBOBJ invocations to module description.
32877         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
32878         * modules/ftell (configure.ac): ... to here.
32880 2011-05-07  Bruno Haible  <bruno@clisp.org>
32882         ftello: Respect rules for use of AC_LIBOBJ.
32883         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
32884         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
32885         here...
32886         * modules/ftello (configure.ac): ... to here.
32888 2011-05-07  Bruno Haible  <bruno@clisp.org>
32890         fseeko: Simplify.
32891         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
32892         (gl_FUNC_FSEEKO): Inline it here.
32894 2011-05-07  Bruno Haible  <bruno@clisp.org>
32896         fseek: Move AC_LIBOBJ invocations to module description.
32897         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
32898         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
32899         * modules/fseek (configure.ac): ... to here.
32901 2011-05-07  Bruno Haible  <bruno@clisp.org>
32903         fseek: Respect rules for use of AC_LIBOBJ.
32904         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
32905         here...
32906         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
32908 2011-05-07  Bruno Haible  <bruno@clisp.org>
32910         fseeko: Respect rules for use of AC_LIBOBJ.
32911         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
32912         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
32913         here...
32914         * modules/fseeko (configure.ac): ... to here.
32916 2011-06-13  Bruno Haible  <bruno@clisp.org>
32918         gnulib-tool: Allow comments in the 'Depends-on' section.
32919         * doc/gnulib.texi (Module description): Mention comment syntax in the
32920         Depends-on section.
32921         * gnulib-tool (func_get_dependencies): Filter out comment lines.
32923 2011-06-13  Bruno Haible  <bruno@clisp.org>
32925         file-set.h: guard __attibute__ use, now that it's not always defined
32926         * lib/file-set.h (record_file): Use __attribute__ only with compiler
32927         versions that support it.  This fixes a coreutils build failure with
32928         the vendor cc on HP-UX 11.31.
32930 2011-06-12  Bruno Haible  <bruno@clisp.org>
32932         acl: Add support for HP-UX >= 11.11 JFS ACLs.
32933         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
32934         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
32935         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
32936         (acl, aclsort): New declarations.
32937         (aclv_nontrivial): New declaration.
32938         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
32939         (file_has_acl): Read also the second kind of HP-UX ACLs.
32940         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
32941         kind of HP-UX ACLs if the first kind fails.
32942         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
32943         second kind of HP-UX ACLs.
32944         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
32945         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
32946         agree.
32947         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
32948         hpuxjfs.
32949         Handle hpuxjfs.
32950         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
32951         hpuxjfs.
32952         Handle hpuxjfs.
32953         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
32954         (func_test_same_acls): Use both lsacl and getacl.
32955         Handle hpuxjfs.
32956         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
32957         (func_test_same_acls): Use both lsacl and getacl.
32958         Handle hpuxjfs.
32960 2011-06-12  Bruno Haible  <bruno@clisp.org>
32962         acl: Complete the 2010-08-10 fix.
32963         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
32964         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
32965         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
32966         explicitly.
32967         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
32968         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
32970 2011-06-12  Bruno Haible  <bruno@clisp.org>
32972         spawn-pipe tests: Comments.
32973         * tests/test-spawn-pipe-child.c (main): Update comment.
32974         Reported by James Youngman <jay@gnu.org>.
32976 2011-06-11  James Youngman  <jay@gnu.org>
32978         New module 'stat-size'.
32979         * modules/stat-size: New module.  Provides macros for accessing
32980         file size information in instances of struct stat.  Depends on the
32981         fileblocks module because it calls st_blocks.
32982         * lib/stat-size.h: New file, adapted from coreutils' system.h.
32983         * doc/gnulib.texi: Include stat-size.texi.
32984         * doc/stat-size.texi: Documentation for this module.
32985         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
32986         * m4/fileblocks.m4: Mention that stat-size depends on the call to
32987         AC_STRUCT_ST_BLOCKS.
32989 2011-06-09  Bruno Haible  <bruno@clisp.org>
32991         thread: Support pthreads-win32.
32992         * lib/glthread/thread.h (gl_thread_self): Define differently on
32993         pthreads-win32.
32994         (gl_null_thread): New declaration.
32995         (gl_thread_self_pointer): New macro.
32996         * lib/glthread/thread.c (gl_null_thread): New constant.
32997         * tests/test-lock.c: Use gl_thread_self_pointer instead of
32998         gl_thread_self.
32999         * tests/test-tls.c: Likewise.
33000         Suggested by Paul Eggert. Reported by Eric Blake.
33002 2011-06-09  Bruno Haible  <bruno@clisp.org>
33004         thread: Fix confusion between NULL and 0.
33005         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
33006         Reported by Paul Eggert.
33008 2011-06-09  Bruno Haible  <bruno@clisp.org>
33010         spawn-pipe tests: Avoid test failure on HP-UX 11.
33011         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
33012         is closed.
33014 2011-06-09  Bruno Haible  <bruno@clisp.org>
33016         acl tests: Fix compilation error on HP-UX 11.
33017         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
33019 2011-06-09  Bruno Haible  <bruno@clisp.org>
33021         rmdir: Avoid test failure on HP-UX 10.20.
33022         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
33023         EEXIST.
33025 2011-06-08  Eric Blake  <eblake@redhat.com>
33027         perror: fix test on mingw
33028         * modules/perror-tests (Depends-on): Add dup2.
33030         strerror_r-posix: fix on MacOS
33031         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
33032         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
33033         logic bug.
33034         * lib/strerror_r.c (strerror_r): Fix the bug.
33035         * lib/strerror.c (strerror): Likewise.
33036         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
33037         problem.
33038         * doc/posix-functions/strerror.texi (strerror): Likewise.
33039         * doc/posix-functions/perror.texi (perror): Likewise.
33040         * tests/test-strerror.c (main): Enhance test.
33041         * tests/test-strerror_r.c (main): Likewise.
33043 2011-06-08  Bruno Haible  <bruno@clisp.org>
33045         gnulib-tool: Better isolation between different gnulib-tool invocations.
33046         * gnulib-tool: New option --witness-c-macro.
33047         (witness_c_macro): New variable.
33048         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
33049         AM_CPPFLAGS define it as a C macro.
33050         (func_emit_tests_Makefile_am): Likewise.
33051         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
33052         read it from there.
33053         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
33054         m4_define, not AC_DEFUN.
33055         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
33056         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
33057         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
33058         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
33059         s|...|...|, to substitute the values of the GNULIB_* module indicator
33060         variables.
33061         * modules/dirent (Makefile.am): Likewise.
33062         * modules/fcntl-h (Makefile.am): Likewise.
33063         * modules/iconv-h (Makefile.am): Likewise.
33064         * modules/langinfo (Makefile.am): Likewise.
33065         * modules/locale (Makefile.am): Likewise.
33066         * modules/math (Makefile.am): Likewise.
33067         * modules/netdb (Makefile.am): Likewise.
33068         * modules/poll-h (Makefile.am): Likewise.
33069         * modules/pty (Makefile.am): Likewise.
33070         * modules/search (Makefile.am): Likewise.
33071         * modules/signal (Makefile.am): Likewise.
33072         * modules/spawn (Makefile.am): Likewise.
33073         * modules/stdio (Makefile.am): Likewise.
33074         * modules/stdlib (Makefile.am): Likewise.
33075         * modules/string (Makefile.am): Likewise.
33076         * modules/sys_ioctl (Makefile.am): Likewise.
33077         * modules/sys_select (Makefile.am): Likewise.
33078         * modules/sys_socket (Makefile.am): Likewise.
33079         * modules/sys_stat (Makefile.am): Likewise.
33080         * modules/sys_times (Makefile.am): Likewise.
33081         * modules/sys_utsname (Makefile.am): Likewise.
33082         * modules/sys_wait (Makefile.am): Likewise.
33083         * modules/termios (Makefile.am): Likewise.
33084         * modules/time (Makefile.am): Likewise.
33085         * modules/unistd (Makefile.am): Likewise.
33086         * modules/wchar (Makefile.am): Likewise.
33088 2011-06-08  Eric Blake  <eblake@redhat.com>
33090         strerror: simplify replacement
33091         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
33092         * modules/strerror (configure.ac): No prereqs needed here...
33093         * modules/strerror-override (configure.ac): ...but this needs it.
33094         (Files): Add file for needed prereq macro.
33096 2011-06-08  Bruno Haible  <bruno@clisp.org>
33098         strerror_r-posix: Tweaks.
33099         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
33100         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
33101         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
33102         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
33103         (gl_FUNC_STRERROR_R): ... to here.
33104         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
33106 2011-06-07  Eric Blake  <eblake@redhat.com>
33108         perror: document fixed bugs
33109         * doc/posix-functions/perror.texi (perror): Document recent
33110         patches.
33112 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
33114         stat-time: get_stat_birthtime failure is better-defined
33115         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
33116         return a timestamp whose tv_sec and tv_nsec values are both -1.
33117         Previously, the spec said only that the tv_nsec value was negative.
33118         This upward-compatible change simplifies GNU tar a bit.
33120 2011-06-07  Eric Blake  <eblake@redhat.com>
33122         strerror_r-posix: work around cygwin 1.7.9
33123         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
33124         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
33125         bug without replacing strerror_r.
33126         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
33127         strerror_r is buggy, but without requiring strerror_r compilation.
33128         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
33130         test-perror: relax test to ignore cygwin bug
33131         * tests/test-perror2.c (main): Relax test on requiring detection
33132         of stream errors, and use unbuffered stream.
33133         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
33134         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
33135         * doc/posix-functions/fputc.texi (fputc): Likewise.
33136         * doc/posix-functions/fputs.texi (fputs): Likewise.
33137         * doc/posix-functions/fputws.texi (fputws): Likewise.
33138         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
33139         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
33140         * doc/posix-functions/getopt.texi (getopt): Likewise.
33141         * doc/posix-functions/perror.texi (perror): Likewise.
33142         * doc/posix-functions/printf.texi (printf): Likewise.
33143         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
33144         * doc/posix-functions/psignal.texi (psignal): Likewise.
33145         * doc/posix-functions/putc.texi (putc): Likewise.
33146         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
33147         Likewise.
33148         * doc/posix-functions/putchar.texi (putchar): Likewise.
33149         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
33150         Likewise.
33151         * doc/posix-functions/puts.texi (puts): Likewise.
33152         * doc/posix-functions/putwc.texi (putwc): Likewise.
33153         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
33154         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
33155         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
33156         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
33157         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33158         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
33159         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
33160         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
33162 2011-05-22  Bruno Haible  <bruno@clisp.org>
33164         strerror: Move AC_LIBOBJ invocations to module description.
33165         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
33166         gl_PREREQ_STRERROR invocations from here...
33167         * modules/strerror (configure.ac): ... to here.
33169 2011-05-21  Bruno Haible  <bruno@clisp.org>
33171         perror: Use common idiom.
33172         * modules/perror (configure.ac): Reorder statements.
33174 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
33176         tests: fix usage message in 'mktempd_'
33177         * tests/init.sh (mktempd_): In the usage message, use literal
33178         'mktempd_', not '$ME' (which is even undefined), as the name of
33179         the subroutine.
33181 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
33183         tests init: new function 'fatal_', for hard errors
33184         Before this patch, the only way offered by tests/init.sh to
33185         properly signal a hard error was the `framework_failure_'
33186         function.  But the error message issued by that function,
33187         as its name would suggest, refers to a set-up failure in the
33188         testsuite, while hard errors can obviously also be due to
33189         other reasons.  The best way to fix this inconsistency is to
33190         introduce a new function with a more general error message.
33191         * tests/init.sh (fatal_): New function.
33193 2011-06-06  Eric Blake  <eblake@redhat.com>
33195         canonicalize-lgpl: use common idiom
33196         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
33197         over newer POSIX -Rf.
33198         Reported by Bruno Haible.
33200         canonicalize-lgpl: work around AIX realpath bug
33201         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
33202         * doc/posix-functions/realpath.texi (realpath): Document it.
33203         Reported by Bruno Haible.
33205         strerror: work around FreeBSD bug
33206         * lib/strerror.c (strerror): Special case 0.
33207         Reported by Bruno Haible.
33209         strerror-override: avoid bloating errno module
33210         * modules/errno (Files, configure.ac): Move replacement strings...
33211         * modules/strerror-override: ...to new module.
33212         * modules/strerror (Depends-on): Add strerror-override.
33213         * modules/strerror_r-posix (Depends-on): Likewise.
33214         * MODULES.html.sh: Document new module.
33215         Reported by Bruno Haible.
33217 2011-06-06  Bruno Haible  <bruno@clisp.org>
33219         spawn-pipe tests: Rename program.
33220         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
33221         * tests/test-spawn-pipe-child.c: Update comment.
33222         * tests/test-spawn-pipe.sh: Update.
33223         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
33225         spawn-pipe tests: Link the child program only against libc.
33226         * tests/test-spawn-pipe-child.c: New file, extracted from
33227         tests/test-spawn-pipe.c.
33228         (main): Expect only one argument.
33229         (is_open): New function, copied from tests/test-pipe.c.
33230         * tests/test-spawn-pipe.c: Don't include <errno.h>.
33231         (child_main): Remove function.
33232         (test_pipe): Pass only one argument to the child program.
33233         (main): Remove child process code. Expect the child program's name as
33234         first argument.
33235         * tests/test-spawn-pipe.sh: Pass the child program's name as first
33236         argument.
33237         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
33238         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
33239         test-spawn-pipe-child against no libraries.
33241 2011-06-06  Bruno Haible  <bruno@clisp.org>
33243         careadlinkat: Avoid mismatch between ssize_t and int.
33244         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
33245         * lib/careadlinkat.c (careadlinkatcwd): Define always.
33247 2011-06-06  Jim Meyering  <meyering@redhat.com>
33249         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
33250         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
33251         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
33253 2011-06-05  Bruno Haible  <bruno@clisp.org>
33255         ansi-c++-opt: Interoperability with libtool.
33256         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
33257         set the variable to "no", not to ":".
33258         * NEWS: Mention the change.
33260 2011-06-05  Bruno Haible  <bruno@clisp.org>
33262         acl: Fix test failure on AIX 7.
33263         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
33264         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
33266 2011-06-05  Bruno Haible  <bruno@clisp.org>
33268         pipe-filter-ii: Fix test failure on AIX and IRIX.
33269         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
33270         with EAGAIN, retry with a smaller buffer size.
33272 2011-06-05  Bruno Haible  <bruno@clisp.org>
33274         localename: Fix link dependencies.
33275         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
33276         * modules/localename-tests (Makefile.am): Link test-localename with
33277         $(LIBTHREAD).
33279 2011-06-05  Bruno Haible  <bruno@clisp.org>
33281         error: Avoid gcc warning.
33282         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
33284 2011-06-05  Bruno Haible  <bruno@clisp.org>
33286         unsetenv: Avoid gcc warning.
33287         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
33289 2011-06-05  Bruno Haible  <bruno@clisp.org>
33291         setenv: Avoid gcc warning.
33292         * lib/setenv.c (setenv): Provide declaration if system lacks it.
33294 2011-06-05  Bruno Haible  <bruno@clisp.org>
33296         sys_select: Ensure memset is declared also on AIX 7.
33297         * lib/sys_select.in.h: Include <string.h> also on AIX.
33298         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
33299         self-contained also on AIX 7.1.
33301 2011-06-04  Jim Meyering  <meyering@redhat.com>
33303         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
33304         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
33305         function name, "error".
33306         (_gl_translatable_diag_func_re): New configurable variable.
33308 2011-06-04  Bruno Haible  <bruno@clisp.org>
33310         getopt: Avoid gcc warning.
33311         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
33313 2011-06-04  Bruno Haible  <bruno@clisp.org>
33315         strerror_r: Fix comments.
33316         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
33317         commit.
33319 2011-06-04  Bruno Haible  <bruno@clisp.org>
33321         perror: Fix compilation error.
33322         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
33323         Undefine fprintf, not sprintf.
33324         * modules/perror (Depends-on): Remove intprops, verify.
33326 2011-06-04  Bruno Haible  <bruno@clisp.org>
33328         setlocale: Enable replacement on Cygwin 1.5.
33329         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
33330         Cygwin 1.5.x.
33331         * doc/posix-functions/setlocale.texi: Mention that the problem with the
33332         LC_CTYPE category also exists on Cygwin 1.5.x.
33334 2011-06-04  Bruno Haible  <bruno@clisp.org>
33336         strerror-override: Don't disable symbol renamings.
33337         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
33338         * lib/strerror-override.c: Include config.h.
33339         (strerror_override): Don't undefine.
33341 2011-06-03  Bruno Haible  <bruno@clisp.org>
33343         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
33344         * lib/localename.h: Update copyright header.
33345         * lib/localename.c: Likewise.
33346         * lib/relocatable.h: Likewise.
33347         * lib/relocatable.c: Likewise.
33349 2011-06-02  Bruno Haible  <bruno@clisp.org>
33351         doc: Fix a module name.
33352         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
33354 2011-06-02  Bruno Haible  <bruno@clisp.org>
33356         pipe2: Remove dependency on 'nonblocking' module.
33357         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
33358         O_NONBLOCK is defined by gnulib.
33359         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
33360         is zero.
33361         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
33362         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
33363         defined by gnulib.
33364         (get_nonblocking_flag): New function.
33365         (main): Test O_NONBLOCK flag only if it is nonzero.
33366         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
33368 2011-06-03  Jim Meyering  <meyering@redhat.com>
33370         maint: three new prohibit-header-without-use rules
33371         Prohibit use of cloexec.h, posixver.h, same.h without use.
33372         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
33373         (sc_prohibit_posixver_without_use): Likewise.
33374         (sc_prohibit_same_without_use): Likewise.
33376 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
33378         allocator: 'die' routine is now given requested size
33379         * lib/allocator.h (struct allocator.die): New size arg.
33380         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
33381         If the actual problem is an ssize_t limitation, not a size_t or
33382         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
33384 2011-06-01  Eric Blake  <eblake@redhat.com>
33386         strerror: drop strerror_r dependency
33387         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
33388         * lib/strerror-override.c (strerror_override): ...to new file.
33389         * lib/strerror-override.h: Add prototype.
33390         * lib/strerror-impl.h: Delete.
33391         * lib/strerror.c (strerror): New implementation.
33392         * modules/errno (Files): Add new files.
33393         (configure.ac): Compile new file as appropriate.
33394         * modules/strerror (Files): Drop unused file.
33395         (Depends-on): Drop strerror_r-posix.
33396         * MODULES.html.sh: Document strerror_r-posix.
33397         Requested by Sam Steingold.
33399         perror: call strerror_r directly
33400         * modules/perror (Files): Drop strerror-impl.h.
33401         * lib/perror.c (perror): Use our own stack buffer, rather than
33402         calling a wrapper that uses static storage.
33403         * doc/posix-functions/perror.texi (perror): Document a limitation
33404         of our replacement.
33406         strerror_r: fix includes for FreeBSD
33407         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
33408         since we use abort on some platforms.
33409         Reported by Matthias Bolte.
33411 2011-05-31  Bruno Haible  <bruno@clisp.org>
33413         Fix link errors in tests: openat-die uses gettext-h.
33414         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
33415         against $(LIBINTL).
33416         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
33417         against $(LIBINTL).
33418         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
33419         $(LIBINTL).
33420         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
33421         against $(LIBINTL).
33422         * modules/linkat-tests (Makefile.am): Link test-linkat against
33423         $(LIBINTL).
33424         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
33425         $(LIBINTL).
33426         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
33427         against $(LIBINTL).
33428         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
33429         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
33430         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
33431         $(LIBINTL).
33432         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
33433         $(LIBINTL).
33434         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
33435         $(LIBINTL).
33436         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33438 2011-05-31  Bruno Haible  <bruno@clisp.org>
33440         Fix link errors in tests: wait-process uses gettext-h.
33441         * modules/nonblocking-pipe-tests (Makefile.am): Set
33442         test_nonblocking_pipe_main_LDADD.
33443         * modules/nonblocking-socket-tests (Makefile.am): Link
33444         test-nonblocking-socket-main against $(LIBINTL).
33445         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33447 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33449         assert-h: work around 'verify' incompatibility
33450         * lib/verify.h: Use @...@ directives, not ifdef.
33451         * modules/assert-h (assert.h): Implement the directives.
33452         (assert.h): Substitute the symbol-prefix more consistently.
33454 2011-05-29  Jim Meyering  <meyering@redhat.com>
33456         trim: remove three superfluous assignments
33457         * lib/trim.c (trim2): Remove three superfluous assignments
33458         and correct brace positioning.
33460 2011-05-29  Bruno Haible  <bruno@clisp.org>
33462         wctype-h: Avoid namespace pollution on Solaris 2.6.
33463         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
33464         identifiers.
33465         * doc/posix-headers/wctype.texi: Mention the problem.
33466         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33468 2011-05-28  Jim Meyering  <meyering@redhat.com>
33470         parse-datetime.y: accommodate -Wstrict-overflow
33471         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
33472         placate -Wstrict-overflow.
33474         trim: avoid a warning from -O2 -Wstrict-overflow
33475         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
33477 2011-05-29  Bruno Haible  <bruno@clisp.org>
33479         gnulib-tool: Fix bug in yesterday's commit.
33480         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
33481         twice.
33483 2011-05-29  Bruno Haible  <bruno@clisp.org>
33485         Allow multiple gnulib generated include files to be combined.
33486         * gnulib-tool (func_compute_include_guard_prefix): New function.
33487         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
33488         ${gl_include_guard_prefix} references.
33489         (func_import, func_create_testdir): Invoke
33490         func_compute_include_guard_prefix.
33491         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
33492         * lib/ctype.in.h: Likewise.
33493         * lib/dirent.in.h: Likewise.
33494         * lib/errno.in.h: Likewise.
33495         * lib/fcntl.in.h: Likewise.
33496         * lib/float.in.h: Likewise.
33497         * lib/getopt.in.h: Likewise.
33498         * lib/iconv.in.h: Likewise.
33499         * lib/langinfo.in.h: Likewise.
33500         * lib/locale.in.h: Likewise.
33501         * lib/math.in.h: Likewise.
33502         * lib/netdb.in.h: Likewise.
33503         * lib/netinet_in.in.h: Likewise.
33504         * lib/poll.in.h: Likewise.
33505         * lib/pthread.in.h: Likewise.
33506         * lib/pty.in.h: Likewise.
33507         * lib/sched.in.h: Likewise.
33508         * lib/se-selinux.in.h: Likewise.
33509         * lib/search.in.h: Likewise.
33510         * lib/signal.in.h: Likewise.
33511         * lib/spawn.in.h: Likewise.
33512         * lib/stdarg.in.h: Likewise.
33513         * lib/stddef.in.h: Likewise.
33514         * lib/stdint.in.h: Likewise.
33515         * lib/stdio.in.h: Likewise.
33516         * lib/stdlib.in.h: Likewise.
33517         * lib/string.in.h: Likewise.
33518         * lib/strings.in.h: Likewise.
33519         * lib/sys_file.in.h: Likewise.
33520         * lib/sys_ioctl.in.h: Likewise.
33521         * lib/sys_select.in.h: Likewise.
33522         * lib/sys_socket.in.h: Likewise.
33523         * lib/sys_stat.in.h: Likewise.
33524         * lib/sys_time.in.h: Likewise.
33525         * lib/sys_times.in.h: Likewise.
33526         * lib/sys_uio.in.h: Likewise.
33527         * lib/sys_utsname.in.h: Likewise.
33528         * lib/sys_wait.in.h: Likewise.
33529         * lib/sysexits.in.h: Likewise.
33530         * lib/termios.in.h: Likewise.
33531         * lib/time.in.h: Likewise.
33532         * lib/unistd.in.h: Likewise.
33533         * lib/wchar.in.h: Likewise.
33534         * lib/wctype.in.h: Likewise.
33535         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
33536         * modules/ctype (Makefile.am): Likewise.
33537         * modules/dirent (Makefile.am): Likewise.
33538         * modules/errno (Makefile.am): Likewise.
33539         * modules/fcntl-h (Makefile.am): Likewise.
33540         * modules/float (Makefile.am): Likewise.
33541         * modules/getopt-posix (Makefile.am): Likewise.
33542         * modules/iconv-h (Makefile.am): Likewise.
33543         * modules/langinfo (Makefile.am): Likewise.
33544         * modules/locale (Makefile.am): Likewise.
33545         * modules/math (Makefile.am): Likewise.
33546         * modules/netdb (Makefile.am): Likewise.
33547         * modules/netinet_in (Makefile.am): Likewise.
33548         * modules/poll-h (Makefile.am): Likewise.
33549         * modules/pthread (Makefile.am): Likewise.
33550         * modules/pty (Makefile.am): Likewise.
33551         * modules/sched (Makefile.am): Likewise.
33552         * modules/search (Makefile.am): Likewise.
33553         * modules/selinux-h (Makefile.am): Likewise.
33554         * modules/signal (Makefile.am): Likewise.
33555         * modules/spawn (Makefile.am): Likewise.
33556         * modules/stdarg (Makefile.am): Likewise.
33557         * modules/stddef (Makefile.am): Likewise.
33558         * modules/stdint (Makefile.am): Likewise.
33559         * modules/stdio (Makefile.am): Likewise.
33560         * modules/stdlib (Makefile.am): Likewise.
33561         * modules/string (Makefile.am): Likewise.
33562         * modules/strings (Makefile.am): Likewise.
33563         * modules/sys_file (Makefile.am): Likewise.
33564         * modules/sys_ioctl (Makefile.am): Likewise.
33565         * modules/sys_select (Makefile.am): Likewise.
33566         * modules/sys_socket (Makefile.am): Likewise.
33567         * modules/sys_stat (Makefile.am): Likewise.
33568         * modules/sys_time (Makefile.am): Likewise.
33569         * modules/sys_times (Makefile.am): Likewise.
33570         * modules/sys_uio (Makefile.am): Likewise.
33571         * modules/sys_utsname (Makefile.am): Likewise.
33572         * modules/sys_wait (Makefile.am): Likewise.
33573         * modules/sysexits (Makefile.am): Likewise.
33574         * modules/termios (Makefile.am): Likewise.
33575         * modules/time (Makefile.am): Likewise.
33576         * modules/unistd (Makefile.am): Likewise.
33577         * modules/wchar (Makefile.am): Likewise.
33578         * modules/wctype-h (Makefile.am): Likewise.
33579         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
33581 2011-05-29  Bruno Haible  <bruno@clisp.org>
33583         assert-h: Allow multiple gnulib generated replacements to coexist.
33584         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
33586 2011-05-29  Bruno Haible  <bruno@clisp.org>
33588         argp: Allow coexistence with strerror_r-posix module.
33589         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
33590         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
33591         by gnulib's <string.h> replacement), assume it has the POSIX signature,
33592         not the glibc signature.
33594 2011-05-28  Bruno Haible  <bruno@clisp.org>
33596         gnulib-tool: Alternative structure of testdirs, similar to --import.
33597         * gnulib-tool: New option --single-configure.
33598         (func_usage): Document it.
33599         (single_configure): New variable.
33600         (func_modules_transitive_closure_separately,
33601         func_modules_transitive_closure_separately,
33602         func_determine_use_libtests, func_modules_add_dummy_separately,
33603         func_modules_to_filelist_separately): New functions, extracted from
33604         func_import.
33605         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
33606         (func_import): Use the new functions.
33607         (func_create_testdir): Set final_modules. Handle $single_configure =
33608         true case.
33610 2011-05-28  Bruno Haible  <bruno@clisp.org>
33612         getloadavg: Remove an unreliable safety check.
33613         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
33614         getloadavg.c is in place.
33615         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
33616         Reported by Sam Steingold <sds@gnu.org>.
33618 2011-05-28  Bruno Haible  <bruno@clisp.org>
33620         doc: Cleanup yet another file produced by texinfo.tex.
33621         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
33623 2011-05-28  Bruno Haible  <bruno@clisp.org>
33625         Finish the conditional dependencies mechanism.
33626         * gnulib-tool: New option --no-conditional-dependencies.
33627         (func_usage): Document it. Don't mark --conditional-dependencies as
33628         experimental.
33629         (cond_dependencies): The possible values can now be true, false, empty.
33630         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
33631         (func_import): Store setting in gnulib-cache.m4 and read it from there.
33632         * doc/gnulib-tool.texi (Conditional dependencies): New section.
33634 2011-05-28  Bruno Haible  <bruno@clisp.org>
33636         doc: Use a recent texinfo.tex.
33637         * doc/Makefile (tex_opts): New variable.
33638         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
33640 2011-05-28  Jim Meyering  <meyering@redhat.com>
33642         intprops.h: adjust comment to match code change
33643         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
33644         only once, it *may* have side effects.  Also fix an unrelated typo.
33645         (_GL_INT_SIGNED): Likewise.
33647 2011-05-26  Simon Josefsson  <simon@josefsson.org>
33649         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
33651 2011-05-26  Bruno Haible  <bruno@clisp.org>
33653         mbsrchr: Avoid collision with system function on Interix.
33654         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
33655         Reported by Markus Duft <mduft@gentoo.org>.
33657 2011-05-15  James Youngman  <jay@gnu.org>
33659         getopt: for ambiguous options, enumerate the possibilities.
33660         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
33661         the ambiguous options when an ambiguous prefix is given. This was
33662         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
33663         glibc change was
33664         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
33666 2011-05-25  Eric Blake  <eblake@redhat.com>
33668         getcwd: work around mingw bug
33669         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
33670         * doc/posix-functions/getcwd.texi (getcwd): Document it.
33671         Reported by Matthias Bolte.
33673 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
33675         test-intprops: disable -Wtype-limits diagnostics
33676         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
33677         diagnostics.  Otherwise, the integer overflow macros generate many
33678         diagnostics.  Reported by Jim Meyering in
33679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
33681         intprops: shorten, to pacify gcc -Woverlength-strings
33682         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
33683         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
33684         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
33685         likely to run afoul of C compiler limits for string constant lengths.
33686         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
33688 2011-05-24  Eric Blake  <eblake@redhat.com>
33690         docs: document recently fixed glibc printf bug
33691         * doc/posix-functions/fprintf.texi (fprintf): Document it.
33692         * doc/posix-functions/printf.texi (printf): Likewise.
33693         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
33694         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
33696         closein-tests: convert to init.sh
33697         * modules/closein-tests (Files): Add init.sh
33698         * tests/test-closein.sh Use it.
33700         yesno-tests: convert to init.sh
33701         * modules/yesno-tests (Files): Add init.sh.
33702         * tests/test-yesno.sh: Use it.
33704         atexit-tests: ensure reliable exit status
33705         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
33706         Reported by Bruno Haible.
33708 2011-05-24  Bruno Haible  <bruno@clisp.org>
33710         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
33711         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
33712         gl_PREREQ_STRERROR_R invocations from here...
33713         * modules/strerror_r-posix (configure.ac): ... to here.
33715 2011-05-24  Eric Blake  <eblake@redhat.com>
33717         strerror_r: fix missing header
33718         * lib/strerror_r.c: Avoid compiler warning about snprintf.
33720         strerror_r: fix AIX test failures
33721         * lib/strerror_r.c (strerror_r): Convert silent truncation to
33722         ERANGE failure.
33724         strerror_r: fix Solaris test failures
33725         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
33726         failures.
33727         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
33729         strerror_r: enforce POSIX recommendations
33730         * lib/strerror_r.c (safe_copy): New helper method.
33731         (strerror_r): Guarantee a non-empty string.
33732         * tests/test-strerror_r.c (main): Enhance tests to incorporate
33733         recent POSIX rulings and to match our strerror guarantees.
33734         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
33736 2011-05-24  Jim Meyering  <meyering@redhat.com>
33738         test-perror2.c: avoid warning about unused variable
33739         * tests/test-perror2.c (main): Remove declaration of unused "fp".
33741 2011-05-24  Eric Blake  <eblake@redhat.com>
33743         perror: avoid spurious test failure on HP-UX
33744         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
33746         tests: fix logic bug in init.sh
33747         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
33748         shell.
33750 2011-05-24  Jim Meyering  <meyering@redhat.com>
33752         utimensat: do not reference an out-of-scope buffer
33753         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
33754         declared in an inner scope, yet "times" would be dereferenced outside
33755         the scope in which "ts" was valid.
33756         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
33757         of ts[2] "out/up", so that the use of aliased "times" (via
33758         "times = ts;") does not end up referencing an out-of-scope "ts"
33760         opendir-safer.c: don't clobber errno; don't close negative FD
33761         * lib/opendir-safer.c (opendir_safer):
33762         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
33763         file descriptor, and more importantly, don't clobber the
33764         offending errno value with EINVAL.  Before, upon failure
33765         of dup_safer, we would pass the negative file descriptor to
33766         fdopendir, which would clobber errno.
33768 2011-05-23  Bruno Haible  <bruno@clisp.org>
33770         idcache: Fix module description.
33771         * modules/idcache (Include): Set to "idcache.h".
33773 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
33775         gnulib-tool: fix portability problem with MacOS sed
33776         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
33777         before the "}".  Problem reported by Leo in
33778         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
33779         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
33780         sed_extract_condition1, sed_extract_condition2.
33782 2011-05-23  Bruno Haible  <bruno@clisp.org>
33784         hash: Simplify autoconf macro.
33785         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
33787 2011-05-23  Bruno Haible  <bruno@clisp.org>
33789         getugroups: Fix module description.
33790         * modules/getugroups (Include): Set to "getugroups.h".
33792 2011-05-23  Bruno Haible  <bruno@clisp.org>
33794         linkat: Simplify autoconf macro.
33795         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
33797 2011-05-23  Bruno Haible  <bruno@clisp.org>
33798             Eric Blake  <eblake@redhat.com>
33800         linkat, renameat: Update dependencies.
33801         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
33802         * modules/linkat (Depends-on): Likewise. Remove also readlink,
33803         symlinkat.
33805 2011-05-23  Jim Meyering  <meyering@redhat.com>
33807         maint.mk: more tight_scope improvements
33808         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
33809         (_gl_TS_headers): Define only in if-0'd block.
33810         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
33811         sometimes we must *not* use it.  Adjust uses accordingly.
33812         (sc_tight_scope): Use much simpler grep-based test to determine
33813         whether we skip this rule.
33815         maint.mk: generalize/improve the tight-scope rule
33816         * top/maint.mk: Emit a warning when the test is skipped.
33817         (_gl_TS_dir): Add $(srcdir)/ prefix.
33818         (_gl_TS_function_match): Simplify, rather than trying
33819         to enumerate common types.  Otherwise, it would fail to match an
33820         "extern unsigned char const *" declaration in idutils.
33821         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
33822         a way to support use of that type of macro.
33823         (_gl_TS_var_match): Simplify regexp.
33824         (_gl_TS_obj_files): New configurable variable.
33825         (_gl_TS_headers): Likewise.
33827 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
33829         verify: fix bug when gnulib <assert.h> is also included
33830         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
33831         is defined, not if _GL_STATIC_ASSERT_H is not defined.
33832         Perhaps there's a better way, but this fixes the immediate problem.
33833         Problem reported by Bruno Haible in
33834         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
33836 2011-05-22  Bruno Haible  <bruno@clisp.org>
33838         xgetcwd: Simplify autoconf macro.
33839         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
33841 2011-05-22  Bruno Haible  <bruno@clisp.org>
33843         New module 'mktime-internal'.
33844         * modules/mktime-internal: New file.
33845         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
33846         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
33847         mktime_internal as a C macro if libc has __mktime_internal.
33848         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
33849         conditions.
33850         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
33852 2011-05-22  Bruno Haible  <bruno@clisp.org>
33854         timegm: Correct mktime replacement statements.
33855         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
33856         defining mktime as a C macro. This completes a 2009-07-28 commit.
33858 2011-05-22  Bruno Haible  <bruno@clisp.org>
33860         timegm: Simplify autoconf macro.
33861         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
33863 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33865         clock-time: change to LGPLv2+.
33866         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
33867         BSD-like but we have no mark for that; this is good enough for now.
33869 2011-05-21  Bruno Haible  <bruno@clisp.org>
33871         strerror_r: Fix comments.
33872         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
33874 2011-05-21  Bruno Haible  <bruno@clisp.org>
33876         relocatable-prog-wrapper: Fix possible link error.
33877         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
33878         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
33879         (gl_FUNC_SETENV): ... to here.
33880         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
33881         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
33883 2011-05-21  Bruno Haible  <bruno@clisp.org>
33885         relocatable-prog-wrapper: Assume strerror() exists.
33886         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
33887         m4/strerror.m4.
33888         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
33889         * lib/relocwrapper.c: Remove mention of strerror module.
33890         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
33891         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
33892         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
33893         C macro.
33895 2011-05-21  Bruno Haible  <bruno@clisp.org>
33897         select: Simplify replacement idiom.
33898         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
33899         Win32 platforms.
33900         * lib/sys_select.in.h (select): Simplify accordingly.
33901         * modules/select (Depends-on): Likewise.
33903 2011-05-21  Bruno Haible  <bruno@clisp.org>
33905         mkdir-p: Simplify autoconf macro.
33906         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
33907         gl_FUNC_LCHOWN.
33909 2011-05-21  Eric Blake  <eblake@redhat.com>
33911         strerror_r: avoid clobbering strerror on cygwin
33912         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
33913         fall back instead to sys_errlist.
33914         * modules/strerror (configure.ac): Add witness.
33915         * tests/test-strerror_r.c (main): Enhance test.
33916         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
33917         * tests/test-perror2.c (main): Free memory before exit.
33919 2011-05-21  Bruno Haible  <bruno@clisp.org>
33921         mkdtemp: Use gnulib naming conventions.
33922         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
33923         * modules/mkdtemp (configure.ac): Update.
33925 2011-05-20  Eric Blake  <eblake@redhat.com>
33927         strerror_r: avoid corrupting errno on Solaris
33928         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
33929         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
33931         strerror_r: avoid compiler warning
33932         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
33934         strerror_r: simplify AIX code
33935         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
33937         test-perror: avoid spurious failure on FreeBSD
33938         * modules/perror-tests (Depends-on): Add strerror, now that
33939         strerror_r no longer pulls it in.
33941 2011-05-20  Bruno Haible  <bruno@clisp.org>
33943         strerror_r-posix: Remove unused dependencies.
33944         * modules/strerror_r-posix (Depends-on): Remove strerror.
33945         Reported by Eric Blake.
33947 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33949         intprops: remove assumption about A|B representation
33950         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
33951         is a valid integer if both A and B are.  Although this is true for
33952         all known practical hosts, the C standard doesn't guarantee it,
33953         and the code need not assume it.  Also, this change may work around
33954         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
33955         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
33957 2011-05-20  Eric Blake  <eblake@redhat.com>
33959         perror: work around FreeBSD bug
33960         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
33961         is broken.  Move AC_LIBOBJ...
33962         * modules/perror (configure.ac): Here.
33963         * doc/posix-functions/perror.texi (perror): Document this.
33964         * tests/test-perror2.c (main): Enhance test.
33966         test-perror: check for strerror interactions
33967         * tests/macros.h (STREQ): Add macro.
33968         * modules/perror-tests (Files): Add second test.
33969         * tests/test-perror2.c (main): New file.
33970         * doc/posix-functions/perror.texi (perror): Document glibc bug.
33972         test-perror: rewrite to use init script
33973         * modules/perror-tests (Files): Add init.sh.
33974         * tests/test-perror.sh: Use temporary directory.
33976 2011-05-20  Jim Meyering  <meyering@redhat.com>
33978         maint: replace misused "a" with "an"
33979         * doc/intprops.texi: "a integer"
33980         * doc/regex.texi: "a explanation"
33981         * lib/alignof.h: "a object"
33982         * lib/argmatch.h: "a explanation"
33983         * lib/argp-help.c: "a option" and "a OPTION_DOC"
33984         * lib/stdint.in.h: "a integer"
33985         * lib/userspec.c: "a owner"
33986         * doc/gnulib.texi: Fix "a idea", and reword.
33988 2011-05-19  Jim Meyering  <meyering@redhat.com>
33990         maint: correct misuse of "a" and "an"
33991         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
33992         * lib/argp-help.c: "an docum...": s/an/a/
33993         * lib/argp-parse.c: "An vector": s/An/A/
33994         * lib/execute.c: "an native": s/an/a/
33995         * lib/spawn-pipe.c: Likewise.
33996         * lib/gc.h: "an Gc_rc": s/an/a/
33997         * lib/unigbrk.in.h: "an grapheme": s/an/a/
33998         * lib/fts.c: "an stat.st_dev": s/an/a/
34000 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34002         intprops-tests: work around HP-UX 11.23 cc bug with constants
34003         * tests/test-intprops.c (VERIFY): New macro.
34004         (main): Use it, instead of verify, to work around the compiler bug; see
34005         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
34007         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
34008         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
34009         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
34010         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
34011         (_GL_REMAINDER_OVERFLOW): Use it.
34013         intprops-tests: revert unsigned part of previous change
34014         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
34015         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
34016         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
34017         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
34019 2011-05-19  Bruno Haible  <bruno@clisp.org>
34021         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
34022         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
34023         strerror_r() returned without filling the buffer.
34024         Reported by Eric Blake.
34026 2011-05-19  Eric Blake  <eblake@redhat.com>
34028         strerror_r: guarantee unchanged errno
34029         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
34030         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
34031         failure.
34032         * tests/test-strerror_r.c (main): Enhance test.
34034 2011-05-19  Bruno Haible  <bruno@clisp.org>
34036         strerror_r: Reorder #if blocks.
34037         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
34038         for consistency with the previous commit.
34040 2011-05-19  Bruno Haible  <bruno@clisp.org>
34042         perror: Avoid clobbering the strerror buffer when possible.
34043         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
34044         * lib/strerror.c: Include it.
34045         * modules/strerror (Files): Add lib/strerror-impl.h.
34046         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
34047         (my_strerror): New function, defined through lib/strerror-impl.h.
34048         (perror): Use it instead of strerror.
34049         * modules/perror (Files): Add lib/strerror-impl.h.
34050         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
34052 2011-05-19  Eric Blake  <eblake@redhat.com>
34054         strerror_r: fix on newer cygwin
34055         * lib/strerror_r.c (strerror_r): Cygwin now has
34056         __xpg_strerror_r, use it.
34058 2011-05-19  Bruno Haible  <bruno@clisp.org>
34060         strerror_r: Avoid clobbering the strerror buffer when possible.
34061         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
34062         (sys_nerr, sys_errlist): New declarations.
34063         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
34064         HP-UX, native Win32, IRIX, and 32-bit Solaris.
34065         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
34067 2011-05-19  Bruno Haible  <bruno@clisp.org>
34069         strerror_r: Fix test failure on mingw.
34070         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
34071         EXTEND_STRERROR_R.
34072         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
34073         macros from errno.in.h instead.
34075 2011-05-19  Eric Blake  <eblake@redhat.com>
34077         strerror: relax test for Solaris
34078         * tests/test-strerror.c (main): Permit Solaris behavior.
34079         * tests/test-strerror_r.c (main): Likewise.
34081         strerror: enforce POSIX ruling on strerror(0)
34082         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
34083         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
34084         * lib/strerror_r.c (rpl_strerror_r): Work around it.
34085         * doc/posix-functions/strerror.texi (strerror): Document it.
34086         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
34087         * tests/test-strerror.c (main): Strengthen test.
34088         * tests/test-strerror_r.c (main): Likewise.
34090 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34092         intprop-tests: port to older and more-pedantic compilers
34093         * modules/intprops-tests (Files): Add tests/macros.h.
34094         * tests/test-intprops.c: Include macros.h.
34095         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
34096         it's no longer documented to expand to an integer constant expression.
34097         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
34098         argument is floating point, as it's no longer documented to expand
34099         to an integer constant expression in that case.
34100         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
34101         compiler bugs reported by Bruno Haible.  See
34102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
34103         (U0, U1): New constants, to work around the same bugs.  Also,
34104         in tests, use e.g., "(unsigned int) 39" rather than "39u".
34106         intprops: work around C compiler bugs
34107         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
34108         bug in Sun C 5.11 2010/08/13 and other compilers; see
34109         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
34111         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
34112         * doc/intprops.texi (Integer Type Determination): Fix
34113         documentation for TYPE_IS_INTEGER: it returns an constant
34114         expression, not an integer constant expression.  Fix doc for
34115         TYPE_SIGNED: it returns an integer constant expression only if its
34116         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
34117         hardly worth documented that way....)
34119 2011-05-18  Bruno Haible  <bruno@clisp.org>
34121         strerror_r: Avoid clobbering the strerror buffer when possible.
34122         * lib/strerror_r.c (strerror_r): Merge the three implementations.
34123         Handle gnulib defined errno values here. When strerror() returns NULL
34124         or an empty string, return EINVAL.
34125         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
34126         gnulib defined errno values here.
34127         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
34129 2011-05-18  Eric Blake  <eblake@redhat.com>
34131         fnmatch: avoid compiler warning
34132         * lib/fnmatch_loop.c (FCT): Use correct type.
34133         Reported by Matthias Bolte.
34135 2011-05-13  Jim Meyering  <meyering@redhat.com>
34137         maint.mk: three new prohibit_<HDR>_without_use rules
34138         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
34139         (sc_prohibit_stdio-safer_without_use): Likewise.
34140         (sc_prohibit_xfreopen_without_use): Likewise.
34142 2011-05-17  Jim Meyering  <meyering@redhat.com>
34144         announce-gen: fail if the NEWS delta is empty
34145         If there's nothing noteworthy in NEWS, then either you forgot
34146         or you shouldn't be releasing.
34147         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
34149 2011-05-17  Pádraig Brady  <P@draigBrady.com>
34151         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
34152         reserved symbols starting with double underscore from the check.
34154 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
34156         intprops: add doc
34157         * doc/intprops.texi: New file, documenting intprops.
34158         * doc/gnulib.texi (Particular Modules): Include it.
34160         verify: add doc to gnulib manual and fix example
34161         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
34162         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
34163         (Compile-time Assertions): Fix example so it can't overflow.
34165 2011-05-17  Jim Meyering  <meyering@redhat.com>
34167         warnings.m4: don't usurp save_CPPFLAGS variable name
34168         * m4/warnings.m4: Prefix local temporary variable name with gl_.
34170         doc: fix typo
34171         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
34173 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34174             Bruno Haible  <bruno@clisp.org>
34176         doc: Tweak recent change.
34177         * README (Portability guidelines): Tweak new text.
34178         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
34179         Interix 6.1.
34181 2011-05-16  Eric Blake  <eblake@redhat.com>
34183         inttypes: avoid autoconf warning
34184         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
34185         * m4/stdint.m4 (gl_STDINT_H): Likewise.
34187 2011-05-16  Sam Steingold  <sds@gnu.org>
34188         and Eric Blake  <eblake@redhat.com>
34190         vc-list-files: accept multiple directory operands
34191         * build-aux/vc-list-files: Iterate over all remaining operands.
34193 2011-05-16  Bruno Haible  <bruno@clisp.org>
34195         Fix confusion regarding deprecated modules.
34196         * modules/calloc (Status, Notice): Mark module as deprecated, not
34197         obsolete.
34198         * modules/fnmatch-posix (Status, Notice): Likewise.
34199         * modules/getdate (Status, Notice): Likewise.
34200         * modules/getopt (Status, Notice): Likewise.
34201         * modules/malloc (Status, Notice): Likewise.
34202         * modules/pipe (Status, Notice): Likewise.
34203         * modules/realloc (Status, Notice): Likewise.
34204         * modules/rename-dest-slash (Status, Notice): Likewise.
34205         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
34206         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
34207         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
34208         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
34209         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
34211 2011-05-16  Bruno Haible  <bruno@clisp.org>
34213         doc: List the target platforms.
34214         * doc/gnulib-intro.texi (Target Platforms): New section.
34215         * doc/gnulib.texi (Introduction): Update menu.
34216         * README (Portability guidelines): Refer to the new section. Update
34217         statement about oldest supported environment. Remove rationale why
34218         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
34219         unportable C89 function.
34220         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
34221         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
34223 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
34225         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
34227 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
34229         intprops-tests: new module
34230         * modules/intprops-tests, tests/test-intprops.c: New files.
34232         intprops: add safe, portable integer overflow checking
34233         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
34234         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
34235         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
34236         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
34237         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
34238         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
34239         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
34240         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
34241         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
34242         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
34243         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
34245 2011-05-12  James Youngman  <jay@gnu.org>
34247         Add a test for glibc's Bugzilla bug #12378.
34248         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
34249         doesn't allow the literal matching of a lone "[" (which is
34250         required by POSIX).
34251         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
34253 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
34255         Sync glibc change fixing Bugzilla bug #12378.
34256         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
34257         beginning and fall back to matching as normal character if the
34258         string ends before the matching ']' is found.  This is what POSIX
34259         requires.
34261 2011-05-13  Eric Blake  <eblake@redhat.com>
34263         getcwd-lgpl: relax test for FreeBSD
34264         * doc/posix-functions/getcwd.texi (getcwd): Document portability
34265         issue.
34266         * tests/test-getcwd-lgpl.c (main): Relax test.
34267         Reported by Matthias Bolte.
34269 2011-05-11  Eric Blake  <eblake@redhat.com>
34271         test-fflush: silence compiler warning
34272         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
34274 2011-05-11  Bruno Haible  <bruno@clisp.org>
34276         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
34277         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
34278         * modules/canonicalize (Depends-on): Add 'nocrash'.
34279         * modules/canonicalize-lgpl (Depends-on): Likewise.
34280         * doc/posix-functions/realpath.texi: Update platforms list.
34281         Reported by Ryan Schmidt <ryandesign@macports.org>.
34283 2011-05-11  Bruno Haible  <bruno@clisp.org>
34285         group-member: Declare function in <unistd.h>.
34286         * lib/unistd.in.h (group_member): New declaration.
34287         * lib/group-member.h: Remove file.
34288         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
34289         * tests/test-unistd-c++.cc: Check signature of group_member.
34290         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
34291         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
34292         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
34293         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
34294         HAVE_GROUP_MEMBER.
34295         * modules/group-member (Files): Remove lib/group-member.h.
34296         (Depends-on): Add unistd. Specify conditions.
34297         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34298         (Include): Change to <unistd.h>.
34299         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
34300         HAVE_GROUP_MEMBER.
34301         * NEWS: Mention the change.
34302         * lib/euidaccess.c: Don't include group-member.h.
34304 2011-05-11  Bruno Haible  <bruno@clisp.org>
34306         group-member: Document module.
34307         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
34308         module.
34310 2011-05-11  Bruno Haible  <bruno@clisp.org>
34312         fclose: Fix mistake earlier today.
34313         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
34315 2011-05-11  Eric Blake  <eblake@redhat.com>
34317         fclose: preserve fflush errors
34318         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
34319         Reported by Jim Meyering.
34321         bootstrap: support a prereq of 'rpcgen -' on RHEL5
34322         * build-aux/bootstrap (check_versions): When no specific version
34323         is required, merely check that the app produces an exit status
34324         that indicates its existence.
34326         maint.mk: drop redundant check
34327         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
34328         the same but better.
34330 2011-05-11  Bruno Haible  <bruno@clisp.org>
34332         fclose: Fix possible link error.
34333         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
34334         unregister_shadow_fd. Improve comments.
34335         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
34336         Eric Blake.
34338 2011-05-11  Jim Meyering  <meyering@redhat.com>
34340         maint.mk: improve "can not" detection and generalize rule name
34341         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
34342         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
34343         Use the same technique as in sc_prohibit_doubled_word, so that
34344         we recognize "can not" also when the words are separated by a newline.
34345         Suggested by Eric Blake.
34346         (perl_filename_lineno_text_): Define.  Factored out of...
34347         (prohibit_doubled_word_): ...here.  Use the new definition.
34348         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
34349         (prohibit_undesirable_word_seq_RE_): New overridable variable.
34350         (ignore_undesirable_word_sequence_RE_): New overridable variable.
34352 2011-05-10  Eric Blake  <eblake@redhat.com>
34354         fclose: avoid double close race when possible
34355         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
34356         all but WINDOWS_SOCKETS.
34358 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
34360         openat: correct new comment
34361         * lib/openat-proc.c (openat_proc_name): Correct the comment.
34363 2011-05-10  Jim Meyering  <meyering@redhat.com>
34365         openat: add comments
34366         * lib/openat-proc.c (openat_proc_name): Add comments,
34367         mostly from Eric Blake.
34369 2011-05-09  Eric Blake  <eblake@redhat.com>
34371         openat: reduce syscalls in first probe of /proc
34372         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
34373         be a directory.  Simplify the probe for .. bugs.
34374         * modules/openat (Depends-on): Drop same-inode.
34375         Reported by Bastien ROUCARIES.
34377 2011-05-09  Jim Meyering  <meyering@redhat.com>
34379         maint.mk: change semantics/name of tight_scope variables
34380         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
34381         Rename variables to align with semantics that make them more useful.
34383         maint.mk: tweak new rule's name not to impinge
34384         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
34385         (sc_tight_scope): Use new rule name rather than $@-0.
34387         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
34388         * top/maint.mk (sc_tight_scope): New rule.
34389         (sc_tight_scope-0): New rule, ifdef'd out.
34390         (_gl_TS_dir): Default.
34391         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
34392         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
34394 2011-05-09  Simon Josefsson  <simon@josefsson.org>
34396         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
34397         Haible <bruno@clisp.org>.
34399 2011-05-08  Bruno Haible  <bruno@clisp.org>
34401         Comments.
34402         * m4/isnanf.m4: Add comment.
34403         * m4/isnanl.m4: Likewise.
34405 2011-05-08  Bruno Haible  <bruno@clisp.org>
34407         glob: Remove obsolete macro.
34408         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
34410 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
34412         intprops: Sun C 5.11 supports __typeof__
34413         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
34414         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
34415         which is new.
34416         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
34418         intprops: switch to usual gnulib indenting and naming
34419         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
34420         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
34422         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
34424 2011-05-08  Jim Meyering  <meyering@redhat.com>
34426         maint.mk: suppress "Entering/Leaving directory" diag in announcement
34427         * top/maint.mk (release-prep): Use make's --no-print-directory
34428         option when generating the announcement.  This eliminates the
34429         pesky "make[2]: Entering/Leaving directory" diagnostics in the
34430         generated announcement template.
34432 2011-05-08  Bruno Haible  <bruno@clisp.org>
34434         tzset: Fix gettimeofday wrapper on Solaris 2.6.
34435         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
34436         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
34438 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
34440         ignore-value, verify: Omit include files from lib_SOURCES.
34441         * modules/ignore-value, modules/verify (Makefile.am):
34442         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
34443         that leads Automake to duplicate use of am__objects_... variables
34444         in Makefile.in.  See
34445         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
34447 2011-05-07  Bruno Haible  <bruno@clisp.org>
34449         fclose: Simplify autoconf macro.
34450         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
34451         defined.
34453 2011-05-07  Bruno Haible  <bruno@clisp.org>
34455         canonicalize-lgpl: Fix autoconf macro ordering bug.
34456         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
34457         gl_STDLIB_H_DEFAULTS.
34459 2011-05-06  Eric Blake  <eblake@redhat.com>
34461         maintainer-makefile: make sc_po_check easier to tune
34462         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
34463         to probe for strings, such as an alternate location for gnulib.
34465         fclose: guarantee behavior on seekable stdin
34466         * modules/fclose (Depends-on): Add fflush.
34467         * doc/posix-functions/fclose.texi (fclose): Document this.
34468         * tests/test-fclose.c (main): Make test for this unconditional.
34470 2011-05-06  Bruno Haible  <bruno@clisp.org>
34472         fflush, fpurge: Relicense under LGPLv2+.
34473         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
34474         * modules/fpurge (License): Likewise.
34475         With permission from Eric Blake and Jim Meyering.
34476         Suggested by Eric Blake.
34478 2011-05-06  Karl Berry  <karl@gnu.org>
34480         * MODULES.html.sh (func_all_modules): remove exit.
34482 2011-05-06  Jim Meyering  <meyering@redhat.com>
34484         maint.mk: use info-gnu@ as the default only for a stable release
34485         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
34486         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
34487         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
34488         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
34490 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
34492         assert-h: new module, which supports C1X-style static_assert
34493         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
34494         * lib/verify.h: Revamp so that this can be copied into assert.h,
34495         while retaining the ability to use it standalone as before.
34496         Rename private identifiers so as not to encroach on the
34497         standard C namespace, since this is now used by assert.h.
34498         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
34499         the old verify_true.
34500         (_GL_VERIFY_TRUE): New macro, with much of the contents of
34501         the old verify_true.  Use _GL_VERIFY_TYPE.
34502         (_GL_VERIFY): New macro, with much of the contents of the old verify.
34503         (static_assert): New macro, if _GL_STATIC_ASSERT_H
34504         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
34505         defined when this file is copied into the replacement assert.h.
34506         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
34507         and _Static_assert is not built in.
34508         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
34509         defined, and use the new macros mentioned above.
34510         * doc/posix-headers/assert.texi: Document this.
34512 2011-05-05  Bruno Haible  <bruno@clisp.org>
34514         fclose, fflush: Respect rules for use of AC_LIBOBJ.
34515         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
34516         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
34517         gl_REPLACE_FCLOSE here.
34518         * modules/fflush (Depends-on): Remove fclose.
34519         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
34520         combination with module 'fclose'.
34522 2011-05-05  Bruno Haible  <bruno@clisp.org>
34524         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
34525         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
34526         gl_FUNC_FFLUSH.
34527         (gl_FUNC_FFLUSH): Use it.
34528         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
34529         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
34530         gl_REPLACE_FSEEKO here.
34532 2011-05-05  Bruno Haible  <bruno@clisp.org>
34534         tzset: Relicense under LGPL.
34535         * modules/tzset (License): Change to LGPL.
34536         No agreement needed; it's a no-op.
34538         strtoimax, strtoumax: Relicense under LGPL.
34539         * modules/strtoimax (License): Change to LGPL.
34540         * modules/strtoumax (License): Likewise.
34541         With permission from Jim Meyering, Paul Eggert:
34542         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
34543         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
34545         getgroups: Relicense under LGPL.
34546         * modules/getgroups (License): Change to LGPL.
34547         With permission from Jim Meyering, Paul Eggert, Eric Blake:
34548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
34549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
34550         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
34552         nanosleep: Relicense under LGPL.
34553         * modules/nanosleep (License): Change to LGPL.
34554         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
34555         Haible:
34556         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
34557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
34558         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
34559         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
34561         futimens: Relicense under LGPL.
34562         * modules/futimens (License): Change to LGPL.
34563         With permission from Eric Blake:
34564         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
34566         fflush: Relicense under LGPL.
34567         * modules/fflush (License): Change to LGPL.
34568         With permission from Eric Blake, Bruno Haible, Jim Meyering:
34569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
34570         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
34571         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
34573         tmpfile: Relicense under LGPL.
34574         * modules/tmpfile (License): Change to LGPL.
34575         With permission from Ben Pfaff:
34576         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
34578         isfinite: Relicense under LGPL.
34579         * modules/isfinite (License): Change to LGPL.
34580         With permission from Ben Pfaff, Bruno Haible:
34581         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
34582         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
34584         acosl..tanl: Relicense under LGPL.
34585         * modules/acosl (License): Change to LGPL.
34586         * modules/asinl (License): Likewise.
34587         * modules/atanl (License): Likewise.
34588         * modules/cosl (License): Likewise.
34589         * modules/expl (License): Likewise.
34590         * modules/logl (License): Likewise.
34591         * modules/sinl (License): Likewise.
34592         * modules/sqrtl (License): Likewise.
34593         * modules/tanl (License): Likewise.
34594         Source code originally from glibc and Paolo Bonzini. Agreements:
34595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
34596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
34598 2011-05-05  Bruno Haible  <bruno@clisp.org>
34600         signal: Define sighandler_t.
34601         * lib/signal.in.h (sighandler_t): New type.
34602         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
34603         whether sighandler_t is defined.
34604         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
34605         * modules/signal (Depends-on): Add extensions.
34606         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
34607         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
34608         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
34610 2011-05-05  Eric Blake  <eblake@redhat.com>
34612         maint: remove useless REPLACE_*_H macros
34613         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
34614         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
34615         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
34616         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
34617         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
34618         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
34619         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
34620         * m4/btowc.m4: Update callers.
34621         * m4/dirfd.m4: Likewise.
34622         * m4/duplocale.m4: Likewise.
34623         * m4/fchdir.m4: Likewise.
34624         * m4/fdopendir.m4: Likewise.
34625         * m4/inet_ntop.m4: Likewise.
34626         * m4/inet_pton.m4: Likewise.
34627         * m4/ioctl.m4: Likewise.
34628         * m4/mbrlen.m4: Likewise.
34629         * m4/mbrtowc.m4: Likewise.
34630         * m4/mbsinit.m4: Likewise.
34631         * m4/mbsnrtowcs.m4: Likewise.
34632         * m4/mbsrtowcs.m4: Likewise.
34633         * m4/poll.m4: Likewise.
34634         * m4/setlocale.m4: Likewise.
34635         * m4/wcrtomb.m4: Likewise.
34636         * m4/wcsnrtombs.m4: Likewise.
34637         * m4/wcsrtombs.m4: Likewise.
34638         * m4/wctob.m4: Likewise.
34639         * m4/wcwidth.m4: Likewise.
34640         * modules/posix_spawn: Likewise.
34641         * modules/posix_spawn_file_actions_addclose: Likewise.
34642         * modules/posix_spawn_file_actions_adddup2: Likewise.
34643         * modules/posix_spawn_file_actions_addopen: Likewise.
34644         * modules/posix_spawn_file_actions_destroy: Likewise.
34645         * modules/posix_spawn_file_actions_init: Likewise.
34646         * modules/posix_spawnattr_destroy: Likewise.
34647         * modules/posix_spawnattr_getflags: Likewise.
34648         * modules/posix_spawnattr_getpgroup: Likewise.
34649         * modules/posix_spawnattr_getschedparam: Likewise.
34650         * modules/posix_spawnattr_getschedpolicy: Likewise.
34651         * modules/posix_spawnattr_getsigdefault: Likewise.
34652         * modules/posix_spawnattr_getsigmask: Likewise.
34653         * modules/posix_spawnattr_init: Likewise.
34654         * modules/posix_spawnattr_setflags: Likewise.
34655         * modules/posix_spawnattr_setpgroup: Likewise.
34656         * modules/posix_spawnattr_setschedparam: Likewise.
34657         * modules/posix_spawnattr_setschedpolicy: Likewise.
34658         * modules/posix_spawnattr_setsigdefault: Likewise.
34659         * modules/posix_spawnattr_setsigmask: Likewise.
34660         * modules/posix_spawnp: Likewise.
34662 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
34664         Add option to do-release-commit-and-tag to specify branch.
34665         * build-aux/do-release-commit-and-tag: Add --branch.
34667 2011-05-03  Bruno Haible  <bruno@clisp.org>
34669         Avoid unnecessary compilation units, through conditional dependencies.
34670         * modules/accept (Depends-on): Add conditions to the dependencies.
34671         * modules/acosl (Depends-on): Likewise.
34672         * modules/argz (Depends-on): Likewise.
34673         * modules/asinl (Depends-on): Likewise.
34674         * modules/atanl (Depends-on): Likewise.
34675         * modules/atoll (Depends-on): Likewise.
34676         * modules/bind (Depends-on): Likewise.
34677         * modules/btowc (Depends-on): Likewise.
34678         * modules/canonicalize-lgpl (Depends-on): Likewise.
34679         * modules/ceil (Depends-on): Likewise.
34680         * modules/ceilf (Depends-on): Likewise.
34681         * modules/ceill (Depends-on): Likewise.
34682         * modules/chdir-long (Depends-on): Likewise.
34683         * modules/chown (Depends-on): Likewise.
34684         * modules/close (Depends-on): Likewise.
34685         * modules/connect (Depends-on): Likewise.
34686         * modules/cosl (Depends-on): Likewise.
34687         * modules/dirfd (Depends-on): Likewise.
34688         * modules/dprintf (Depends-on): Likewise.
34689         * modules/dprintf-posix (Depends-on): Likewise.
34690         * modules/error (Depends-on): Likewise.
34691         * modules/euidaccess (Depends-on): Likewise.
34692         * modules/expl (Depends-on): Likewise.
34693         * modules/faccessat (Depends-on): Likewise.
34694         * modules/fchdir (Depends-on): Likewise.
34695         * modules/fclose (Depends-on): Likewise.
34696         * modules/fcntl (Depends-on): Likewise.
34697         * modules/fdopendir (Depends-on): Likewise.
34698         * modules/fflush (Depends-on): Likewise.
34699         * modules/floor (Depends-on): Likewise.
34700         * modules/floorf (Depends-on): Likewise.
34701         * modules/floorl (Depends-on): Likewise.
34702         * modules/fnmatch (Depends-on): Likewise.
34703         * modules/fopen (Depends-on): Likewise.
34704         * modules/fprintf-posix (Depends-on): Likewise.
34705         * modules/frexp (Depends-on): Likewise.
34706         * modules/frexp-nolibm (Depends-on): Likewise.
34707         * modules/frexpl (Depends-on): Likewise.
34708         * modules/frexpl-nolibm (Depends-on): Likewise.
34709         * modules/fseek (Depends-on): Likewise.
34710         * modules/fsusage (Depends-on): Likewise.
34711         * modules/ftell (Depends-on): Likewise.
34712         * modules/ftello (Depends-on): Likewise.
34713         * modules/futimens (Depends-on): Likewise.
34714         * modules/getcwd (Depends-on): Likewise.
34715         * modules/getcwd-lgpl (Depends-on): Likewise.
34716         * modules/getdelim (Depends-on): Likewise.
34717         * modules/getdomainname (Depends-on): Likewise.
34718         * modules/getgroups (Depends-on): Likewise.
34719         * modules/gethostname (Depends-on): Likewise.
34720         * modules/getline (Depends-on): Likewise.
34721         * modules/getlogin_r (Depends-on): Likewise.
34722         * modules/getopt-posix (Depends-on): Likewise.
34723         * modules/getpeername (Depends-on): Likewise.
34724         * modules/getsockname (Depends-on): Likewise.
34725         * modules/getsockopt (Depends-on): Likewise.
34726         * modules/getsubopt (Depends-on): Likewise.
34727         * modules/getusershell (Depends-on): Likewise.
34728         * modules/glob (Depends-on): Likewise.
34729         * modules/grantpt (Depends-on): Likewise.
34730         * modules/iconv_open (Depends-on): Likewise.
34731         * modules/iconv_open-utf (Depends-on): Likewise.
34732         * modules/inet_ntop (Depends-on): Likewise.
34733         * modules/inet_pton (Depends-on): Likewise.
34734         * modules/ioctl (Depends-on): Likewise.
34735         * modules/isapipe (Depends-on): Likewise.
34736         * modules/isfinite (Depends-on): Likewise.
34737         * modules/isinf (Depends-on): Likewise.
34738         * modules/lchown (Depends-on): Likewise.
34739         * modules/ldexpl (Depends-on): Likewise.
34740         * modules/link (Depends-on): Likewise.
34741         * modules/linkat (Depends-on): Likewise.
34742         * modules/listen (Depends-on): Likewise.
34743         * modules/logl (Depends-on): Likewise.
34744         * modules/lstat (Depends-on): Likewise.
34745         * modules/mbrlen (Depends-on): Likewise.
34746         * modules/mbrtowc (Depends-on): Likewise.
34747         * modules/mbsinit (Depends-on): Likewise.
34748         * modules/mbsnrtowcs (Depends-on): Likewise.
34749         * modules/mbsrtowcs (Depends-on): Likewise.
34750         * modules/mbtowc (Depends-on): Likewise.
34751         * modules/memcmp (Depends-on): Likewise.
34752         * modules/mkdir (Depends-on): Likewise.
34753         * modules/mkdtemp (Depends-on): Likewise.
34754         * modules/mkfifo (Depends-on): Likewise.
34755         * modules/mkfifoat (Depends-on): Likewise.
34756         * modules/mknod (Depends-on): Likewise.
34757         * modules/mkostemp (Depends-on): Likewise.
34758         * modules/mkostemps (Depends-on): Likewise.
34759         * modules/mkstemp (Depends-on): Likewise.
34760         * modules/mkstemps (Depends-on): Likewise.
34761         * modules/mktime (Depends-on): Likewise.
34762         * modules/nanosleep (Depends-on): Likewise.
34763         * modules/open (Depends-on): Likewise.
34764         * modules/openat (Depends-on): Likewise.
34765         * modules/perror (Depends-on): Likewise.
34766         * modules/poll (Depends-on): Likewise.
34767         * modules/popen (Depends-on): Likewise.
34768         * modules/posix_spawn (Depends-on): Likewise.
34769         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
34770         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
34771         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
34772         * modules/posix_spawnp (Depends-on): Likewise.
34773         * modules/pread (Depends-on): Likewise.
34774         * modules/printf-posix (Depends-on): Likewise.
34775         * modules/ptsname (Depends-on): Likewise.
34776         * modules/putenv (Depends-on): Likewise.
34777         * modules/pwrite (Depends-on): Likewise.
34778         * modules/readline (Depends-on): Likewise.
34779         * modules/readlink (Depends-on): Likewise.
34780         * modules/readlinkat (Depends-on): Likewise.
34781         * modules/recv (Depends-on): Likewise.
34782         * modules/recvfrom (Depends-on): Likewise.
34783         * modules/regex (Depends-on): Likewise.
34784         * modules/remove (Depends-on): Likewise.
34785         * modules/rename (Depends-on): Likewise.
34786         * modules/renameat (Depends-on): Likewise.
34787         * modules/rmdir (Depends-on): Likewise.
34788         * modules/round (Depends-on): Likewise.
34789         * modules/roundf (Depends-on): Likewise.
34790         * modules/roundl (Depends-on): Likewise.
34791         * modules/rpmatch (Depends-on): Likewise.
34792         * modules/select (Depends-on): Likewise.
34793         * modules/send (Depends-on): Likewise.
34794         * modules/sendto (Depends-on): Likewise.
34795         * modules/setenv (Depends-on): Likewise.
34796         * modules/setlocale (Depends-on): Likewise.
34797         * modules/setsockopt (Depends-on): Likewise.
34798         * modules/shutdown (Depends-on): Likewise.
34799         * modules/sigaction (Depends-on): Likewise.
34800         * modules/signbit (Depends-on): Likewise.
34801         * modules/sigprocmask (Depends-on): Likewise.
34802         * modules/sinl (Depends-on): Likewise.
34803         * modules/sleep (Depends-on): Likewise.
34804         * modules/snprintf (Depends-on): Likewise.
34805         * modules/snprintf-posix (Depends-on): Likewise.
34806         * modules/socket (Depends-on): Likewise.
34807         * modules/sprintf-posix (Depends-on): Likewise.
34808         * modules/sqrtl (Depends-on): Likewise.
34809         * modules/stat (Depends-on): Likewise.
34810         * modules/strchrnul (Depends-on): Likewise.
34811         * modules/strdup-posix (Depends-on): Likewise.
34812         * modules/strerror (Depends-on): Likewise.
34813         * modules/strerror_r-posix (Depends-on): Likewise.
34814         * modules/strndup (Depends-on): Likewise.
34815         * modules/strnlen (Depends-on): Likewise.
34816         * modules/strptime (Depends-on): Likewise.
34817         * modules/strsep (Depends-on): Likewise.
34818         * modules/strsignal (Depends-on): Likewise.
34819         * modules/strstr-simple (Depends-on): Likewise.
34820         * modules/strtod (Depends-on): Likewise.
34821         * modules/strtoimax (Depends-on): Likewise.
34822         * modules/strtok_r (Depends-on): Likewise.
34823         * modules/strtoumax (Depends-on): Likewise.
34824         * modules/symlink (Depends-on): Likewise.
34825         * modules/symlinkat (Depends-on): Likewise.
34826         * modules/tanl (Depends-on): Likewise.
34827         * modules/tcgetsid (Depends-on): Likewise.
34828         * modules/tmpfile (Depends-on): Likewise.
34829         * modules/trunc (Depends-on): Likewise.
34830         * modules/truncf (Depends-on): Likewise.
34831         * modules/truncl (Depends-on): Likewise.
34832         * modules/uname (Depends-on): Likewise.
34833         * modules/unlink (Depends-on): Likewise.
34834         * modules/unlockpt (Depends-on): Likewise.
34835         * modules/unsetenv (Depends-on): Likewise.
34836         * modules/usleep (Depends-on): Likewise.
34837         * modules/utimensat (Depends-on): Likewise.
34838         * modules/vasprintf (Depends-on): Likewise.
34839         * modules/vdprintf (Depends-on): Likewise.
34840         * modules/vdprintf-posix (Depends-on): Likewise.
34841         * modules/vfprintf-posix (Depends-on): Likewise.
34842         * modules/vprintf-posix (Depends-on): Likewise.
34843         * modules/vsnprintf (Depends-on): Likewise.
34844         * modules/vsnprintf-posix (Depends-on): Likewise.
34845         * modules/vsprintf-posix (Depends-on): Likewise.
34846         * modules/wcrtomb (Depends-on): Likewise.
34847         * modules/wcscasecmp (Depends-on): Likewise.
34848         * modules/wcscspn (Depends-on): Likewise.
34849         * modules/wcsdup (Depends-on): Likewise.
34850         * modules/wcsncasecmp (Depends-on): Likewise.
34851         * modules/wcsnrtombs (Depends-on): Likewise.
34852         * modules/wcspbrk (Depends-on): Likewise.
34853         * modules/wcsrtombs (Depends-on): Likewise.
34854         * modules/wcsspn (Depends-on): Likewise.
34855         * modules/wcsstr (Depends-on): Likewise.
34856         * modules/wcstok (Depends-on): Likewise.
34857         * modules/wcswidth (Depends-on): Likewise.
34858         * modules/wctob (Depends-on): Likewise.
34859         * modules/wctomb (Depends-on): Likewise.
34860         * modules/wctype (Depends-on): Likewise.
34861         * modules/wcwidth (Depends-on): Likewise.
34862         * modules/write (Depends-on): Likewise.
34864 2011-05-03  Bruno Haible  <bruno@clisp.org>
34866         Support for conditional dependencies.
34867         * doc/gnulib.texi (Module description): Document the syntax of
34868         conditional dependencies.
34869         * gnulib-tool: New option --conditional-dependencies.
34870         (func_usage): Document it.
34871         (cond_dependencies): New variable.
34872         (func_get_automake_snippet_conditional,
34873         func_get_automake_snippet_unconditional): New functions, extracted from
34874         func_get_automake_snippet.
34875         (func_get_automake_snippet): Use them.
34876         (sed_first_32_chars): New variable.
34877         (func_module_shellfunc_name): New function.
34878         (func_module_shellvar_name): New function.
34879         (func_module_conditional_name): New function.
34880         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
34881         func_cond_module_condition): New functions.
34882         (func_modules_transitive_closure): Add support for conditional
34883         dependencies.
34884         (func_emit_lib_Makefile_am): For a conditional module, enclose the
34885         conditional automake snippet in an automake conditional.
34886         (func_emit_autoconf_snippets): Emit shell functions that contain the
34887         code for conditional modules.
34888         (func_import, func_create_testdir): Update specification.
34890 2011-05-03  Eric Blake  <eblake@redhat.com>
34892         test-getaddrinfo: report error information
34893         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
34895 2011-05-03  Jim Meyering  <meyering@redhat.com>
34897         bootstrap: avoid build failure when $GZIP is set
34898         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
34899         program name.  If defined at all, it is supposed to list gzip options.
34900         Reported by Alan Curry in http://debbugs.gnu.org/8609
34902 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
34904         readme-release: new module with release instructions
34905         * modules/readme-release: New module.
34906         * top/README-release: New file, from coreutils, grep, diffutils.
34907         * MODULES.html.sh (Support for maintaining and releasing): Add it.
34909 2011-05-02  Eric Blake  <eblake@redhat.com>
34911         fflush: also replace fclose when fixing fflush
34912         * modules/fflush (Depends-on): Add fclose.
34913         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
34914         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
34915         memstreams with no backing fd.
34916         * doc/posix-functions/fclose.texi (fclose): Document the use of
34917         fflush module to fix the bug.
34918         * tests/test-fclose.c (main): Relax test when fclose is used in
34919         isolation.
34921         fclose: add some tests
34922         * modules/fclose-tests: New test module.
34923         * tests/test-fclose.c: New file.
34924         * doc/posix-functions/fclose.texi (fclose): Document the bug.
34926         fclose: reduced dependencies
34927         * modules/fclose (Depends-on): Switch from fflush/fseeko to
34928         simpler lseek.
34929         * lib/fclose.c (rpl_fclose): Likewise.
34930         Reported by Simon Josefsson.
34932         exit: drop remaining clients
34933         * modules/argmatch (Depends-on): Replace exit with stdlib.
34934         * modules/copy-file (Depends-on): Likewise.
34935         * modules/execute (Depends-on): Likewise.
34936         * modules/exitfail (Depends-on): Likewise.
34937         * modules/obstack (Depends-on): Likewise.
34938         * modules/pagealign_alloc (Depends-on): Likewise.
34939         * modules/pipe-filter-gi (Depends-on): Likewise.
34940         * modules/pipe-filter-ii (Depends-on): Likewise.
34941         * modules/savewd (Depends-on): Likewise.
34942         * modules/spawn-pipe (Depends-on): Likewise.
34943         * modules/wait-process (Depends-on): Likewise.
34944         * modules/xsetenv (Depends-on): Likewise.
34945         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
34946         * modules/git-merge-changelog (Depends-on): Likewise.
34947         * modules/long-options (Depends-on): Likewise.
34948         * modules/pt_chown (Depends-on): Likewise.
34949         * modules/sysexits (Depends-on): Likewise.
34951         freading: relax license from LGPLv3+ to LGPLv2+
34952         * modules/freading (License): Relax LGPL version.
34954 2011-05-02  Bruno Haible  <bruno@clisp.org>
34956         fchdir: Remove unused dependencies.
34957         * modules/fchdir (Depends-on): Remove include_next.
34959 2011-05-02  Bruno Haible  <bruno@clisp.org>
34961         gnulib-tool: Refactor.
34962         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
34963         from func_emit_autoconf_snippets.
34964         (func_emit_autoconf_snippets): Use it.
34966 2011-05-02  Simon Josefsson  <simon@josefsson.org>
34968         * NEWS: Document removal of 'exit'.
34969         * modules/exit: Remove file.
34971 2011-05-01  Bruno Haible  <bruno@clisp.org>
34973         Update DEPENDENCIES.
34974         * DEPENDENCIES (gettext): Recommend the newest release.
34975         Reported by Simon Josefsson.
34977 2011-05-01  Bruno Haible  <bruno@clisp.org>
34979         gnulib-tool: Reduce code duplication.
34980         * gnulib-tool (func_emit_autoconf_snippets): New function.
34981         (func_import, func_create_testdir): Use it.
34983 2011-04-30  Eric Blake  <eblake@redhat.com>
34985         fclose: don't fail on non-seekable input stream
34986         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
34987         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
34988         since fflush is allowed to fail in that case.
34990 2011-04-30  Bruno Haible  <bruno@clisp.org>
34992         dup3: cleanup
34993         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
34995 2011-04-30  Bruno Haible  <bruno@clisp.org>
34997         netdb: Make it work in C++ mode.
34998         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
34999         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
35000         module.
35001         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
35002         gl_MODULE_INDICATOR_FOR_TESTS.
35003         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
35004         * modules/netdb-c++-tests: New file.
35005         * tests/test-netdb-c++.cc: New file.
35007 2011-04-30  Bruno Haible  <bruno@clisp.org>
35009         New modules 'vfscanf', 'vscanf'.
35010         * modules/vfscanf: New file.
35011         * modules/vscanf: New file.
35012         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
35013         here.
35014         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
35015         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
35017 2011-04-30  Bruno Haible  <bruno@clisp.org>
35019         passfd: Add comments.
35020         * lib/passfd.c: Add comments about platforms.
35022 2011-04-30  Bruno Haible  <bruno@clisp.org>
35024         sys_uio: Make <sys/uio.h> self-contained.
35025         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
35026         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
35028 2011-04-30  Bruno Haible  <bruno@clisp.org>
35030         sys_socket: Ensure 'struct iovec' definition.
35031         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
35032         <sys/socket.h>.
35033         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
35035 2011-04-30  Bruno Haible  <bruno@clisp.org>
35037         sys_uio: Protect definition of 'struct iovec'.
35038         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
35039         it as a C struct.
35041 2011-04-30  Bruno Haible  <bruno@clisp.org>
35043         manywarnings: fix indentation
35044         * m4/manywarnings.m4: Indent by 2 spaces consistently.
35046 2011-04-30  Pádraig Brady  <P@draigBrady.com>
35048         manywarnings: add -Wno-missing-field-initializers if needed.
35049         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
35050         option if it's needed to allow initialization with { 0, }
35052 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
35054         announce-gen: cosmetic improvement
35055         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
35057 2011-04-29  Jim Meyering  <meyering@redhat.com>
35059         vc-list-files: indent with spaces, not TABs
35060         * build-aux/vc-list-files: Convert leading TABs to spaces,
35061         to match the style of most other files in gnulib.
35063         announce-gen: indent with spaces, not TABs
35064         * build-aux/announce-gen: Convert all TABs to spaces, to match
35065         the style of most other files in gnulib.
35067 2011-04-29  Eric Blake  <eblake@redhat.com>
35069         quotearg: avoid uninitialized variable use
35070         * lib/quotearg.c (quoting_options_from_style): Initialize
35071         remaining fields, and ensure that custom styles are only used via
35072         quoting_options rather than quoting_style.
35074 2011-04-29  Jim Meyering  <meyering@redhat.com>
35076         maint.mk: remove unused VC-tag variable
35077         * top/maint.mk (VC-tag): Remove unused variable.
35079 2011-04-29  Bruno Haible  <bruno@clisp.org>
35081         netdb: fix gai_strerror replacements
35082         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
35083         * modules/netdb: Substitute it.
35085 2011-04-29  Jim Meyering  <meyering@redhat.com>
35087         test-getcwd.c: avoid new set-but-not-used warning
35088         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
35089         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
35090         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
35091         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
35093         test-hash.c: avoid a new shadowing warning
35094         * tests/test-hash.c (main): Don't shadow "dup".
35096 2011-04-28  Eric Blake  <eblake@redhat.com>
35098         getaddrinfo: fix gai_strerror signature
35099         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
35100         and work around mingw with UNICODE defined.
35101         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
35102         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
35103         * modules/netdb (Makefile.am): Substitute it.
35104         * lib/netdb.in.h (gai_strerror): Declare replacement.
35105         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
35106         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
35107         the fix.
35109         getsockopt: avoid compiler warning
35110         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
35111         Reported by Matthias Bolte.
35113         tests: drop unused link dependency
35114         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
35115         * modules/dirent-safer-tests (Makefile.am): Likewise.
35116         * modules/fdopendir-tests (Makefile.am): Likewise.
35117         * modules/mkfifoat-tests (Makefile.am): Likewise.
35118         * modules/openat-safer-tests (Makefile.am): Likewise.
35119         * modules/openat-tests (Makefile.am): Likewise.
35120         * modules/readlinkat-tests (Makefile.am): Likewise.
35121         * modules/symlinkat-tests (Makefile.am): Likewise.
35122         * modules/linkat-tests (Makefile.am): Likewise.
35123         (Depends-on): Switch to filenamecat-lgpl.
35124         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
35125         LIBINTL.
35126         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
35127         * tests/test-linkat.c (main): Don't require xalloc.
35129         hash, mgetgroups: drop xalloc dependency
35130         * lib/hash.c (includes): Adjust includes.
35131         * lib/mgetgroups.c (includes): Likewise.
35132         (xgetgroups): Move...
35133         * lib/xgetgroups.c: ...to new file.
35134         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
35135         * modules/xgetgroups: New file, split from...
35136         * modules/mgetgroups: ...here.
35137         (Depends-on): Add xalloc-oversized.
35138         * modules/hash (Depends-on): Likewise.
35139         * modules/hash-tests (Depends-on): Drop xalloc.
35140         (test_hash_LDADD): Drop unused library.
35141         * tests/test-hash.c (main): Break xalloc dependency.
35142         (includes): Drop unused include.
35144         xalloc-oversized: new module
35145         * modules/xalloc-oversized: New module.
35146         * modules/xalloc (Depends-on): Add it.
35147         * lib/xalloc.h (xalloc_oversized): Move...
35148         * lib/xalloc-oversized.h: ...into new file.
35150         utimecmp: drop dependency on xmalloc
35151         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
35152         due to memory pressure.
35153         * modules/utimecmp (Depends-on): Drop xalloc.
35155 2011-04-27  Eric Blake  <eblake@redhat.com>
35157         getcwd: fix mingw bugs
35158         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
35159         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
35160         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
35162 2011-04-27  Bruno Haible  <bruno@clisp.org>
35164         mkstemps: Ensure declaration on MacOS X 10.5.
35165         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
35166         * doc/glibc-functions/mkstemps.texi: Document header file problem on
35167         MacOS X.
35169 2011-04-27  Bruno Haible  <bruno@clisp.org>
35171         mkstemp: More documentation.
35172         * doc/posix-functions/mkstemp.texi: Document header file problem on
35173         MacOS X.
35175 2011-04-27  Bruno Haible  <bruno@clisp.org>
35177         mkstemp: Tweak configure message when cross-compiling.
35178         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
35179         result as a guess.
35181 2011-04-27  Bruno Haible  <bruno@clisp.org>
35183         clean-temp: Clarify what it does.
35184         * lib/clean-temp.h: Add more comments.
35185         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
35186         module.
35187         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
35188         * doc/glibc-functions/mkstemps.texi: Likewise.
35189         * doc/glibc-functions/mkostemps.texi: Likewise.
35191 2011-04-27  Eric Blake  <eblake@redhat.com>
35193         fchdir: avoid extra chdir and fix test
35194         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
35195         getcwd-lgpl.
35196         * lib/fchdir.c (get_name): Any absolute name will do; it does not
35197         have to be canonical.
35198         (canonicalize_file_name): Drop unused macro.
35199         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
35201         filenamecat-lgpl: fix licence
35202         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
35203         when it was first created.
35205         linkat, renameat: add missing dependency
35206         * modules/linkat (Depends-on): Require getcwd-lgpl.
35207         * modules/renameat (Depends-on): Likewise.
35209         tests: reduce dependencies
35210         * tests/test-linkat.c (main): Use lighter-weight getcwd.
35211         * tests/test-renameat.c (main): Likewise.
35212         * modules/linkat-tests (Depends-on): Relax dependency.
35213         * modules/renameat-tests (Depends-on): Likewise.
35214         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
35215         dependency explicit.
35217         save-cwd: reduce default dependency
35218         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
35219         * lib/save-cwd.c: Update comments.
35220         * NEWS: Document the semantic change.
35222         getcwd: enhance tests
35223         * tests/test-getcwd-lgpl.c: New file, taken from...
35224         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
35225         repeat long path stress tests from m4 probe.
35226         * modules/getcwd-lgpl-tests: New module.
35227         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
35228         * m4/getcwd-abort-bug.m4: Update comment.
35229         * m4/getcwd-path-max.m4: Likewise.
35231         getcwd-lgpl: new module
35232         * modules/getcwd-lgpl: New module.
35233         * lib/getcwd-lgpl.c: New file.
35234         * doc/posix-functions/getcwd.texi (getcwd): Document it.
35235         * MODULES.html.sh (lacking POSIX:2008): Likewise.
35236         * modules/getcwd (configure.ac): Set C witness.
35237         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
35239         getcwd: tweak comments
35240         * m4/getcwd-abort-bug.m4: Fix comments.
35241         * m4/getcwd-path-max.m4: Likewise.
35242         * m4/getcwd.m4: Likewise.
35244 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
35245         and Eric Blake  <eblake@redhat.com>
35247         mkstemp: replace if system version uses wrong permissions
35248         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
35249         read/write mode bits set in file created by mkstemp.
35250         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
35252 2011-04-27  Eric Blake  <eblake@redhat.com>
35254         passfd: avoid compiler warning
35255         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
35256         Reported by Laine Stump.
35258 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
35260         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
35261         required by the NetBSD (and perhaps other 4.4BSD derived) join.
35263 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
35264         and Eric Blake  <eblake@redhat.com>
35266         mkstemp: mention clean-temp module
35267         * lib/mkstemp.c: Add comment.
35268         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
35270 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
35272         inttypes: also provide default values for 32-bit tests
35273         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
35274         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
35276 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
35278         strtoumax: remove dependency on strtoimax
35279         This is like the strtoull change of yesterday.
35280         * modules/strtoumax (Files): Add lib/strtoimax.c.
35281         (Depends-on): Remove strtoimax and add verify.
35283         inttypes-incomplete: new module
35284         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
35285         all but the PRI* and SCN* parts of gl_INTTYPES_H.
35286         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
35287         of gl_INTTYPES_H.
35288         (gl_INTTYPES_H): Rewrite in terms of these new macros.
35289         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
35290         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
35291         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
35292         * modules/strtoumax, modules/xstrtol (Depends-on):
35293         Depend on inttypes-incomplete, not inttypes.
35294         * modules/inttypes-incomplete: New module, containing the contents
35295         of the old modules/inttypes module, except that the Files: section
35296         omits m4/inttypes-pri.m4, and the configure.ac section invokes
35297         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
35298         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
35299         (Depends-on): Depend only on inttypes-incomplete.
35300         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
35302         inttypes: omit now-redundant strtoimax and strtoumax work
35303         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
35304         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
35306         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
35307         This supports apps that need pointers to strtoimax and strtoumax,
35308         and ports to HP-UX 11.00 64.bit, which has macros that expand to
35309         nonexistent functions.  See
35310         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
35311         et seq.
35312         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
35313         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
35314         a macro.
35315         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
35317 2011-04-25  Simon Josefsson  <simon@josefsson.org>
35319         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
35321 2011-04-25  Bruno Haible  <bruno@clisp.org>
35323         strtol, strtoul: Mark modules as obsolete.
35324         * modules/strtol (Status, Notice): New sections.
35325         * modules/strtoul (Status, Notice): New sections.
35327 2011-04-25  Bruno Haible  <bruno@clisp.org>
35329         strtod: Remove check for strtod, unless supporting old platforms.
35330         * modules/strtod-obsolete: New file.
35331         * m4/strtod-obsolete.m4: New file.
35332         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
35333         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
35334         * modules/strtod (Depends-on): Add strtod-obsolete.
35335         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
35337 2011-04-25  Bruno Haible  <bruno@clisp.org>
35339         strcase: Make module obsolete.
35340         * modules/strcase (Status, Notice): New sections.
35342 2011-04-25  Bruno Haible  <bruno@clisp.org>
35344         dup2: Remove check for dup2, unless supporting old obsolete platforms.
35345         * modules/dup2-obsolete: New file.
35346         * m4/dup2-obsolete.m4: New file.
35347         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
35348         gl_FUNC_DUP2_OBSOLETE is not also defined.
35349         * modules/dup2 (Depends-on): Add dup2-obsolete.
35350         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
35352 2011-04-25  Bruno Haible  <bruno@clisp.org>
35354         strnlen: Avoid memchr related link error on old obsolete platforms.
35355         * modules/memchr-obsolete: New file.
35356         * m4/memchr-obsolete.m4: New file.
35357         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
35358         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
35359         * modules/memchr (Depends-on): Add memchr-obsolete.
35360         * modules/strnlen (Depends-on): Likewise.
35361         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
35363 2011-04-25  Jim Meyering  <meyering@redhat.com>
35365         maint.mk: makefile_at_at_check extend and clean up
35366         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
35367         in addition to */Makefile.am.
35368         Exempt legitimate uses of @VAR@ notation, e.g.,
35369         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
35370         Remove obsolete coreutils-specific comment.
35371         Prompted by discussion here:
35372         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
35374 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
35376         strtoul: remove dependency on strtol
35377         This is so that 'configure' need not check for strtol merely because
35378         the application needs strtoul.
35379         * modules/strtoul (Files): Add lib/strtol.c.
35380         (Depends-on): Remove strtol.
35382         strtoull: remove dependency on strtoul
35383         This is like the strtoll change.
35384         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
35385         (Depends-on): Remove strtoul.
35387         strtoll: remove dependency on strtol
35388         This is so that 'configure' need not check for strtol merely because
35389         the application needs strtoll.
35390         * modules/strtoll (Files): Add lib/strtol.c.
35391         (Depends-on): Remove strtol.
35393 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
35395         inttypes: Move some configure check to module 'imaxdiv'.
35396         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
35397         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
35398         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
35400 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
35402         inttypes: Move some configure check to module 'imaxabs'.
35403         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
35404         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
35405         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
35407 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
35409         inttypes: Remove configure tests that are not needed since 2009-12-31.
35410         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
35411         gl_cv_header_working_inttypes_h.
35413 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
35415         * modules/strnlen (Depends-on): Remove memchr.
35416         The strnlen implementation doesn't need the memchr module's fixes; see
35417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
35419         strtol: remove dependency on wchar
35420         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
35421         * modules/strtol (Depends-on): Remove wchar.
35423 2011-04-21  Eric Blake  <eblake@redhat.com>
35425         passfd: fix test regression on Linux
35426         * modules/passfd-tests (configure.ac): Correct socketpair check.
35428         passfd: speed up configure and drop unused code
35429         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
35430         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
35431         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
35432         Instead of probing at configure for unix_scm_rights_bsd44_way,
35433         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
35434         check to a struct member probe.
35435         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
35436         (sendfd, recvfd): Update preprocessor checks.
35437         * modules/passfd (Files): Reflect rename, and drop unused file.
35438         (Depends-on): Drop unused dependency.
35440         passfd: allow compilation on mingw
35441         * modules/sys_socket (Depends-on): Add sys_uio.
35442         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
35443         iovec and a minimal struct msghdr.
35444         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
35445         * tests/test-sys_socket.c (main): Enhance test.
35446         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
35447         guaranteed to provide what we need.
35448         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
35449         * modules/passfd-tests (Depends-on): Add sys_wait.
35450         * tests/test-passfd.c (main): Skip test on mingw, for now.
35451         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
35452         partial 'struct msghdr' implementation.
35454         sys_uio: new module
35455         * modules/sys_uio: New module.
35456         * modules/sys_uio-tests: Likewise.
35457         * lib/sys_uio.in.h: New file.
35458         * m4/sys_uio_h.m4: Likewise.
35459         * tests/test-sys_uio.c: Likewise.
35460         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
35461         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
35463 2011-04-20  Jim Meyering  <meyering@redhat.com>
35465         useless-if-before-free: avoid false-positive
35466         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
35467         disjunct so that it too requires a terminating ";".  Without that,
35468         this script would identify as useless one statement from gcc that
35469         was not:
35470           if (aligned_ptr)
35471             free (((void **) aligned_ptr) [-1]);
35473 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
35475         doc: update users.txt.
35476         * users.txt: Add barcode.
35478 2011-04-19  Bruno Haible  <bruno@clisp.org>
35480         ioctl: Remove link dependency on native Windows.
35481         * lib/fd-hook.h: Renamed from lib/close-hook.h.
35482         (gl_close_fn, gl_ioctl_fn): New types.
35483         (struct fd_hook): Renamed from struct close_hook. Change type of
35484         private_close_fn field. Add private_ioctl_fn field.
35485         (close_hook_fn): Add parameter for primary close method.
35486         (execute_close_hooks, execute_all_close_hooks): Likewise.
35487         (ioctl_hook_fn): New type.
35488         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
35489         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
35490         argument.
35491         (unregister_fd_hook): Renamed from unregister_close_hook.
35492         * lib/fd-hook.c: Renamed from lib/close-hook.c.
35493         Don't include <unistd.h>.
35494         (close): Remove undef.
35495         (anchor): Update.
35496         (execute_close_hooks): Add argument for primary close method.
35497         (execute_all_close_hooks): Likewise.
35498         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
35499         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
35500         argument. Allow each argument to be NULL.
35501         (unregister_fd_hook): Renamed from unregister_close_hook.
35502         * lib/close.c (rpl_close): Pass 'close' function pointer to
35503         execute_all_close_hooks.
35504         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
35505         (primary_ioctl): New function.
35506         (ioctl): Don't call ioctlsocket here. Instead, call
35507         execute_all_ioctl_hooks.
35508         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
35509         close method.
35510         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
35511         (fd_sockets_hook): Renamed from close_sockets_hook.
35512         (gl_sockets_startup, gl_sockets_cleanup): Update.
35513         * modules/fd-hook: Renamed from modules/close-hook. Update.
35514         * modules/close (Depends-on): Add fd-hook, remove close-hook.
35515         * modules/sockets (Depends-on): Likewise.
35516         * modules/ioctl (Depends-on): Add fd-hook.
35517         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
35518         GNULIB_SOCKET.
35520 2011-04-19  Bruno Haible  <bruno@clisp.org>
35522         Move the support of O_NONBLOCK in open() to the 'open' module.
35523         * modules/nonblocking (Depends-on): Remove 'open'.
35524         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
35525         gl_cv_have_open_O_NONBLOCK.
35526         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
35527         O_NONBLOCK support.
35528         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
35530 2011-04-17  Bruno Haible  <bruno@clisp.org>
35532         pipe2: Simplify code.
35533         * lib/pipe2.c (pipe2): Reduce code duplication.
35535 2011-04-17  Bruno Haible  <bruno@clisp.org>
35537         nonblocking: Add comment.
35538         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
35540 2011-04-17  Bruno Haible  <bruno@clisp.org>
35542         nonblocking: Add tests for sockets.
35543         * tests/test-nonblocking-socket.sh: New file.
35544         * tests/test-nonblocking-socket-main.c: New file.
35545         * tests/test-nonblocking-socket-child.c: New file.
35546         * tests/test-nonblocking-socket.h: New file.
35547         * tests/socket-server.h: New file.
35548         * tests/socket-client.h: New file.
35549         * modules/nonblocking-socket-tests: New file.
35550         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
35552 2011-04-17  Bruno Haible  <bruno@clisp.org>
35554         nonblocking: Add tests for pipes.
35555         * tests/test-nonblocking-pipe.sh: New file.
35556         * tests/test-nonblocking-pipe-main.c: New file.
35557         * tests/test-nonblocking-pipe-child.c: New file.
35558         * tests/test-nonblocking-pipe.h: New file.
35559         * tests/test-nonblocking-writer.h: New file.
35560         * tests/test-nonblocking-reader.h: New file.
35561         * tests/test-nonblocking-misc.h: New file.
35562         * modules/nonblocking-pipe-tests: New file.
35563         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
35565 2011-04-16  Bruno Haible  <bruno@clisp.org>
35567         gettext: Clarify the needed programmer actions.
35568         * modules/gettext (Notice): New field.
35569         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
35571 2011-04-16  Bruno Haible  <bruno@clisp.org>
35573         strchrnul: Tweak last commit.
35574         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
35575         bug.
35576         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
35577         as in _GL_FUNCDECL_SYS.
35578         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
35579         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
35581 2011-04-15  Eric Blake  <eblake@redhat.com>
35583         strchrnul: work around cygwin bug
35584         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
35585         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
35586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
35587         * modules/string (Makefile.am): Substitute it.
35588         * lib/string.in.h (strchrnul): Use it.
35590 2011-04-15  Bruno Haible  <bruno@clisp.org>
35592         Don't require lib/stdio-write.c when only module 'stdio' is used.
35593         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
35594         invocation.
35595         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
35597 2011-04-14  Bruno Haible  <bruno@clisp.org>
35599         Support non-blocking pipe I/O in read() on native Windows.
35600         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
35601         (read): New declaration.
35602         * lib/read.c: New file.
35603         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
35604         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
35605         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
35606         vscanf): New declarations.
35607         * lib/stdio-read.c: New file.
35608         * m4/read.m4: New file.
35609         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
35610         REPLACE_READ.
35611         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
35612         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
35613         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
35614         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
35615         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
35616         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
35617         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
35618         * modules/read: New file.
35619         * modules/nonblocking (Files): Add lib/stdio-read.c.
35620         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
35621         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
35622         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
35623         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
35624         * modules/pread (Depends-on): Add read.
35625         * modules/safe-read (Depends-on): Likewise.
35626         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
35627         gets, scanf, vfscanf, vscanf): Verify signatures.
35628         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
35629         problem with non-blocking pipes.
35630         * doc/posix-functions/fgetc.texi: Likewise.
35631         * doc/posix-functions/fgets.texi: Likewise.
35632         * doc/posix-functions/fread.texi: Likewise.
35633         * doc/posix-functions/fscanf.texi: Likewise.
35634         * doc/posix-functions/getc.texi: Likewise.
35635         * doc/posix-functions/getchar.texi: Likewise.
35636         * doc/posix-functions/gets.texi: Likewise.
35637         * doc/posix-functions/scanf.texi: Likewise.
35638         * doc/posix-functions/vfscanf.texi: Likewise.
35639         * doc/posix-functions/vscanf.texi: Likewise.
35641 2011-04-14  Bruno Haible  <bruno@clisp.org>
35643         Support non-blocking pipe I/O in write() on native Windows.
35644         * lib/write.c (rpl_write): Split a write request that failed merely
35645         because the byte count was larger than the pipe buffer's size.
35646         * doc/posix-functions/write.texi: Mention the problem with large byte
35647         counts.
35649 2011-04-14  Bruno Haible  <bruno@clisp.org>
35651         wchar: Ensure that wchar_t gets defined on uClibc.
35652         * lib/wchar.in.h: On uClibc, include <stddef.h>.
35653         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
35655 2011-04-13  Bruno Haible  <bruno@clisp.org>
35657         safe-write, full-read: Avoid unnecessary compilation units.
35658         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
35659         (Depends-on): Remove safe-read. Add ssize_t.
35660         * modules/full-read (Files): Add lib/full-write.c.
35661         (Depends-on): Add full-write.
35663 2011-04-13  Bruno Haible  <bruno@clisp.org>
35665         Support non-blocking pipe I/O and SIGPIPE in pwrite().
35666         * modules/pwrite (Depends-on): Add 'write'.
35668 2011-04-13  Bruno Haible  <bruno@clisp.org>
35670         Support non-blocking pipe I/O in write() on native Windows.
35671         * lib/unistd.in.h (write): Enable replacement also if
35672         GNULIB_UNISTD_H_NONBLOCKING is 1.
35673         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
35674         (rpl_write): When failing to write on a non-blocking pipe, change
35675         errno from ENOSPC to EAGAIN.
35676         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
35677         putchar, puts, vfprintf, vprintf): Enable replacement also if
35678         GNULIB_STDIO_H_NONBLOCKING is 1.
35679         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
35680         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
35681         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
35682         CALL_WITH_SIGPIPE_EMULATION.
35683         (CALL_WITH_SIGPIPE_EMULATION): Use them.
35684         * m4/nonblocking.m4: New file.
35685         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
35686         for non-blocking I/O support.
35687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35688         GNULIB_UNISTD_H_NONBLOCKING.
35689         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
35690         required for non-blocking I/O support.
35691         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
35692         * modules/nonblocking (Files): Add m4/nonblocking.m4,
35693         lib/stdio-write.c, m4/asm-underscore.m4.
35694         (Depends-on): Add stdio, unistd.
35695         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
35696         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
35697         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
35698         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
35699         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
35700         problem with non-blocking pipes.
35701         * doc/posix-functions/fputc.texi: Likewise.
35702         * doc/posix-functions/fputs.texi: Likewise.
35703         * doc/posix-functions/fwrite.texi: Likewise.
35704         * doc/posix-functions/printf.texi: Likewise.
35705         * doc/posix-functions/putc.texi: Likewise.
35706         * doc/posix-functions/putchar.texi: Likewise.
35707         * doc/posix-functions/puts.texi: Likewise.
35708         * doc/posix-functions/vfprintf.texi: Likewise.
35709         * doc/posix-functions/vprintf.texi: Likewise.
35710         * doc/posix-functions/write.texi: Likewise.
35712 2011-04-10  Jim Meyering  <meyering@redhat.com>
35714         maint.mk: prohibit doubled words
35715         Detect them also when they're separated by a newline.
35716         There are 3 ways to customize it:
35717           - disable the test on a per file basis, as usual with rules using
35718             $(VC_LIST_EXCEPT)
35719           - replace the default doubled-word-selecting regexp (affects all files)
35720           - ignore a particular file-vs-doubled-word match
35721         I nearly used that last one to ignore the "is is" match in
35722         coreutils' NEWS file, since the text was "ls -is is ..."
35723         To do that, I would have added this line to cfg.mk:
35724           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
35725         but it would have ignored any "is is" match in NEWS.
35726         Low probability, but still...
35727         Instead, I changed the text, slightly:
35728           -  ls -is is now consistent with ls -lis in ignoring values returned
35729           +  "ls -is" is now consistent with ls -lis in ignoring values returned
35730         * top/maint.mk (prohibit_double_word_RE_): Provide default.
35731         (prohibit_doubled_word_): Define.
35732         (sc_prohibit_doubled_word): New rule.
35733         (sc_prohibit_the_the): Remove.  Subsumed by the above.
35735 2011-04-10  Jim Meyering  <meyering@redhat.com>
35737         maint: fix doubled-word typo in comment
35738         * m4/gethostname.m4: s/is is/it is/
35739         * m4/getdomainname.m4: Likewise.
35741 2011-04-10  Jim Meyering  <meyering@redhat.com>
35743         maint: remove doubled word: s/it it/it/
35744         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
35746 2011-04-10  Jim Meyering  <meyering@redhat.com>
35748         maint.mk: remove useless semicolon and backslash
35749         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
35750         semicolon and backslash.
35752 2011-04-10  Bruno Haible  <bruno@clisp.org>
35754         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
35755         * modules/stdint-tests (Depends-on): Add wchar.
35757 2011-04-10  Jim Meyering  <meyering@redhat.com>
35759         maint: remove doubled words in comments, e.g., s/a a/a/
35760         * lib/strptime.c (day_of_the_week): s/the the/the/
35761         * tests/test-chown.h (test_chown): s/a a/a/
35763         test-chown.h: correct a cast
35764         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
35765         when the destination is a stat.st_gid.
35767 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
35769         getaddrinfo: Fix test for sa_len member.
35770         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
35771         include <sys/types.h> before <sys/socket.h>.
35773 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
35775         maint: change "can not" to "cannot"
35776         * doc/posix-functions/iconv.texi (iconv): This one crossed line
35777         boundaries.
35779 2011-04-09  Jim Meyering  <meyering@redhat.com>
35781         maint: change "a a" to "a"
35782         * tests/test-lchown.h (test_lchown): s/a a/a/
35784         maint.mk: prohibit \<the the\>
35785         * top/maint.mk (sc_prohibit_the_the): New rule.
35787         maint: fix "the the" in comment
35788         * lib/count-one-bits.h: s/the the/the/
35790         maint: change "can not" to "cannot"
35791         But do not change the occurrences in maintain.texi or in
35792         build-aux/po/Makefile.in.in, which I presume comes from gettext.
35793         * doc/gnulib-tool.texi: s/can not/cannot/
35794         * doc/posix-functions/accept.texi (accept): Likewise.
35795         * doc/posix-functions/socket.texi (socket): Likewise.
35796         * lib/mbrtowc.c: Likewise.
35798         maint.mk: prohibit use of "can not"
35799         * top/maint.mk (sc_prohibit_can_not): New rule.
35800         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
35802 2011-04-09  Bruno Haible  <bruno@clisp.org>
35804         careadlinkat: Guard against misuse of careadlinkatcwd.
35805         * lib/careadlinkat.c: Include <stdlib.h>.
35806         (careadlinkatcwd): Check that the fd argument is as expected.
35808 2011-04-09  Bruno Haible  <bruno@clisp.org>
35810         careadlinkat: Use common coding style.
35811         * lib/careadlinkat.c: Move gnulib includes after system includes.
35813 2011-04-09  Bruno Haible  <bruno@clisp.org>
35815         careadlinkat: Clarify specification.
35816         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
35817         (careadlinkatcwd): Add comment.
35818         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
35820 2011-04-09  Bruno Haible  <bruno@clisp.org>
35822         areadlinkat: Avoid link error on many platforms.
35823         * modules/areadlinkat (Depends-on): Add areadlink.
35825 2011-04-09  Bruno Haible  <bruno@clisp.org>
35827         allocator, careadlinkat: Fix double-inclusion guard.
35828         * lib/allocator.h: Fix double-inclusion guard.
35829         * lib/careadlinkat.h: Likewise.
35831 2011-04-09  Bruno Haible  <bruno@clisp.org>
35833         relocatable-prog-wrapper: Update after module 'areadlink' changed.
35834         * lib/relocwrapper.c: Update dependencies hierarchy.
35835         * build-aux/install-reloc: Update list of files to be compiled.
35836         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
35837         lib/allocator.[hc].
35839 2011-04-08  Eric Blake  <eblake@redhat.com>
35841         strftime: silence gnulib-tool warning
35842         * modules/strftime-tests (Depends-on): Drop automatic dependency.
35844 2011-04-08  Bruno Haible  <bruno@clisp.org>
35846         verify: Fix syntax error with GCC 4.6 in C++ mode.
35847         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
35848         (HAVE_STATIC_ASSERT): New macro.
35849         (verify_true, verify): Use 'static_assert' if it is supported and
35850         '_Static_assert' is not supported.
35852 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
35854         allocator: New module.
35855         * modules/allocator, lib/allocator.c: New files.
35856         * lib/allocator.h (stdlib_allocator): New decl.
35857         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
35858         Remove.  Do not include <stdlib.h>.
35859         (careadlinkat): Use stdlib_allocator instead of rolling our own.
35860         * modules/careadlinkat (Files): Remove lib/allocator.h.
35861         (Depends-on): Add allocator.
35863         stdlib: let modules use system malloc, realloc
35864         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
35865         if !_GL_USE_STDLIB_ALLOC.
35866         (malloc, realloc): Limit this change to a smaller scope.
35868         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
35869         (malloc, realloc): Don't #undef; no longer needed.
35870         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35871         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35872         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
35873         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35874         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35875         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35876         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
35877         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
35879         careadlinkat: rename members to avoid problem
35880         * lib/allocator.h (struct allocator): Rename members from
35881         malloc/realloc to allocate/reallocate, to avoid problems if malloc
35882         and realloc are #define'd.  Reported by Eric Blake in
35883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
35884         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
35886 2011-04-08  Eric Blake  <eblake@redhat.com>
35888         nonblocking: reduce dependency
35889         * tests/test-nonblocking.c: Only test sockets when in use.
35890         * modules/nonblocking-tests (Depends-on): Drop socket.
35891         (Makefile.am): Link even if sockets are not present.
35892         * modules/pipe2-tests (Makefile.am): Likewise.
35893         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
35895         pipe2: fix O_NONBLOCK support on mingw
35896         * modules/pipe2 (Depends-on): Add nonblocking.
35897         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
35898         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
35899         * tests/test-nonblocking.c (main): Likewise.
35900         * modules/pipe2-tests (Makefile.am): Avoid link failure.
35902         fcntl-h: fix O_ACCMODE on cygwin
35903         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
35904         * lib/fcntl.in.h (O_ACCMODE): Fix it.
35906         pipe-filter: drop O_NONBLOCK workarounds
35907         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
35908         * modules/pipe-filter-ii (Depends-on): Likewise.
35909         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
35911         nonblocking: provide O_NONBLOCK for mingw
35912         * modules/nonblocking (Depends-on): Add open.
35913         (configure.ac): Set new witness macro.
35914         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
35915         * modules/fcntl-h (Makefile.am): Substitute it.
35916         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
35917         nonblocking module is in use.
35918         * lib/nonblocking.c: Adjust portability test.
35919         * lib/open.c (open): Don't let native open see gnulib flag.
35920         * tests/test-fcntl-h.c (main): Enhance test.
35921         * tests/test-open.h (test_open): Likewise.
35922         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
35924         careadlinkat: fix compilation error on mingw
35925         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
35926         within struct allocator.
35928 2011-04-06  Eric Blake  <eblake@redhat.com>
35930         binary-io: relicense under LGPLv2+
35931         * modules/binary-io (License): Relax to LGPLv2+.
35932         Requested for libvirt, and required by pipe2.
35934 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
35936         verify: use _Static_assert if available
35937         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
35938         (verify_true, verify): Use it if available.  This generates better
35939         diagnostics with GCC 4.6.0 and later.
35941 2011-04-05  Bruno Haible  <bruno@clisp.org>
35943         Remove leftover generated .h files after config.status changed.
35945         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
35946         GL_GENERATE_ALLOCA_H.
35947         * modules/alloca-opt (Makefile.am): Remove alloca.h if
35948         GL_GENERATE_ALLOCA_H evaluates to false.
35950         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
35951         GL_GENERATE_ARGZ_H.
35952         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
35953         evaluates to false.
35955         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
35956         GL_GENERATE_BYTESWAP_H.
35957         * modules/byteswap (Makefile.am): Remove byteswap.h if
35958         GL_GENERATE_BYTESWAP_H evaluates to false.
35960         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
35961         GL_GENERATE_ERRNO_H.
35962         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
35963         evaluates to false.
35965         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
35966         GL_GENERATE_FLOAT_H.
35967         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
35968         evaluates to false.
35970         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
35971         GL_GENERATE_FNMATCH_H.
35972         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
35973         GL_GENERATE_FNMATCH_H evaluates to false.
35975         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
35976         GL_GENERATE_GLOB_H.
35977         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
35978         evaluates to false.
35980         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
35981         automake conditional GL_GENERATE_ICONV_H.
35982         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
35983         evaluates to false.
35985         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
35986         GL_GENERATE_NETINET_IN_H.
35987         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
35988         GL_GENERATE_NETINET_IN_H evaluates to false.
35990         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
35991         conditional GL_GENERATE_PTHREAD_H.
35992         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
35993         * modules/pthread (Makefile.am): Remove pthread.h if
35994         GL_GENERATE_PTHREAD_H evaluates to false.
35996         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
35997         GL_GENERATE_SCHED_H.
35998         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
35999         evaluates to false.
36001         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
36002         conditional GL_GENERATE_SELINUX_CONTEXT_H.
36003         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
36004         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
36006         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
36007         GL_GENERATE_STDARG_H.
36008         * modules/stdarg (Makefile.am): Remove stdarg.h if
36009         GL_GENERATE_STDARG_H evaluates to false.
36011         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
36012         GL_GENERATE_STDBOOL_H.
36013         * modules/stdbool (Makefile.am): Remove stdbool.h if
36014         GL_GENERATE_STDBOOL_H evaluates to false.
36016         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
36017         conditional GL_GENERATE_STDDEF_H.
36018         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
36019         * modules/stddef (Makefile.am): Remove stddef.h if
36020         GL_GENERATE_STDDEF_H evaluates to false.
36022         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
36023         GL_GENERATE_STDINT_H.
36024         * modules/stdint (Makefile.am): Remove stdint.h if
36025         GL_GENERATE_STDINT_H evaluates to false.
36027         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
36028         GL_GENERATE_SYSEXITS_H.
36029         * modules/sysexits (Makefile.am): Remove sysexits.h if
36030         GL_GENERATE_SYSEXITS_H evaluates to false.
36032         Reported by Karl Berry and Ralf Wildenhues.
36034 2011-04-05  Bruno Haible  <bruno@clisp.org>
36036         Ensure to rebuild generated .h files when config.status has changed.
36037         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
36038         config.status.
36039         * modules/ctype (Makefile.am): Likewise.
36040         * modules/dirent (Makefile.am): Likewise.
36041         * modules/errno (Makefile.am): Likewise.
36042         * modules/fcntl-h (Makefile.am): Likewise.
36043         * modules/float (Makefile.am): Likewise.
36044         * modules/getopt-posix (Makefile.am): Likewise.
36045         * modules/glob (Makefile.am): Likewise.
36046         * modules/iconv-h (Makefile.am): Likewise.
36047         * modules/inttypes (Makefile.am): Likewise.
36048         * modules/langinfo (Makefile.am): Likewise.
36049         * modules/locale (Makefile.am): Likewise.
36050         * modules/math (Makefile.am): Likewise.
36051         * modules/netdb (Makefile.am): Likewise.
36052         * modules/netinet_in (Makefile.am): Likewise.
36053         * modules/poll-h (Makefile.am): Likewise.
36054         * modules/pthread (Makefile.am): Likewise.
36055         * modules/pty (Makefile.am): Likewise.
36056         * modules/sched (Makefile.am): Likewise.
36057         * modules/search (Makefile.am): Likewise.
36058         * modules/selinux-h (Makefile.am): Likewise.
36059         * modules/signal (Makefile.am): Likewise.
36060         * modules/spawn (Makefile.am): Likewise.
36061         * modules/stdarg (Makefile.am): Likewise.
36062         * modules/stdbool (Makefile.am): Likewise.
36063         * modules/stddef (Makefile.am): Likewise.
36064         * modules/stdint (Makefile.am): Likewise.
36065         * modules/stdio (Makefile.am): Likewise.
36066         * modules/stdlib (Makefile.am): Likewise.
36067         * modules/string (Makefile.am): Likewise.
36068         * modules/strings (Makefile.am): Likewise.
36069         * modules/sys_file (Makefile.am): Likewise.
36070         * modules/sys_ioctl (Makefile.am): Likewise.
36071         * modules/sys_select (Makefile.am): Likewise.
36072         * modules/sys_socket (Makefile.am): Likewise.
36073         * modules/sys_stat (Makefile.am): Likewise.
36074         * modules/sys_time (Makefile.am): Likewise.
36075         * modules/sys_times (Makefile.am): Likewise.
36076         * modules/sys_utsname (Makefile.am): Likewise.
36077         * modules/sys_wait (Makefile.am): Likewise.
36078         * modules/sysexits (Makefile.am): Likewise.
36079         * modules/termios (Makefile.am): Likewise.
36080         * modules/time (Makefile.am): Likewise.
36081         * modules/unistd (Makefile.am): Likewise.
36082         * modules/wchar (Makefile.am): Likewise.
36083         * modules/wctype-h (Makefile.am): Likewise.
36084         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
36086 2011-04-05  Bruno Haible  <bruno@clisp.org>
36088         pipe2: Relicense under LGPLv2+.
36089         * modules/pipe2 (License): Change to LGPLv2+.
36090         Requested by Eric Blake, for libvirt.
36092 2011-04-05  Bruce Korb  <bkorb@gnu.org>
36094         bootstrap: compute gnulib_extra_files after updating build_aux
36095         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
36096         change build_aux or also supply gnulib_extra_files.  Handle correctly.
36098 2011-04-05  Eric Blake  <eblake@redhat.com>
36100         bootstrap: preserve git whitelist item sorting
36101         * build-aux/bootstrap (sort_patterns): New function.
36102         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
36104 2011-04-05  Simon Josefsson  <simon@josefsson.org>
36106         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
36107         sc_space_tab check.
36109 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
36111         areadlink, areadlinkat: rewrite in terms of careadlinkat
36112         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
36113         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
36114         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
36115         (malloc, realloc): Remove #undefs.
36116         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
36117         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
36118         readlink, ssize_t, stdint, unistd.
36119         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
36120         areadlink, stdint.
36122         careadlinkat: new module
36123         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
36124         * modules/careadlinkat: New files, written by me with
36125         a review and feedback from Ben Pfaff in
36126         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
36128 2011-04-01  Bruno Haible  <bruno@clisp.org>
36130         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
36131         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
36132         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
36133         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
36134         Reported by Bruce Korb <bruce.korb@gmail.com>.
36136 2011-04-01  Bruno Haible  <bruno@clisp.org>
36138         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
36139         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
36140         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
36141         * modules/wcpcpy (Depends-on): Add extensions.
36142         * modules/wcpncpy (Depends-on): Likewise.
36143         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
36144         systems.
36145         * doc/posix-functions/wcpncpy.texi: Likewise.
36146         * doc/posix-functions/wcwidth.texi: Likewise.
36148 2011-03-31  Eric Blake  <eblake@redhat.com>
36150         nonblocking: fix mingw test failures
36151         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
36152         non-blocking flag on regular file.
36153         (get_nonblocking_flag): Set errno on invalid fd.
36154         * tests/test-nonblocking.c (main): Avoid test failure on
36155         directories if fchdir is not active.
36156         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
36158 2011-03-31  Bruno Haible  <bruno@clisp.org>
36160         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
36161         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
36162         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
36163         Reported by Simon Josefsson <simon@josefsson.org>.
36165 2011-03-31  Bruno Haible  <bruno@clisp.org>
36166         and Eric Blake  <eblake@redhat.com>
36168         nonblocking: new module
36169         * modules/nonblocking: New module.
36170         * modules/nonblocking-tests: Likewise.
36171         * lib/nonblocking.h: New file.
36172         * lib/nonblocking.c: Likewise.
36173         * tests/test-nonblocking.c: New test.
36174         * lib/ioctl.c (ioctl) [mingw]: Update comment.
36176 2011-03-30  Bruno Haible  <bruno@clisp.org>
36178         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
36179         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
36180         instead of 'printf' format for GCC >= 4.4.
36181         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
36182         (fprintf, printf, vfprintf, vprintf): Declare with
36183         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
36184         the system's vfprintf() function.
36185         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
36187 2011-03-30  Eric Blake  <eblake@redhat.com>
36189         passfd: fix scoping bug
36190         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
36191         before sendmsg/recvmsg.
36193         passfd: standardize coding conventions
36194         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
36195         can be learned at compile time.
36196         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
36197         ifdefs.
36198         (sendfd, recvfd): Follow gnulib code conventions.
36200         passfd: fix incorrect sendmsg arguments
36201         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
36202         incorrect msg_controllen value.
36203         * modules/passfd-tests (Depends-on): Check for alarm.
36204         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
36205         Reported by Bastien ROUCARIES.
36207 2011-03-30  Bruno Haible  <bruno@clisp.org>
36209         c-strcasestr: Relicense under LGPLv2+.
36210         * modules/c-strcasestr (License): Change to LGPLv2+.
36211         Requested by Eric Blake, for libvirt.
36213 2011-03-30  Simon Josefsson  <simon@josefsson.org>
36215         * users.txt: Add libidn2.  Fix libtasn1 link.
36217 2011-03-30  Jim Meyering  <meyering@redhat.com>
36219         tests: readlink* ("",... fails with EINVAL on newer kernels
36220         readlink and readlinkat have typically failed with ENOENT for
36221         the invalid, empty file name,  "".  However, with the advent
36222         of linux-2.6.39, they fail with EINVAL.
36223         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
36224         when operating on the empty file name.
36225         * tests/test-readlink.h (test_readlink): Likewise.
36227 2011-03-29  Bruno Haible  <bruno@clisp.org>
36229         Relicense some modules under LGPLv2+, for libidn2.
36230         * modules/array-mergesort (License): Change to LGPLv2+.
36231         * modules/c-strcaseeq (License): Likewise.
36232         * modules/striconveh (License): Likewise.
36233         * modules/striconveha (License): Likewise.
36234         * modules/uniconv/base (License): Likewise.
36235         * modules/uniconv/u8-conv-from-enc (License): Likewise.
36236         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
36237         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
36238         * modules/unictype/base (License): Likewise.
36239         * modules/unictype/bidiclass-of (License): Likewise.
36240         * modules/unictype/category-M (License): Likewise.
36241         * modules/unictype/category-none (License): Likewise.
36242         * modules/unictype/category-of (License): Likewise.
36243         * modules/unictype/category-test (License): Likewise.
36244         * modules/unictype/category-test-withtable (License): Likewise.
36245         * modules/unictype/combining-class (License): Likewise.
36246         * modules/unictype/joiningtype-of (License): Likewise.
36247         * modules/unictype/scripts (License): Likewise.
36248         * modules/uninorm/base (License): Likewise.
36249         * modules/uninorm/canonical-decomposition (License): Likewise.
36250         * modules/uninorm/composition (License): Likewise.
36251         * modules/uninorm/decompose-internal (License): Likewise.
36252         * modules/uninorm/decomposition-table (License): Likewise.
36253         * modules/uninorm/nfc (License): Likewise.
36254         * modules/uninorm/nfd (License): Likewise.
36255         * modules/uninorm/u32-normalize (License): Likewise.
36256         * modules/unistr/base (License): Likewise.
36257         * modules/unistr/u32-cpy (License): Likewise.
36258         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
36259         * modules/unistr/u32-to-u8 (License): Likewise.
36260         * modules/unistr/u32-uctomb (License): Likewise.
36261         * modules/unistr/u8-check (License): Likewise.
36262         * modules/unistr/u8-mblen (License): Likewise.
36263         * modules/unistr/u8-mbtouc (License): Likewise.
36264         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
36265         * modules/unistr/u8-mbtoucr (License): Likewise.
36266         * modules/unistr/u8-prev (License): Likewise.
36267         * modules/unistr/u8-strlen (License): Likewise.
36268         * modules/unistr/u8-to-u32 (License): Likewise.
36269         * modules/unistr/u8-uctomb (License): Likewise.
36270         * modules/unitypes (License): Likewise.
36271         Requested by Simon Josefsson.
36273 2011-03-29  Simon Josefsson  <simon@josefsson.org>
36275         lib-symbol-visibility: Add a notice.
36276         * modules/lib-symbol-visibility (Notice): New field.
36278 2011-03-29  Bruno Haible  <bruno@clisp.org>
36280         getaddrinfo: Doc fix.
36281         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
36282         section "fixed in Gnulib".
36284 2011-03-28  Simon Josefsson  <simon@josefsson.org>
36286         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
36287         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
36289 2011-03-26  Bruno Haible  <bruno@clisp.org>
36291         unictype/property-byname: Reduce the number of load-time relocations.
36292         * lib/unictype/pr_byname.c: Include <stdlib.h>.
36293         (UC_PROPERTY_INDEX_*): New enumeration values.
36294         (uc_property_byname): Convert an index from the lookup table to an
36295         uc_property_t.
36296         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
36297         values.
36299 2011-03-26  Bruno Haible  <bruno@clisp.org>
36301         unictype/property-byname: Allow omitted word separators and aliases.
36302         * lib/unictype/pr_byname.gperf: Add property names without word
36303         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
36304         for 'space'.
36306 2011-03-26  Bruno Haible  <bruno@clisp.org>
36308         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
36309         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
36310         also hyphens to space.
36311         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
36312         without spaces.
36313         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
36315 2011-03-26  Bruno Haible  <bruno@clisp.org>
36317         unictype/joiningtype-byname: Recognize long names as well.
36318         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
36319         a long name.
36320         * lib/unictype/joiningtype_byname.c: Include <string.h>,
36321         unictype/joiningtype_byname.h.
36322         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
36323         * lib/unictype/joiningtype_byname.gperf: New file.
36324         * modules/unictype/joiningtype-byname (Files): Add
36325         lib/unictype/joiningtype_byname.gperf.
36326         (Depends-on): Add gperf.
36327         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
36328         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
36329         long names.
36331         Tests for module 'unictype/joiningtype-longname'.
36332         * modules/unictype/joiningtype-longname-tests: New file.
36333         * tests/unictype/test-joiningtype_longname.c: New file.
36335         New module 'unictype/joiningtype-longname'.
36336         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
36337         * lib/unictype/joiningtype_longname.c: New file.
36338         * modules/unictype/joiningtype-longname: New file.
36339         * modules/unictype/joiningtype-all (Depends-on): Add
36340         unictype/joiningtype-longname.
36342 2011-03-26  Bruno Haible  <bruno@clisp.org>
36344         unictype/bidiclass-byname: Recognize long names as well.
36345         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
36346         name.
36347         * lib/unictype/bidi_byname.c: Include <string.h>,
36348         unictype/bidi_byname.h.
36349         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
36350         * lib/unictype/bidi_byname.gperf: New file.
36351         * modules/unictype/bidiclass-byname (Files): Add
36352         lib/unictype/bidi_byname.gperf.
36353         (Depends-on): Add gperf.
36354         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
36355         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
36356         long names.
36358         Tests for module 'unictype/bidiclass-longname'.
36359         * modules/unictype/bidiclass-longname-tests: New file.
36360         * tests/unictype/test-bidi_longname.c: New file.
36362         New module 'unictype/bidiclass-longname'.
36363         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
36364         * lib/unictype/bidi_longname.c: New file.
36365         * modules/unictype/bidiclass-longname: New file.
36366         * modules/unictype/bidiclass-all (Depends-on): Add
36367         unictype/bidiclass-longname.
36369 2011-03-26  Bruno Haible  <bruno@clisp.org>
36371         unictype/bidi*: Rename modules.
36372         * modules/unictype/bidiclass-all: Renamed from
36373         modules/unictype/bidicategory-all.
36374         * modules/unictype/bidiclass-name: Renamed from
36375         modules/unictype/bidiclass-name.
36376         (Description): Update.
36377         * modules/unictype/bidiclass-name-tests: Renamed from
36378         modules/unictype/bidicategory-name-tests.
36379         * modules/unictype/bidiclass-byname: Renamed from
36380         modules/unictype/bidicategory-byname.
36381         (Description): Update.
36382         * modules/unictype/bidiclass-byname-tests: Renamed from
36383         modules/unictype/bidicategory-byname-tests.
36384         * modules/unictype/bidiclass-of: Renamed from
36385         modules/unictype/bidicategory-of.
36386         (Description): Update.
36387         * modules/unictype/bidiclass-of-tests: Renamed from
36388         modules/unictype/bidicategory-of-tests.
36389         * modules/unictype/bidiclass-test: Renamed from
36390         modules/unictype/bidicategory-test.
36391         (Description): Update.
36392         * modules/unictype/bidiclass-test-tests: Renamed from
36393         modules/unictype/bidicategory-test-tests.
36394         * modules/unictype/bidicategory-all: New file, a simple redirection.
36395         * modules/unictype/bidicategory-name: Likewise.
36396         * modules/unictype/bidicategory-byname: Likewise.
36397         * modules/unictype/bidicategory-of: Likewise.
36398         * modules/unictype/bidicategory-test: Likewise.
36399         * modules/unictype/property-bidi-* (Dependencies): Update.
36400         * lib/unictype/bidi_*.c: Update comment.
36402 2011-03-26  Bruno Haible  <bruno@clisp.org>
36404         unictype/bidi*: Rename functions, part 2.
36405         * modules/unictype/bidicategory-name (configure.ac): Update required
36406         libunistring version.
36407         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
36409 2011-03-25  Bruno Haible  <bruno@clisp.org>
36411         New module 'unictype/combining-class-all'.
36412         * modules/unictype/combining-class-all: New file.
36414         Tests for module 'unictype/combining-class-byname'.
36415         * modules/unictype/combining-class-byname-tests: New file.
36416         * tests/unictype/test-combiningclass_byname.c: New file.
36418         New module 'unictype/combining-class-byname'.
36419         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
36420         * lib/unictype/combiningclass_byname.c: New file.
36421         * lib/unictype/combiningclass_byname.gperf: New file.
36422         * modules/unictype/combining-class-byname: New file.
36424         Tests for module 'unictype/combining-class-longname'.
36425         * modules/unictype/combining-class-longname-tests: New file.
36426         * tests/unictype/test-combiningclass_longname.c: New file.
36428         New module 'unictype/combining-class-longname'.
36429         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
36430         * lib/unictype/combiningclass_longname.c: New file.
36431         * modules/unictype/combining-class-longname: New file.
36433         Tests for module 'unictype/combining-class-name'.
36434         * modules/unictype/combining-class-name-tests: New file.
36435         * tests/unictype/test-combiningclass_name.c: New file.
36437         New module 'unictype/combining-class-name'.
36438         * lib/unictype.in.h (uc_combining_class_name): New declaration.
36439         * lib/unictype/combiningclass_name.c: New file.
36440         * modules/unictype/combining-class-name: New file.
36442 2011-03-25  Bruno Haible  <bruno@clisp.org>
36444         unictype/combining-class: Rename source files.
36445         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
36446         of unictype/combining.h.
36447         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
36448         Update.
36449         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
36450         * modules/unictype/combining-class (Description): Fix.
36451         (Files, Makefile.am): Update.
36452         * tests/unictype/test-combiningclass.c: Renamed from
36453         tests/unictype/test-combining.c.
36454         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
36456 2011-03-25  Bruno Haible  <bruno@clisp.org>
36458         unictype: Update list of canonical combining classes.
36459         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
36461 2011-03-25  Bruno Haible  <bruno@clisp.org>
36463         unictype/category-byname: Recognize long names as well.
36464         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
36465         a long name.
36466         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
36467         unictype/categ_byname.h.
36468         (UC_CATEGORY_INDEX_*): New enumeration values.
36469         (uc_general_category_byname): Use uc_general_category_lookup and
36470         convert from index to value.
36471         * lib/unictype/categ_byname.gperf: New file.
36472         * modules/unictype/category-byname (Files): Add
36473         lib/unictype/categ_byname.gperf.
36474         (Depends-on): Add gperf.
36475         (Makefile.am): Add rule for generating unictype/categ_byname.h.
36476         * tests/unictype/test-categ_byname.c (main): Test the recognition of
36477         long names.
36479         Tests for module 'unictype/category-longname'.
36480         * modules/unictype/category-longname-tests: New file.
36481         * tests/unictype/test-categ_longname.c: New file.
36483         New module 'unictype/category-longname'.
36484         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
36485         * lib/unictype/categ_longname.c: New file.
36486         * modules/unictype/category-longname: New file.
36487         * modules/unictype/category-all (Depends-on): Add it.
36489 2011-03-25  Bruno Haible  <bruno@clisp.org>
36491         Tests for module 'unictype/category-LC'.
36492         * modules/unictype/category-LC-tests: New file.
36493         * tests/unictype/test-categ_LC.c: New file, automatically generated.
36495         New module 'unictype/category-LC'.
36496         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
36497         (UC_CATEGORY_LC): New declaration.
36498         (UC_CASED_LETTER): New macro.
36499         * lib/gen-uni-tables.c (is_category_LC): New function.
36500         (output_categories): Also handle category LC.
36501         (UC_CATEGORY_MASK_LC): New enumeration value.
36502         (general_category_byname): Also handle category LC.
36503         * lib/unictype/categ_LC.c: New file.
36504         * lib/unictype/categ_LC.h: New file, automatically generated.
36505         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
36506         category LC.
36507         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
36508         * modules/unictype/category-LC: New file.
36509         * modules/unictype/category-byname (Depends-on): Add
36510         unictype/category-LC.
36511         * modules/unictype/category-all (Depends-on): Likewise.
36513 2011-03-25  Eric Blake  <eblake@redhat.com>
36515         xmalloc: revert yesterday's regression
36516         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
36517         realloc's underlying behavior (allowing allocation of zero-size
36518         objects, especially if malloc-gnu is also in use).
36520 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
36522         maint.mk: add missing version to VC-tag
36523         * top/maint.mk: git tag was missing actual tag name; add it.
36525         valgrind: do leak checking, and exit with code 1 on error (not 0)
36526         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
36527         to VALGRIND.
36529 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
36531         posix-modules: say what it does.
36532         * posix-modules: Add a line to the --help output saying what it does.
36534 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
36536         xmalloc: Do not leak if underlying realloc is C99 compatible.
36537         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
36538         This avoids a leak on C99-based systems.  See
36539         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
36541 2011-03-24  Eric Blake  <eblake@redhat.com>
36543         realloc: document portability problem
36544         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
36545         passing 0 size to realloc.
36547 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
36549         doc: update users.txt
36550         * users.txt: Add cvsps, tmpwatch
36552 2011-03-23  Matt Rice  <ratmice@gmail.com>
36554         doc: update users.txt
36555         * users.txt: Add gdb.
36557 2011-03-23  Jim Meyering  <meyering@redhat.com>
36559         doc: update users.txt
36560         Looking through matches up to the following URL (there are still
36561         several more pages), I found several projects that use gnulib:
36562         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
36563         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
36564         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
36566 2011-03-22  Bruno Haible  <bruno@clisp.org>
36568         unictype/bidi*: Rename functions.
36569         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
36570         uc_bidi_class, uc_is_bidi_class): New declarations.
36571         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
36572         uc_bidi_category_byname.
36573         (uc_bidi_category_byname): New function.
36574         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
36575         u_bidi_category_name.
36576         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
36577         (uc_bidi_category_name): New function.
36578         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
36579         uc_bidi_category.
36580         (uc_bidi_category): New function.
36581         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
36582         uc_is_bidi_category. Invoke uc_bidi_class.
36583         (uc_is_bidi_category): New function.
36584         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
36585         instead of uc_bidi_category_byname.
36586         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
36587         instead of uc_bidi_category_name.
36588         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
36589         uc_bidi_category.
36590         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
36591         instead of uc_is_bidi_category.
36593 2011-03-21  Bruno Haible  <bruno@clisp.org>
36595         New module 'unictype/joininggroup-all'.
36596         * modules/unictype/joininggroup-all: New file.
36598         Tests for module 'unictype/joininggroup-of'.
36599         * modules/unictype/joininggroup-of-tests: New file.
36600         * tests/unictype/test-joininggroup_of.c: New file.
36601         * tests/unictype/test-joininggroup_of.h: New file, automatically
36602         generated by gen-uni-tables.
36604         New module 'unictype/joininggroup-of'.
36605         * modules/unictype/joininggroup-of: New file.
36606         * lib/unictype/joininggroup_of.c: New file.
36607         * lib/unictype/joininggroup_of.h: New file, automatically generated by
36608         gen-uni-tables.
36610         Tests for module 'unictype/joininggroup-byname'.
36611         * modules/unictype/joininggroup-byname-tests: New file.
36612         * tests/unictype/test-joininggroup_byname.c: New file.
36614         New module 'unictype/joininggroup-byname'.
36615         * modules/unictype/joininggroup-byname: New file.
36616         * lib/unictype/joininggroup_byname.c: New file.
36617         * lib/unictype/joininggroup_byname.gperf: New file.
36619         Tests for module 'unictype/joininggroup-name'.
36620         * modules/unictype/joininggroup-name-tests: New file.
36621         * tests/unictype/test-joininggroup_name.c: New file.
36623         New module 'unictype/joininggroup-name'.
36624         * modules/unictype/joininggroup-name: New file.
36625         * lib/unictype/joininggroup_name.c: New file.
36626         * lib/unictype/joininggroup_name.h: New file.
36628         New module 'unictype/joiningtype-all'.
36629         * modules/unictype/joiningtype-all: New file.
36631         Tests for module 'unictype/joiningtype-of'.
36632         * modules/unictype/joiningtype-of-tests: New file.
36633         * tests/unictype/test-joiningtype_of.c: New file.
36634         * tests/unictype/test-joiningtype_of.h: New file, automatically
36635         generated by gen-uni-tables.
36637         New module 'unictype/joiningtype-of'.
36638         * modules/unictype/joiningtype-of: New file.
36639         * lib/unictype/joiningtype_of.c: New file.
36640         * lib/unictype/joiningtype_of.h: New file, automatically generated by
36641         gen-uni-tables.
36643         Tests for module 'unictype/joiningtype-byname'.
36644         * modules/unictype/joiningtype-byname-tests: New file.
36645         * tests/unictype/test-joiningtype_byname.c: New file.
36647         New module 'unictype/joiningtype-byname'.
36648         * modules/unictype/joiningtype-byname: New file.
36649         * lib/unictype/joiningtype_byname.c: New file.
36651         Tests for module 'unictype/joiningtype-name'.
36652         * modules/unictype/joiningtype-name-tests: New file.
36653         * tests/unictype/test-joiningtype_name.c: New file.
36655         New module 'unictype/joiningtype-name'.
36656         * modules/unictype/joiningtype-name: New file.
36657         * lib/unictype/joiningtype_name.c: New file.
36659         unictype: Add support for Arabic shaping properties.
36660         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
36661         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
36662         declarations.
36663         (UC_JOINING_GROUP_*): New enumeration values.
36664         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
36665         declarations.
36666         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
36667         (unicode_joining_type): New variable.
36668         (UC_JOINING_GROUP_*): New enumeration values.
36669         (unicode_joining_group): New variable.
36670         (fill_arabicshaping, joining_type_as_c_identifier,
36671         output_joining_type_test, output_joining_type,
36672         joining_group_as_c_identifier, output_joining_group_test,
36673         output_joining_group): New functions.
36674         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
36675         fill_arabicshaping and output_joining_type_test, output_joining_type,
36676         output_joining_group_test, output_joining_group.
36677         Reported by Simon Josefsson.
36679 2011-03-21  Jim Meyering  <meyering@redhat.com>
36681         strftime: fix a bug in yesterday's change
36682         * lib/strftime.c (add): Accommodate width's initial value of -1.
36683         Otherwise, nstrftime would copy uninitialized data into
36684         the result buffer.
36686 2011-03-21  Jim Meyering  <meyering@redhat.com>
36688         tests: add strftime-tests module
36689         * tests/test-strftime.c: New file.
36690         * modules/strftime-tests: New module.
36692 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
36694         strftime: don't assume a byte count fits in 'int'
36695         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
36696         found this problem by static analysis, using gcc -Wstrict-overflow
36697         (GCC 4.5.2, x86-64).  This reported an optimization that depended
36698         on an integer overflow having undefined behavior, but it turns out
36699         that the argument is a size, which might not fit in 'int' anyway,
36701 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
36703         stdio: don't require ignore_value around fwrite
36705         This patch works around libc bug 11959
36706         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
36707         Without this patch, applications must often write
36708         ignore_value (fwrite (...)) even though the ignore_value is
36709         not helpful here.  It's common to write many objects, using
36710         fwrite/printf/etc., and then use ferror to detect output error.
36712         I considered making this patch optional, but decided against it,
36713         because libc is obviously being inconsistent here: there is no
36714         reason libc should insist that user code must inspect fwrite
36715         return's value without also insisting that it inspect printf's,
36716         putchar's, etc.  If user code wants to have a strict style where
36717         all these functions' values are checked (so that ferror need not
36718         be checked), we could add support for that style in a new gnulib
36719         module, but in the meantime it's better to be consistent and to
36720         support common usage.
36722         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
36723         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
36724         that we are compiling in checking mode, and if not C++, and
36725         if not already wrapping fwrite for some other reason.
36726         (fwrite): #define to rpl_fwrite if the latter is defined.
36728 2011-03-20  Bruno Haible  <bruno@clisp.org>
36730         verror: Fix compilation error introduced on 2011-02-13.
36731         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
36732         instead of __attribute__.
36733         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36735 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
36736             Bruno Haible  <bruno@clisp.org>
36738         socklen: do not depend on sys_socket
36739         While trying to modify Emacs to use gnulib's socklen module,
36740         I discovered a circular dependency: socklen depends on sys_socket
36741         and vice versa.  Emacs can use socklen, but it does not need
36742         sys_socket because it has its own substitute for sys/socket.h.
36743         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
36744         gl_TYPE_SOCKLEN_T.
36745         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
36746         gl_PREREQ_SYS_H_SOCKET.
36747         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
36748         gl_PREREQ_SYS_H_SOCKET.
36749         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
36750         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
36751         * modules/socklen (Depends-on): Do not depend on sys_socket.
36752         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
36754 2011-03-20  Jim Meyering  <meyering@redhat.com>
36756         maint.mk: sort file names *after* new transformation
36757         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
36758         prefix would have led to an unwarranted failure in GNU parted.
36759         Sort after that transformation.
36761 2011-03-19  Jim Meyering  <meyering@redhat.com>
36763         maint.mk: fix po-file syntax-check rule
36764         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
36765         Patch by Bruno Haible.
36767 2011-03-19  Bruno Haible  <bruno@clisp.org>
36769         socklen: Update comment.
36770         * m4/socklen.m4: Update comment about platforms.
36772 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36773             Bruno Haible  <bruno@clisp.org>
36775         inet_ntop, inet_pton: Simplify.
36776         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
36777         documented to provide socklen_t and we already depend on sys_socket.
36778         * modules/inet_pton (Depends-on): Likewise.
36779         * lib/arpa_inet.in.h: Adjust comment.
36781 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
36782             Bruno Haible  <bruno@clisp.org>
36784         netdb: Simplify.
36785         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
36786         documented to provide socklen_t and we already depend on sys_socket.
36787         * lib/netdb.in.h: Adjust comment.
36789 2011-03-19  Bruno Haible  <bruno@clisp.org>
36791         sys_socket, netdb: Document problem with socklen_t.
36792         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
36793         platforms.
36794         * doc/posix-headers/netdb.texi: Likewise.
36796 2011-03-18  Eric Blake  <eblake@redhat.com>
36798         maint.mk: let po check work in VPATH build
36799         * top/maint.mk (po_file): Allow cfg.mk override.
36800         (sc_po_check): Allow VPATH use.
36801         Reported by Jiri Denemark.
36803 2011-03-16  Jim Meyering  <meyering@redhat.com>
36805         maint.mk: allow fine-grained syntax-check exclusion via Make variables
36806         Before, you would have had to create one .x-sc_ file per rule in order
36807         to exempt offending files.  Now, you may instead use a Make variable --
36808         usually defined in cfg.mk -- whose name identifies the affected rule.
36809         * top/maint.mk (_sc_excl): Define.
36810         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
36811         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
36813 2011-03-13  Bruno Haible  <bruno@clisp.org>
36815         ignore-value tests: Avoid warnings.
36816         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
36817         empty for gcc < 3.4.
36819 2011-03-13  Bruno Haible  <bruno@clisp.org>
36821         passfd: Fix link error on Solaris.
36822         * modules/passfd (Description): Correct.
36823         (Depends-on): Add socketlib.
36824         (Link): New section.
36825         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
36827 2011-03-13  Bruno Haible  <bruno@clisp.org>
36829         passfd: Fix link error on AIX 5.2.
36830         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
36832 2011-03-13  Bruno Haible  <bruno@clisp.org>
36834         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
36835         * lib/sys_socket.in.h: Include <stddef.h>.
36836         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
36837         CMSG_FIRSTHDR. Remove unused variable.
36839 2011-03-13  Bruno Haible  <bruno@clisp.org>
36841         passfd: Fix compilation error on OpenBSD.
36842         * lib/passfd.c: Include <sys/uio.h>.
36844 2011-03-13  Bruno Haible  <bruno@clisp.org>
36846         passfd test: Fix warnings.
36847         * tests/test-passfd.c: Include <sys/wait.h>.
36848         (main): Fix typo.
36850 2011-03-13  Bruno Haible  <bruno@clisp.org>
36852         passfd module, part 4, tweaks.
36853         * tests/test-passfd.c: Reorder includes.
36854         (main): Fix perror and printf calls.
36856 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
36858         passfd module, part 4.
36859         * modules/passfd-tests: New file.
36860         * tests/test-passfd.c: New file.
36862 2011-03-13  Jim Meyering  <meyering@redhat.com>
36864         Makefile: rely on GNU make; derive syntax-check rule names
36865         Rather than requiring that each sc_ rule be listed as a dependent
36866         of "check", use features of GNU make to derive the list.
36867         * Makefile (syntax-check-rules): Define.
36868         (check): Depend on the new variable, not the hard-coded list.
36870 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
36871             Bruno Haible  <bruno@clisp.org>
36873         passfd module, part 3.
36874         * lib/passfd.h (recvfd): Add a flags argument.
36875         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
36876         (recvfd): Add a flags argument.
36877         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
36878         exists.
36879         * modules/passfd (Depends-on): Add cloexec.
36880         Suggested by Eric Blake.
36882 2011-03-13  Bruno Haible  <bruno@clisp.org>
36884         passfd module, part 2, tweaks.
36885         * modules/passfd (Files): Reorder.
36886         (Depends-on): Remove errno.
36887         (Include): Remove <sys/socket.h>, <sys/un.h>.
36888         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
36889         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
36890         specification header. Include <sys/socket.h> always. Don't include
36891         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
36892         (sendfd): Clarify that it sets errno when it fails.
36893         (recvfd): Fix specification.
36895 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
36897         passfd module, part 2.
36898         * modules/passfd: New file.
36899         * lib/passfd.h: New file.
36900         * lib/passfd.c: New file.
36902 2011-03-12  Bruno Haible  <bruno@clisp.org>
36904         wcswidth, mbswidth: Avoid integer overflow.
36905         * lib/wcswidth.c: Include <limits.h>.
36906         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
36907         * lib/mbswidth.c: Include <limits.h>.
36908         (mbsnwidth): Avoid 'int' overflow.
36909         Reported by Jim Meyering.
36911 2011-03-12  Bruno Haible  <bruno@clisp.org>
36913         futimens, utimensat: Avoid endless recursion on Solaris 10.
36914         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
36915         Solaris.
36916         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
36917         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
36919 2011-03-11  Jim Meyering  <meyering@redhat.com>
36921         maint.mk: relax a regexp to accommodate other formatting styles
36922         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
36923         between "ngettext" and the following "(".
36925 2011-03-11  Pádraig Brady  <P@draigBrady.com>
36927         maint.mk: suppress a false positive warning
36928         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
36929         diagnostics are marked with ngettext.
36931 2011-03-10  Eric Blake  <eblake@redhat.com>
36933         wchar: add explicit dependencies, for Tru64
36934         * modules/mbmemcasecoll (Depends-on): Add wchar.
36935         * modules/mbtowc (Depends-on): Likewise.
36936         * modules/vasnprintf (Depends-on): Likewise.
36937         * modules/unistdio/u-printf-args (Depends-on): Likewise.
36938         * modules/wctomb (Depends-on): Likewise.
36939         Reported by Peter O'Gorman.
36941 2011-03-08  Bruno Haible  <bruno@clisp.org>
36943         passfd module, part 1, tweaks.
36944         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
36945         Improve indentation. Improve AC_MSG_CHECKING messages.
36946         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
36947         gl_SOCKET_FAMILIES.
36949 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
36951         passfd module, part 1.
36952         * m4/afunix.m4: New file.
36953         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
36954         sockets.
36956 2011-03-08  Bruno Haible  <bruno@clisp.org>
36958         regex-quote: New API.
36959         * lib/regex-quote.h: Include <stdbool.h>.
36960         (struct regex_quote_spec): New type.
36961         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
36962         New declarations.
36963         (regex_quote_length, regex_quote_copy, regex_quote): Take a
36964         'const struct regex_quote_spec *' argument.
36965         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
36966         (pcre_special): New constant.
36967         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
36968         New functions.
36969         (regex_quote_length, regex_quote_copy, regex_quote): Take a
36970         'const struct regex_quote_spec *' argument.
36971         * modules/regex-quote (Depends-on): Add stdbool.
36972         * tests/test-regex-quote.c (check): Update for new API. Add test for
36973         anchored results.
36974         * NEWS: Mention the API change.
36975         Reported by Reuben Thomas and Eric Blake.
36977 2011-03-06  Bruno Haible  <bruno@clisp.org>
36979         regex-quote: Fix creation of POSIX extended regular expressions.
36980         * lib/regex-quote.c (ere_special): Add grouping and alternation
36981         operators.
36983 2011-03-05  Bruno Haible  <bruno@clisp.org>
36985         doc: Improve doc regarding autopoint vs. gnulib.
36986         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
36987         disable autopoint while running autoreconf.
36988         Suggested by Ralf Wildenhues.
36990 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36992         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
36993         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
36995 2011-03-03  Bruce Korb  <bkorb@gnu.org>
36997         parse-duration: remove xalloc.h dependency
36998         * lib/parse-duration.c (parse_period): handle NULL return from
36999         strdup instead of calling xstrdup().
37000         * modules/parse-duration: remove "xalloc" dependency
37002 2011-03-03  Matthew Booth  <mbooth@redhat.com>
37004         bootstrap: honor m4_base when running aclocal
37005         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
37007 2011-03-02  Jim Meyering  <meyering@redhat.com>
37009         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
37010         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
37011         on request from Matt Booth.
37013 2011-03-01  Eric Blake  <eblake@redhat.com>
37015         test-link: work on Hurd
37016         * tests/test-link.h (test_link): Hurd rejects linking directories
37017         with EISDIR instead of the POSIX-mandated EPERM.
37019 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
37021         stdio: simplify by moving files to printf-posix, sigpipe
37022         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
37023         since this symbol is needed only if printf is replaced.
37024         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
37025         Require gl_ASM_SYMBOL_PREFIX.
37026         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
37027         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
37028         (Depends-on): Add 'raise'.
37029         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
37030         * modules/stdio (Files): Remove lib/stdio-write.c,
37031         m4/asm-underscore.m4.
37032         (Depends-on): Remove 'raise'.
37034         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
37035         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
37036         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
37037         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
37039 2011-02-28  Bruno Haible  <bruno@clisp.org>
37041         localcharset: Assume ANSI C behaviour of free().
37042         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
37043         calling free().
37044         Suggested by Simon Josefsson <simon@josefsson.org>.
37046 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
37047             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
37048             Bruno Haible  <bruno@clisp.org>  (tiny change)
37050         On Cygwin, use /proc file system instead of win32 API.
37051         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
37052         Win32 file names.
37053         (DllMain): Simplify by removing Cygwin specific code.
37054         (find_shared_library_fullname): Use Linux specific implementation also
37055         for Cygwin.
37056         (get_shared_library_fullname): Update accordingly.
37057         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
37058         Win32 file names.
37059         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
37060         Cygwin specific code.
37062 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
37063             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
37065         Fix OpenMP flag detection for various Fortran compilers.
37066         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
37067         OpenMP-conditional compilation construct, to force compile
37068         failure with missing OpenMP flag.
37069         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
37071 2011-02-25  Eric Blake  <eblake@redhat.com>
37073         strstr: expand test coverage
37074         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
37075         compilation.
37076         * tests/test-memmem.c (main): Duplicate tests.
37077         * tests/test-strcasestr.c (main): Likewise.
37078         * tests/test-c-strcasestr.c (main): Likewise.
37080 2011-02-25  Jim Meyering  <meyering@redhat.com>
37082         maint.mk: detect missing-NL-at-EOF, too
37083         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
37084         it also detects when a file lacks a newline at EOF.
37085         (require_exactly_one_NL_at_EOF_): Renamed from
37086         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
37087         since people may well have .x-sc_... file names tied to the
37088         existing name.  Suggested by Eric Blake.
37090 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
37092         dirname: move m4/dos.m4 functionality into lib/dosname.h
37094         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
37095         extracts symbols from it, puts them into config.h; but it's much
37096         easier to use the symbols directly.  filename.h already does this,
37097         but it disagrees with dos.m4 in some respects.  This patch
37098         introduces a different include file dosname.h that packages up
37099         dos.m4, and then later we can work on merging filename.h and
37100         dosname.h.  Applications that need only the easy-to-configure
37101         symbols should consider including dosname.h rather than dirname.h.
37102         * NEWS: Mention incompatible changes.
37103         * m4/dos.m4: Remove.
37104         * lib/dosname.h, modules/dosname: New files.
37105         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
37106         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
37107         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
37108         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
37109         Include dosname.h, not dirname.h.
37110         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
37111         Include dosname.h, for definitions of symbols like ISSLASH
37112         that used to be in config.h.
37113         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
37114         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
37115         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37116         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
37117         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
37118         * modules/rmdir (Files): Likewise.
37119         * modules/stat (Files): Likewise.
37120         * modules/unlink (Files): Likewise.
37121         * modules/dirname-lgpl (Depends-on): Add dosname.
37122         * modules/lstat (Depends-on): Likewise.
37123         * modules/openat (Depends-on): Likewise.
37124         * modules/rmdir (Depends-on): Likewise.
37125         * modules/savewd (Depends-on): Likewise.
37126         * modules/stat (Depends-on): Likewise.
37127         * modules/unlink (Depends-on): Likewise.
37128         * modules/openat (Depends-on): Remove dirname-lgpl.
37129         * modules/savewd (Depends-on): Likewise.
37130         * tests/test-dirname.c: Do not use removed symbols like
37131         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
37132         the remaining symbols, e.g., ISSLASH ('\\').
37134 2011-02-25  Eric Blake  <eblake@redhat.com>
37136         strstr: revert patches that introduced bug and pessimization
37137         * lib/str-two-way.h: Add another reference.
37138         (two_way_short_needle, two_way_long_needle): Revert changes from
37139         2011-02-24; they pessimize search speed.
37140         (critical_factorization): Partially revert changes from
37141         2010-06-22; they violate the requirement that the left half of the
37142         needle be smaller than the period of the needle.
37144 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
37146         filenamecat: remove unnecessary dependency on dirname-lgpl
37147         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
37148         is no direct dependency, just an indirect one via filenamecat-lgpl.
37150         remove: remove unnecessary use of m4/dos.m4
37151         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
37152         * modules/remove (FILES): Remove m4/dos.m4.
37154         * lib/openat-proc.c: Don't include dirname.h; not needed.
37156         backupfile: remove unnecessary use of m4/dos.m4
37157         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
37158         of its symbols are used by the backupfile code.  backupfile.c does
37159         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
37160         for the rare case of programs that want all their backup file
37161         names to live within 8+3 limits, and dos.m4 doesn't address that.
37162         * modules/backupfile (Files): Remove m4/dos.m4.
37164 2011-02-24  Jim Meyering  <meyering@redhat.com>
37166         strstr: fix a bug whereby strstr would mistakenly return NULL
37167         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
37168         in period calculation.
37169         (two_way_long_needle): Likewise.
37170         The original problem was reported by Mike Stump in
37171         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
37172         Ralf Wildenhues provided the short needle and haystack.
37173         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
37174         Add a more involved test to trigger the bug in two_way_long_needle.
37176 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
37178         gnulib-tool: remove use of bold display in help screen
37179         * gnulib-tool (func_usage): Do not use bold display anymore in the
37180         help screen.  That was just meant to be a temporary emphasis for a
37181         backward-incompatible change.
37183 2011-02-23  Bruno Haible  <bruno@clisp.org>
37185         Fix misindentation of preprocessor directives.
37186         * lib/argp-namefrob.h: Reindent preprocessor directives.
37187         * lib/getopt_int.h (struct _getopt_data): Likewise.
37188         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
37189         * lib/vasnprintf.c (decode_long_double): Likewise.
37190         * tests/test-argmatch.c: Insert blank lines, for clarity.
37191         * tests/test-exclude.c: Likewise.
37193 2011-02-22  Bruno Haible  <bruno@clisp.org>
37195         ioctl: Fix for MacOS X in 64-bit mode.
37196         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
37197         value.
37198         Suggested by Eric Blake.
37199         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
37201 2011-02-22  Jim Meyering  <meyering@redhat.com>
37203         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
37204         * Makefile (sc_cpp_indent_check): Don't limit the check to files
37205         in lib/.
37207 2011-02-22  Eric Blake  <eblake@redhat.com>
37209         maint: avoid any CDPATH issue
37210         * Makefile (sc_cpp_indent_check): Anchor cd argument.
37212         maint: adjust cpp indentation for my modules, as well
37213         * Makefile (sc_cpp_indent_check): Add my name.
37214         * lib/fbufmode.c: Filter through cppi.
37215         * lib/fpurge.c: Likewise.
37216         * lib/freadable.c: Likewise.
37217         * lib/freading.c: Likewise.
37218         * lib/fwritable.c: Likewise.
37219         * lib/fwriting.c: Likewise.
37220         * lib/sigaction.c: Likewise.
37222 2011-02-22  Jim Meyering  <meyering@redhat.com>
37224         maint: adjust cpp indentation to reflect nesting depth
37225         I.e., in a block of code that begins with an unnested "#if",
37226         put one space between the "#" in column 1 and following token.
37227         For example,
37228         -#include <sys/vfs.h>
37229         +# include <sys/vfs.h>
37230         Do this only in .c files that are part of a module I maintain.
37231         * lib/linkat.c: Filter through cppi.
37232         * lib/nanosleep.c: Likewise.
37233         * lib/openat.c: Likewise.
37234         * lib/openat-die.c: Likewise.
37235         * lib/dup3.c: Likewise.
37236         * lib/fchownat.c: Likewise.
37237         * lib/flock.c: Likewise.
37238         * lib/fsync.c: Likewise.
37239         * lib/fts.c: Likewise.
37240         * lib/getpass.c: Likewise.
37241         * lib/gettimeofday.c: Likewise.
37242         * lib/userspec.c: Likewise.
37243         * Makefile (sc_cpp_indent_check): New rule, to check this.
37245 2011-02-22  Bruno Haible  <bruno@clisp.org>
37247         New module 'wctomb'.
37248         * lib/stdlib.in.h (wctomb): New declaration.
37249         * lib/wctomb.c: New file.
37250         * lib/wctomb-impl.h: New file.
37251         * m4/wctomb.m4: New file.
37252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
37253         REPLACE_WCTOMB.
37254         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
37255         REPLACE_WCTOMB.
37256         * modules/wctomb: New file.
37257         * tests/test-stdlib-c++.cc: Test signature of wctomb.
37258         * doc/posix-functions/wctomb.texi: Mention the new module.
37259         * modules/wctob (Depends-on): Add wctomb.
37261 2011-02-22  Bruno Haible  <bruno@clisp.org>
37263         New module 'mbtowc'.
37264         * lib/stdlib.in.h (mbtowc): New declaration.
37265         * lib/mbtowc.c: New file.
37266         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
37267         * m4/mbtowc.m4: New file.
37268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
37269         REPLACE_MBTOWC.
37270         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
37271         REPLACE_MBTOWC.
37272         * modules/mbtowc: New file.
37273         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
37274         * doc/posix-functions/mbtowc.texi: Mention the new module.
37275         * modules/btowc (Depends-on): Add mbtowc.
37277 2011-02-22  Bruno Haible  <bruno@clisp.org>
37279         wcrtomb: Add more tests for native Windows platforms.
37280         * tests/test-wcrtomb-w32-1.sh: New file.
37281         * tests/test-wcrtomb-w32-2.sh: New file.
37282         * tests/test-wcrtomb-w32-3.sh: New file.
37283         * tests/test-wcrtomb-w32-4.sh: New file.
37284         * tests/test-wcrtomb-w32-5.sh: New file.
37285         * tests/test-wcrtomb-w32.c: New file.
37286         * modules/wcrtomb-tests (Files): Add them.
37287         (Makefile.am): Arrange to run these tests.
37288         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
37289         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
37291 2011-02-20  Bruno Haible  <bruno@clisp.org>
37293         wcrtomb: Enhance test.
37294         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
37296 2011-02-20  Bruno Haible  <bruno@clisp.org>
37298         mbrtowc: Tiny optimization.
37299         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
37301 2011-02-20  Jim Meyering  <meyering@redhat.com>
37303         test-exclude.c: remove unmatched #endif
37304         * tests/test-exclude.c: Remove stray #endif, left over from
37305         the change of a week ago.
37307 2011-02-19  Jim Meyering  <meyering@redhat.com>
37309         git-version-gen: skip "-dirty" check when appropriate
37310         * build-aux/git-version-gen: Don't run any git commands when the
37311         version string comes from .tarball-version.  Prior to this, we
37312         would run git update-index --refresh even from a just-unpacked
37313         tarball directory, and that could affect a .git/ directory in a
37314         parent of the build directory.  Reported by Mike Frysinger.
37316 2011-02-19  Bruno Haible  <bruno@clisp.org>
37318         unictype/property-byname: Reduce the size of the 'data' segment.
37319         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
37321 2011-02-19  Bruno Haible  <bruno@clisp.org>
37323         unictype/scripts: Reduce the size of the 'data' segment.
37324         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
37325         '%pic'.
37326         * lib/unictype/scripts_byname.gperf: Regenerated.
37328 2011-02-19  Bruno Haible  <bruno@clisp.org>
37330         stdint: Update documentation.
37331         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
37333 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
37335         stdint: omit redundant check for wchar.h
37336         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
37337         always tests whether wchar.h exists, so remove the now-redundant test.
37339 2011-02-18  Bruno Haible  <bruno@clisp.org>
37341         stdint: Cut dependency to module 'wchar'.
37342         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
37343         include the necessary prerequisites.
37344         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
37345         * modules/stdint (Depends-on): Remove wchar.
37346         (Makefile.am): Substitute HAVE_WCHAR_H.
37347         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
37349 2011-02-18  Eric Blake  <eblake@redhat.com>
37351         longlong: skip, rather than fail, on cross-compilation
37352         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
37353         when cross-compiling; regression from 2011-02-16.
37355 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
37357         * NEWS: Mention 2011-02-08 change to stdlib.
37359 2011-02-17  Bruno Haible  <bruno@clisp.org>
37361         getloadavg: Add comments about platforms.
37362         * m4/getloadavg.m4: Add comment.
37363         * lib/getloadavg.c: Likewise.
37365 2011-02-17  Bruno Haible  <bruno@clisp.org>
37367         getloadavg: Fix link error on Solaris 2.6.
37368         * modules/getloadavg (Link): New section.
37369         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
37370         linking test-getloadavg.
37371         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
37372         getloadavg.
37374 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
37376         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
37377         It was 'int', but this doesn't match the IRIX 6.5 manual.
37378         Suggested by Bruno Haible in
37379         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
37381 2011-02-17  Bruno Haible  <bruno@clisp.org>
37383         havelib: Fix comments.
37384         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
37385         change.
37387 2011-02-17  Bruno Haible  <bruno@clisp.org>
37389         havelib: Update config.rpath.
37390         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
37392 2011-02-17  Bruno Haible  <bruno@clisp.org>
37394         getloadavg test: Add some plausibility checks.
37395         * tests/test-getloadavg.c (check_avg): Print a warning when the value
37396         is improbable.
37398 2011-02-16  Eric Blake  <eblake@redhat.com>
37400         maintainer-makefile: make syntax-check a no-op from tarballs
37401         * top/maint.mk (no-vc-detected): New rule.
37402         (local-checks-available): Use it to avoid hanging if someone tries
37403         'make syntax-check' from a tarball.  Also append to any non-syntax
37404         checks already defined in cfg.mk.
37406 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
37408         longlong: tune, particularly for common case of c99
37410         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
37411         or running anything if c99, or if unsigned long long int does not
37412         work.  In either case, we know the answer without further tests.
37413         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
37414         it at most once, and use its results for both long long int and
37415         unsigned long long int.  This is more likely to be efficient in
37416         the common case where the program wants to check for both long
37417         long int and unsigned long long int.
37418         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
37419         since the answer is already known.
37421 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
37423         getloadavg: set errno
37424         * lib/getloadavg.c: Set errno when returning -1.  If no other
37425         error number looks appropriate, set it to ENOSYS if the getloadavg
37426         looks like it can't possibly ever work, ENOTSUP otherwise.
37427         Suggested by Bruno Haible in
37428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
37430         getloadavg: trim unused parts and speed up 'configure'
37431         * NEWS: Document this.
37432         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
37433         always compiled if getloadavg is absent.
37434         Move test code to ...
37435         * tests/test-getloadavg.c: New file, containing previous
37436         contents of test from lib/getloadavg.c.  It also contains
37437         suggestions by Bruno Haible in
37438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
37439         * modules/getloadavg-tests: New file.
37440         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
37441         Do tests in the same order as they're needed for getloadavg.c.
37442         Omit setgid-related tests that generate symbols KMEM_GROUP,
37443         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
37444         Do only the tests that are needed to see whether the system has
37445         getloadavg, moving the other tests into ...
37446         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
37447         NLIST_NAME_UNION; nobody should be using it.  Do not define
37448         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
37449         relevant, as the user of this module shouldn't care how getloadavg
37450         is implemented.
37452         getloadavg: omit unused var
37453         * lib/getloadavg.c (getloadavg): Omit unused local variable.
37455 2011-02-15  Jim Meyering  <meyering@redhat.com>
37457         doc: update users.txt
37458         * users.txt: Update iwhd's URL.
37460 2011-02-13  Bruno Haible  <bruno@clisp.org>
37462         Consistent macro naming for macros that use GCC __attribute__.
37463         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
37464         _ATTRIBUTE_NONNULL_.
37465         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
37466         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
37467         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
37468         ATTRIBUTE_DEPRECATED.
37469         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
37470         ATTRIBUTE_NORETURN.
37471         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
37472         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
37473         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
37474         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
37475         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
37476         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
37477         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
37478         ATTRIBUTE_SENTINEL.
37479         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
37480         ATTRIBUTE_RETURN_CHECK.
37481         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
37482         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
37483         ATTRIBUTE_NORETURN.
37484         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
37485         Reported by Paul Eggert.
37487 2011-02-13  Bruno Haible  <bruno@clisp.org>
37489         Don't interfere with a program's definition of __attribute__.
37490         * lib/argp.h (__attribute__): Remove definition.
37491         (_GL_ATTRIBUTE_FORMAT): New macro.
37492         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
37493         * lib/argp-fmtstream.h (__attribute__): Remove definition.
37494         (_GL_ATTRIBUTE_FORMAT): New macro.
37495         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
37496         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
37497         GCC 3 or newer.
37498         * lib/error.h (__attribute__): Remove definition.
37499         (_GL_ATTRIBUTE_FORMAT): New macro.
37500         (error, error_at_line): Use it.
37501         * lib/hash.h (__attribute__): Remove definition.
37502         (ATTRIBUTE_WUR): Update definition. Define always.
37503         * lib/openat.h (__attribute__): Remove definition.
37504         (ATTRIBUTE_NORETURN): Update definition. Define always.
37505         * lib/sigpipe-die.h (__attribute__): Remove definition.
37506         (ATTRIBUTE_NORETURN): Update definition. Define always.
37507         * lib/vasnprintf.h (__attribute__): Remove definition.
37508         (_GL_ATTRIBUTE_FORMAT): New macro.
37509         (asnprintf, vasnprintf): Use it.
37510         * lib/xalloc.h (__attribute__): Remove definition.
37511         (ATTRIBUTE_NORETURN): Update definition. Define always.
37512         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
37513         * lib/xmemdup0.h (__attribute__): Remove definition.
37514         (ATTRIBUTE_NORETURN): Update definition. Define always.
37515         * lib/xprintf.h (__attribute__): Remove definition.
37516         (_GL_ATTRIBUTE_FORMAT): New macro.
37517         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
37518         * lib/xstrtol.h (__attribute__): Remove definition.
37519         (ATTRIBUTE_NORETURN): Update definition. Define always.
37520         * lib/xvasprintf.h (__attribute__): Remove definition.
37521         (_GL_ATTRIBUTE_FORMAT): New macro.
37522         (xasprintf, xvasprintf): Use it.
37523         * tests/test-argmatch.c (__attribute__): Remove definition.
37524         (ATTRIBUTE_NORETURN): Update definition. Define always.
37525         * tests/test-exclude.c (__attribute__): Remove definition.
37526         (ATTRIBUTE_NORETURN): Update definition. Define always.
37527         Reported by Paul Eggert.
37529 2011-02-13  Bruno Haible  <bruno@clisp.org>
37531         mbrtowc: Add more tests for native Windows platforms.
37532         * tests/test-mbrtowc-w32-1.sh: New file.
37533         * tests/test-mbrtowc-w32-2.sh: New file.
37534         * tests/test-mbrtowc-w32-3.sh: New file.
37535         * tests/test-mbrtowc-w32-4.sh: New file.
37536         * tests/test-mbrtowc-w32-5.sh: New file.
37537         * tests/test-mbrtowc-w32.c: New file.
37538         * modules/mbrtowc-tests (Files): Add them.
37539         (Makefile.am): Arrange to run these tests.
37540         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
37541         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
37543 2011-02-13  Bruno Haible  <bruno@clisp.org>
37545         mbrtowc: Work around native Windows bug.
37546         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
37547         guess when no suitable locale for testing was found.
37548         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
37550 2011-02-13  Bruno Haible  <bruno@clisp.org>
37552         mbsinit: Work around mingw bug.
37553         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
37554         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
37555         Windows.
37556         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
37558 2011-02-13  Bruno Haible  <bruno@clisp.org>
37560         mbsinit: Don't crash for a NULL argument.
37561         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
37562         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
37564 2011-02-13  Bruno Haible  <bruno@clisp.org>
37566         Don't interfere with a program's definition of __attribute__.
37567         * lib/stdio.in.h (__attribute__): Remove definition.
37568         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
37569         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
37570         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
37571         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
37572         * lib/string.in.h (__attribute__): Remove definition.
37573         Reported by Paul Eggert.
37575 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
37577         stdlib: don't get in the way of non-GCC __attribute__
37578         See thread starting at
37579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
37580         Revert previous stdlib change, installing the following instead:
37581         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
37582         to get in the way of a non-GCC compiler that supports __attribute__.
37583         (_GL_ATTRIBUTE_RETURN): New macro.
37584         (_Exit): Use it instead of __attribute__.
37586 2011-02-12  Bruno Haible  <bruno@clisp.org>
37588         quotearg test: Avoid test failure on mingw.
37589         * tests/test-quotearg.sh: Convert the locale identifier from native
37590         Windows syntax to Unix syntax.
37592 2011-02-12  Bruno Haible  <bruno@clisp.org>
37594         setlocale: Prefer gnulib's override over libintl's override.
37595         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
37596         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
37597         GNULIB_defined_setlocale is set.
37599 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
37601         stdlib: support non-GCC __attribute__
37603         Fix a serious and tricky problem encountered when attempting to
37604         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
37605         5.5, but it crashed due to memory corruption on Solaris 10 with
37606         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
37607         bits that are otherwise zero.  This tagging is optional inside
37608         Emacs but is preferred and is used when __attribute__ ((__aligned
37609         (8))) works, as it does with both recent-enough GCC and with Sun C
37610         5.11.  However, Sun C 5.11 is not GCC and does not #define
37611         __GNUC__ and __GNUC_MINOR__.
37613         When I added the getloadavg module to Emacs, it brought in
37614         stdlib.in.h, which contained this fragment:
37616            #ifndef __attribute__
37617            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
37618            #  define __attribute__(Spec)   /* empty */
37619            # endif
37620            #endif
37622         When files that include <stdlib.h> were compiled with Sun C 5.11,
37623         the above code disabled __attribute__ ((__aligned (8))), which
37624         caused variables to not be properly aligned, which eventually led
37625         to the pointer corruption mentioned above.  (This was a bit hard
37626         to diagnose, unfortunately.)
37628         Several "#define __attribute__(X) /* empty */" code snippets need
37629         to be eradicated from Gnulib to work with non-GCC compilers that
37630         support __attribute__.  The Autoconf way to do this is to test for
37631         each kind of attribute that we want support for, and selectively
37632         enable that in source code.
37634         Fix this problem just for stdlib.h, by adding a test for the
37635         __noreturn__ attribute, and change stdlib.in.h to use that test
37636         when needed.  This technique can be easily generalized to the
37637         other *.in.h files and attributes, and a similar technique can be
37638         used for *.h and *.c files.  This patch is enough to solve the
37639         problem for Emacs + getloadavg, and I thought I'd publish it for
37640         feedback before undertaking further, similar fixes in other
37641         modules.
37643         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
37644         because it's not needed for stdlib.h.  It merely substitutes the
37645         value directly into stdlib.h.  We may well need to #define it, or
37646         similar symbols, for other modules, but it's nice to also have an
37647         option to not #define it for applications like Emacs that do not
37648         need it.
37650         * lib/stdlib.in.h (__attribute__): Do not #define.
37651         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
37652         be defined only if the _Exit module is also used.
37653         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
37654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
37655         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
37656         platforms.
37657         * modules/_Exit (Files): Add m4/attribute.m4.
37658         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
37659         * m4/attribute.m4: New file.
37661 2011-02-12  Bruno Haible  <bruno@clisp.org>
37663         wcsrtombs: Work around bug on native Windows.
37664         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
37665         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
37666         instead of len.
37667         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
37669 2011-02-12  Bruno Haible  <bruno@clisp.org>
37671         mbsrtowcs: Work around bug on native Windows.
37672         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
37673         against mingw bug.
37674         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
37676 2011-02-12  Bruno Haible  <bruno@clisp.org>
37678         Avoid setlocale bugs in tests.
37679         * modules/btowc (Dependencies): Add setlocale.
37680         * modules/c-strcase (Dependencies): Likewise.
37681         * modules/mbmemcasecmp (Dependencies): Likewise.
37682         * modules/mbmemcasecoll (Dependencies): Likewise.
37683         * modules/mbrtowc (Dependencies): Likewise.
37684         * modules/mbscasecmp (Dependencies): Likewise.
37685         * modules/mbscasestr (Dependencies): Likewise.
37686         * modules/mbschr (Dependencies): Likewise.
37687         * modules/mbscspn (Dependencies): Likewise.
37688         * modules/mbsinit (Dependencies): Likewise.
37689         * modules/mbsncasecmp (Dependencies): Likewise.
37690         * modules/mbsnrtowcs (Dependencies): Likewise.
37691         * modules/mbspbrk (Dependencies): Likewise.
37692         * modules/mbspcasecmp (Dependencies): Likewise.
37693         * modules/mbsrchr (Dependencies): Likewise.
37694         * modules/mbsrtowcs (Dependencies): Likewise.
37695         * modules/mbsspn (Dependencies): Likewise.
37696         * modules/mbsstr (Dependencies): Likewise.
37697         * modules/nl_langinfo (Dependencies): Likewise.
37698         * modules/quotearg (Dependencies): Likewise.
37699         * modules/unicase/locale-language (Dependencies): Likewise.
37700         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
37701         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
37702         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
37703         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
37704         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
37705         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
37706         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
37707         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
37708         * modules/vasnprintf-posix (Dependencies): Likewise.
37709         * modules/wcrtomb (Dependencies): Likewise.
37710         * modules/wcsnrtombs (Dependencies): Likewise.
37711         * modules/wcsrtombs (Dependencies): Likewise.
37713 2011-02-12  Bruno Haible  <bruno@clisp.org>
37715         setlocale: Workaround native Windows bug.
37716         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
37717         succeeds but sets LC_CTYPE to "C", report a failure.
37718         * tests/test-setlocale2.sh: New file.
37719         * tests/test-setlocale2.c: New file.
37720         * modules/setlocale-tests (Files): Add the new files.
37721         (Makefile.am): Enable test-setlocale2.sh test.
37722         * doc/posix-functions/setlocale.texi: Mention workaround.
37724 2011-02-11  Bruno Haible  <bruno@clisp.org>
37726         Tests for module 'setlocale'.
37727         * modules/setlocale-tests: New file.
37728         * tests/test-setlocale1.sh: New file.
37729         * tests/test-setlocale1.c: New file.
37731         New module 'setlocale'.
37732         * lib/locale.in.h (setlocale): New declaration.
37733         * lib/setlocale.c: New file, based on
37734         gettext/gettext-runtime/intl/setlocale.c.
37735         * m4/setlocale.m4: New file.
37736         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
37737         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
37738         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
37739         REPLACE_SETLOCALE.
37740         * modules/setlocale: New file.
37741         * tests/test-locale-c++.cc: Test the declaration of setlocale.
37742         * doc/posix-functions/setlocale.texi: Mention the new module.
37744 2011-02-11  Bruno Haible  <bruno@clisp.org>
37746         Prepare for locale dependent tests on mingw.
37747         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
37748         because it has the wrong locale encoding.
37749         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
37750         French_France.1252 instead of "fr".
37751         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
37752         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
37753         because it has the wrong locale encoding.
37754         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
37755         native Windows, try Turkish_Turkey.65001.
37756         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
37757         Chinese_China.54936.
37759         Prepare for locale dependent tests on mingw.
37760         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
37761         differently.
37762         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
37763         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
37764         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
37765         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
37767 2011-02-11  Eric Blake  <eblake@redhat.com>
37769         strptime: avoid compiler warnings
37770         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
37771         compiler warnings about dead code.
37772         Reported by Daniel P. Berrange.
37774 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
37776         doc: update users.txt
37777         * users.txt: Add rcs.
37779 2011-02-10  John W. Eaton  <jwe@gnu.org>
37781         doc: update users.txt
37782         * users.txt: Add octave.
37784 2011-02-10  Jim Meyering  <meyering@redhat.com>
37786         doc: update users.txt
37787         * users.txt: Add iwhd.
37789 2011-02-09  Bruno Haible  <bruno@clisp.org>
37791         gnulib-tool: Make copyright notice adjustment more robust.
37792         * gnulib-tool (func_import): In sed_transform_main_lib_file,
37793         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
37794         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
37795         License".
37796         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
37798 2011-02-06  Bruno Haible  <bruno@clisp.org>
37800         New module 'towctrans'.
37801         * modules/towctrans: New file.
37802         * lib/wctype.in.h (towctrans): New declaration.
37803         * lib/towctrans.c: New file.
37804         * lib/towctrans-impl.h: New file.
37805         * m4/towctrans.m4: New file.
37806         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
37807         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
37808         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
37809         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
37810         * doc/posix-functions/towctrans.texi: Mention the new module.
37812 2011-02-06  Bruno Haible  <bruno@clisp.org>
37814         New module 'wctrans'.
37815         * modules/wctrans: New file.
37816         * lib/wctype.in.h (wctrans): New declaration.
37817         * lib/wctrans.c: New file.
37818         * lib/wctrans-impl.h: New file.
37819         * m4/wctrans.m4: New file.
37820         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
37821         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
37822         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
37823         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
37824         * doc/posix-functions/wctrans.texi: Mention the new module.
37826 2011-02-06  Bruno Haible  <bruno@clisp.org>
37828         New module 'iswctype'.
37829         * modules/iswctype: New file.
37830         * lib/wctype.in.h (iswctype): New declaration.
37831         * lib/iswctype.c: New file.
37832         * lib/iswctype-impl.h: New file.
37833         * m4/iswctype.m4: New file.
37834         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
37835         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
37836         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
37837         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
37838         * doc/posix-functions/iswctype.texi: Mention the new module and the
37839         HP-UX 11.00 problem.
37841 2011-02-06  Bruno Haible  <bruno@clisp.org>
37843         New module 'wctype'.
37844         * modules/wctype: Change to represent the wctype() substitute.
37845         * lib/wctype.in.h (wctype): New declaration.
37846         * lib/wctype.c: New file.
37847         * lib/wctype-impl.h: New file.
37848         * m4/wctype.m4: New file.
37849         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
37850         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
37851         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
37852         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
37853         * doc/posix-functions/wctype.texi: Mention the new module and the
37854         HP-UX 11.00 problem.
37856 2011-02-06  Bruno Haible  <bruno@clisp.org>
37858         wctype-h: Ensure wctype_t and wctrans_t are defined.
37859         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
37860         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
37861         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
37862         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
37863         HAVE_WCTRANS_T.
37864         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
37866 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
37868         flock: fix license typo
37870         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
37871         omitted.
37873 2011-02-08  Bruno Haible  <bruno@clisp.org>
37875         Split large sed scripts, for HP-UX sed.
37876         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
37877         to avoid HP-UX limit of 99 commands, in the near future.
37878         * modules/stdlib (Makefile.am): Likewise.
37879         * modules/unistd (Makefile.am): Likewise.
37880         * modules/wchar (Makefile.am): Likewise.
37881         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37882         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
37883         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
37885 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
37886             Bruno Haible  <bruno@clisp.org>
37888         stdlib: improve random_r modularization
37889         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
37890         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
37891         you also need the random_r module to get this material right.
37892         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
37893         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
37894         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
37896 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
37898         stdlib: don't depend on stdint
37899         * lib/stdlib.in.h: Don't include <stdint.h> merely because
37900         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
37901         be independent of whether stdint.h is needed.
37902         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
37903         here, instead of ...
37904         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
37905         struct random_data should be using the random_r module, not just
37906         the stdlib module (which wouldn't make sense: what package needs
37907         just struct random_data without also needing random_r?).
37908         * modules/stdlib (Depends-on): Remove stdint.
37910         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
37911         See the thread rooted at
37912         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
37913         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
37914         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
37915         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
37916         __VMS)); previously it was always included (via fcntl--.h).
37917         (getloadavg): Do not use c_strtod.  Instead, approximate it by
37918         hand; this is good enough for load averages.  Also, do not use
37919         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
37920         flags directly if available and don't bother otherwise.  (Packages
37921         that need the extra reliability should use the modules that define
37922         these flags on older platforms that lack them.)
37923         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
37924         fcntl-safer.
37926 2011-02-08  Jim Meyering  <meyering@redhat.com>
37928         di-set.h, ino-map.h: add multiple-inclusion guard
37929         Technically, the guard is required only for ino-map.h, due to its
37930         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
37931         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
37932         * lib/ino-map.h: Likewise.
37934 2011-02-06  Bruno Haible  <bruno@clisp.org>
37936         iswblank: Ensure declaration on glibc systems.
37937         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
37938         * modules/iswblank (Dependencies): Add 'extensions'.
37939         * doc/posix-functions/iswblank.texi: Document the glibc problem.
37941 2011-02-06  Bruno Haible  <bruno@clisp.org>
37943         New module 'iswblank'.
37944         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
37945         * modules/iswblank: New file.
37946         * modules/wctype-h (Files): Remove lib/iswblank.c.
37947         (Makefile.am): Substitute GNULIB_ISWBLANK.
37948         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
37949         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
37950         (gl_WCTYPE_H_DEFAULTS): New macro.
37951         (gl_WCTYPE_H): Require it. Remove iswblank related code.
37952         * modules/iswblank-tests: New file.
37953         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
37954         * tests/test-wctype-h.c (main): Remove iswblank tests.
37955         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
37956         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
37957         of 'wctype-h'.
37958         * NEWS: Mention the change.
37959         * modules/mbchar (Depends-on): Add iswblank.
37961 2011-02-08  Bruno Haible  <bruno@clisp.org>
37963         di-set tests: Refactor.
37964         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
37965         unnecessary includes.
37966         (ASSERT): Remove macro.
37967         (main): Make C90 compliant by avoiding variable declaration after
37968         statement.
37969         * modules/di-set-tests (Files): Add tests/macros.h.
37971 2011-02-08  Bruno Haible  <bruno@clisp.org>
37973         ino-map tests: Refactor.
37974         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
37975         unnecessary includes.
37976         (ASSERT): Remove macro.
37977         (main): Make C90 compliant by avoiding variable declaration after
37978         statement.
37979         * modules/ino-map-tests (Files): Add tests/macros.h.
37981 2011-02-08  Jim Meyering  <meyering@redhat.com>
37983         di-set: add "const" to a cast
37984         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
37985         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
37987 2011-02-06  Bruno Haible  <bruno@clisp.org>
37989         Rename module 'wctype' to 'wctype-h'.
37990         * modules/wctype-h: Renamed from modules/wctype.
37991         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
37992         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
37993         (Files, Depends-on, Makefile.am): Update.
37994         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
37995         (Files, Makefile.am): Update.
37996         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
37997         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
37998         * doc/posix-headers/wctype.texi: Update.
37999         * doc/posix-functions/iswalnum.texi: Update.
38000         * doc/posix-functions/iswalpha.texi: Update.
38001         * doc/posix-functions/iswblank.texi: Update.
38002         * doc/posix-functions/iswcntrl.texi: Update.
38003         * doc/posix-functions/iswdigit.texi: Update.
38004         * doc/posix-functions/iswgraph.texi: Update.
38005         * doc/posix-functions/iswlower.texi: Update.
38006         * doc/posix-functions/iswprint.texi: Update.
38007         * doc/posix-functions/iswpunct.texi: Update.
38008         * doc/posix-functions/iswspace.texi: Update.
38009         * doc/posix-functions/iswupper.texi: Update.
38010         * doc/posix-functions/iswxdigit.texi: Update.
38011         * doc/posix-functions/towlower.texi: Update.
38012         * doc/posix-functions/towupper.texi: Update.
38013         * NEWS: Mention the change.
38014         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
38015         * modules/mbchar (Dependencies): Likewise.
38016         * modules/mbswidth (Dependencies): Likewise.
38017         * modules/quotearg (Dependencies): Likewise.
38018         * modules/regex (Dependencies): Likewise.
38019         * modules/wcscasecmp (Dependencies): Likewise.
38020         * modules/wcsncasecmp (Dependencies): Likewise.
38021         * modules/wcwidth (Dependencies): Likewise.
38023 2011-02-06  Bruno Haible  <bruno@clisp.org>
38025         New module 'wcswidth'.
38026         * modules/wcswidth: New file.
38027         * lib/wchar.in.h (wcswidth): New declaration.
38028         * lib/wcswidth.c: New file.
38029         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
38030         * m4/wcswidth.m4: New file.
38031         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
38032         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
38033         REPLACE_WCSWIDTH.
38034         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
38035         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
38036         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
38037         * doc/posix-functions/wcswidth.texi: Mention the new module.
38039 2011-02-06  Bruno Haible  <bruno@clisp.org>
38041         New module 'wcstok'.
38042         * modules/wcstok: New file.
38043         * lib/wchar.in.h (wcstok): New declaration.
38044         * lib/wcstok.c: New file.
38045         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
38046         * m4/wcstok.m4: New file.
38047         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
38048         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
38049         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
38050         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
38051         * doc/posix-functions/wcstok.texi: Mention the new module.
38053 2011-02-06  Bruno Haible  <bruno@clisp.org>
38055         New module 'wcsstr'.
38056         * modules/wcsstr: New file.
38057         * lib/wchar.in.h (wcsstr): New declaration.
38058         * lib/wcsstr.c: New file.
38059         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
38060         * m4/wcsstr.m4: New file.
38061         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
38062         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
38063         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
38064         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
38065         * doc/posix-functions/wcsstr.texi: Mention the new module.
38067 2011-02-06  Bruno Haible  <bruno@clisp.org>
38069         New module 'wcspbrk'.
38070         * modules/wcspbrk: New file.
38071         * lib/wchar.in.h (wcspbrk): New declaration.
38072         * lib/wcspbrk.c: New file.
38073         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
38074         * m4/wcspbrk.m4: New file.
38075         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
38076         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
38077         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
38078         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
38079         * doc/posix-functions/wcspbrk.texi: Mention the new module.
38081 2011-02-06  Bruno Haible  <bruno@clisp.org>
38083         New module 'wcsspn'.
38084         * modules/wcsspn: New file.
38085         * lib/wchar.in.h (wcsspn): New declaration.
38086         * lib/wcsspn.c: New file.
38087         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
38088         * m4/wcsspn.m4: New file.
38089         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
38090         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
38091         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
38092         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
38093         * doc/posix-functions/wcsspn.texi: Mention the new module.
38095 2011-02-06  Bruno Haible  <bruno@clisp.org>
38097         New module 'wcscspn'.
38098         * modules/wcscspn: New file.
38099         * lib/wchar.in.h (wcscspn): New declaration.
38100         * lib/wcscspn.c: New file.
38101         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
38102         * m4/wcscspn.m4: New file.
38103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
38104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
38105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
38106         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
38107         * doc/posix-functions/wcscspn.texi: Mention the new module.
38109 2011-02-06  Bruno Haible  <bruno@clisp.org>
38111         New module 'wcsrchr'.
38112         * modules/wcsrchr: New file.
38113         * lib/wchar.in.h (wcsrchr): New declaration.
38114         * lib/wcsrchr.c: New file.
38115         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
38116         * m4/wcsrchr.m4: New file.
38117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
38118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
38119         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
38120         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
38121         * doc/posix-functions/wcsrchr.texi: Mention the new module.
38123 2011-02-06  Bruno Haible  <bruno@clisp.org>
38125         New module 'wcschr'.
38126         * modules/wcschr: New file.
38127         * lib/wchar.in.h (wcschr): New declaration.
38128         * lib/wcschr.c: New file.
38129         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
38130         * m4/wcschr.m4: New file.
38131         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
38132         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
38133         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
38134         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
38135         * doc/posix-functions/wcschr.texi: Mention the new module.
38137 2011-02-06  Bruno Haible  <bruno@clisp.org>
38139         New module 'wcsdup'.
38140         * modules/wcsdup: New file.
38141         * lib/wchar.in.h (wcsdup): New declaration.
38142         * lib/wcsdup.c: New file.
38143         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
38144         * m4/wcsdup.m4: New file.
38145         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
38146         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
38147         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
38148         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
38149         * doc/posix-functions/wcsdup.texi: Mention the new module.
38151 2011-02-06  Bruno Haible  <bruno@clisp.org>
38153         New module 'wcsxfrm'.
38154         * modules/wcsxfrm: New file.
38155         * lib/wchar.in.h (wcsxfrm): New declaration.
38156         * lib/wcsxfrm.c: New file.
38157         * lib/wcsxfrm-impl.h: New file.
38158         * m4/wcsxfrm.m4: New file.
38159         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
38160         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
38161         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
38162         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
38163         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
38165 2011-02-06  Bruno Haible  <bruno@clisp.org>
38167         New module 'wcscoll'.
38168         * modules/wcscoll: New file.
38169         * lib/wchar.in.h (wcscoll): New declaration.
38170         * lib/wcscoll.c: New file.
38171         * lib/wcscoll-impl.h: New file.
38172         * m4/wcscoll.m4: New file.
38173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
38174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
38175         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
38176         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
38177         * doc/posix-functions/wcscoll.texi: Mention the new module.
38179 2011-02-06  Bruno Haible  <bruno@clisp.org>
38181         New module 'wcsncasecmp'.
38182         * modules/wcsncasecmp: New file.
38183         * lib/wchar.in.h (wcsncasecmp): New declaration.
38184         * lib/wcsncasecmp.c: New file.
38185         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
38186         * m4/wcsncasecmp.m4: New file.
38187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
38188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
38189         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
38190         HAVE_WCSNCASECMP.
38191         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
38192         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
38194 2011-02-06  Bruno Haible  <bruno@clisp.org>
38196         New module 'wcscasecmp'.
38197         * modules/wcscasecmp: New file.
38198         * lib/wchar.in.h (wcscasecmp): New declaration.
38199         * lib/wcscasecmp.c: New file.
38200         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
38201         * m4/wcscasecmp.m4: New file.
38202         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
38203         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
38204         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
38205         HAVE_WCSCASECMP.
38206         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
38207         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
38209 2011-02-05  Bruno Haible  <bruno@clisp.org>
38211         New module 'wcsncmp'.
38212         * modules/wcsncmp: New file.
38213         * lib/wchar.in.h (wcsncmp): New declaration.
38214         * lib/wcsncmp.c: New file.
38215         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
38216         * m4/wcsncmp.m4: New file.
38217         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
38218         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
38219         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
38220         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
38221         * doc/posix-functions/wcsncmp.texi: Mention the new module.
38223 2011-02-05  Bruno Haible  <bruno@clisp.org>
38225         New module 'wcscmp'.
38226         * modules/wcscmp: New file.
38227         * lib/wchar.in.h (wcscmp): New declaration.
38228         * lib/wcscmp.c: New file.
38229         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
38230         * m4/wcscmp.m4: New file.
38231         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
38232         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
38233         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
38234         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
38235         * doc/posix-functions/wcscmp.texi: Mention the new module.
38237 2011-02-05  Bruno Haible  <bruno@clisp.org>
38239         New module 'wcsncat'.
38240         * modules/wcsncat: New file.
38241         * lib/wchar.in.h (wcsncat): New declaration.
38242         * lib/wcsncat.c: New file.
38243         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
38244         * m4/wcsncat.m4: New file.
38245         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
38246         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
38247         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
38248         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
38249         * doc/posix-functions/wcsncat.texi: Mention the new module.
38251 2011-02-05  Bruno Haible  <bruno@clisp.org>
38253         New module 'wcscat'.
38254         * modules/wcscat: New file.
38255         * lib/wchar.in.h (wcscat): New declaration.
38256         * lib/wcscat.c: New file.
38257         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
38258         * m4/wcscat.m4: New file.
38259         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
38260         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
38261         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
38262         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
38263         * doc/posix-functions/wcscat.texi: Mention the new module.
38265 2011-02-05  Bruno Haible  <bruno@clisp.org>
38267         New module 'wcpncpy'.
38268         * modules/wcpncpy: New file.
38269         * lib/wchar.in.h (wcpncpy): New declaration.
38270         * lib/wcpncpy.c: New file.
38271         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
38272         * m4/wcpncpy.m4: New file.
38273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
38274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
38275         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
38276         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
38277         * doc/posix-functions/wcpncpy.texi: Mention the new module.
38279 2011-02-05  Bruno Haible  <bruno@clisp.org>
38281         New module 'wcsncpy'.
38282         * modules/wcsncpy: New file.
38283         * lib/wchar.in.h (wcsncpy): New declaration.
38284         * lib/wcsncpy.c: New file.
38285         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
38286         * m4/wcsncpy.m4: New file.
38287         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
38288         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
38289         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
38290         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
38291         * doc/posix-functions/wcsncpy.texi: Mention the new module.
38293 2011-02-05  Bruno Haible  <bruno@clisp.org>
38295         New module 'wcpcpy'.
38296         * modules/wcpcpy: New file.
38297         * lib/wchar.in.h (wcpcpy): New declaration.
38298         * lib/wcpcpy.c: New file.
38299         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
38300         * m4/wcpcpy.m4: New file.
38301         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
38302         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
38303         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
38304         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
38305         * doc/posix-functions/wcpcpy.texi: Mention the new module.
38307 2011-02-05  Bruno Haible  <bruno@clisp.org>
38309         New module 'wcscpy'.
38310         * modules/wcscpy: New file.
38311         * lib/wchar.in.h (wcscpy): New declaration.
38312         * lib/wcscpy.c: New file.
38313         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
38314         * m4/wcscpy.m4: New file.
38315         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
38316         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
38317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
38318         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
38319         * doc/posix-functions/wcscpy.texi: Mention the new module.
38321 2011-02-05  Bruno Haible  <bruno@clisp.org>
38323         New module 'wcsnlen'.
38324         * modules/wcsnlen: New file.
38325         * lib/wchar.in.h (wcsnlen): New declaration.
38326         * lib/wcsnlen.c: New file.
38327         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
38328         * m4/wcsnlen.m4: New file.
38329         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
38330         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
38331         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
38332         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
38333         * doc/posix-functions/wcsnlen.texi: Mention the new module.
38335 2011-02-05  Bruno Haible  <bruno@clisp.org>
38337         New module 'wcslen'.
38338         * modules/wcslen: New file.
38339         * lib/wchar.in.h (wcslen): New declaration.
38340         * lib/wcslen.c: New file.
38341         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
38342         * m4/wcslen.m4: New file.
38343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
38344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
38345         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
38346         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
38347         * doc/posix-functions/wcslen.texi: Mention the new module.
38349 2011-02-05  Bruno Haible  <bruno@clisp.org>
38351         New module 'wmemset'.
38352         * modules/wmemset: New file.
38353         * lib/wchar.in.h (wmemset): New declaration.
38354         * lib/wmemset.c: New file.
38355         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
38356         * m4/wmemset.m4: New file.
38357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
38358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
38359         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
38360         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
38361         * doc/posix-functions/wmemset.texi: Mention the new module.
38363 2011-02-05  Bruno Haible  <bruno@clisp.org>
38365         New module 'wmemmove'.
38366         * modules/wmemmove: New file.
38367         * lib/wchar.in.h (wmemmove): New declaration.
38368         * lib/wmemmove.c: New file.
38369         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
38370         * m4/wmemmove.m4: New file.
38371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
38372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
38373         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
38374         HAVE_WMEMMOVE.
38375         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
38376         * doc/posix-functions/wmemmove.texi: Mention the new module.
38378 2011-02-05  Bruno Haible  <bruno@clisp.org>
38380         New module 'wmemcpy'.
38381         * modules/wmemcpy: New file.
38382         * lib/wchar.in.h (wmemcpy): New declaration.
38383         * lib/wmemcpy.c: New file.
38384         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
38385         * m4/wmemcpy.m4: New file.
38386         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
38387         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
38388         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
38389         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
38390         * doc/posix-functions/wmemcpy.texi: Mention the new module.
38392 2011-02-05  Bruno Haible  <bruno@clisp.org>
38394         New module 'wmemcmp'.
38395         * modules/wmemcmp: New file.
38396         * lib/wchar.in.h (wmemcmp): New declaration.
38397         * lib/wmemcmp.c: New file.
38398         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
38399         * m4/wmemcmp.m4: New file.
38400         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
38401         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
38402         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
38403         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
38404         * doc/posix-functions/wmemcmp.texi: Mention the new module.
38406 2011-02-07  Jim Meyering  <meyering@redhat.com>
38408         di-set, ino-map: new modules, from coreutils
38409         * lib/di-set.c: New file.
38410         * lib/di-set.h: Likewise.
38411         * lib/ino-map.c: Likewise.
38412         * lib/ino-map.h: Likewise.
38413         * modules/di-set: Likewise.
38414         * modules/di-set-tests: Likewise.
38415         * modules/ino-map: Likewise.
38416         * modules/ino-map-tests: Likewise.
38417         * tests/test-di-set.c: Likewise.
38418         * tests/test-ino-map.c: Likewise.
38420 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
38422         getloadavg: merge minor changes from Emacs
38424         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
38425         (getloadavg): Use memset, not bzero.
38427         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
38428         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
38429         clash (bug#86).
38431 2010-11-14  Bruno Haible  <bruno@clisp.org>
38433         Allow multiple gnulib generated replacements to coexist.
38434         * lib/getopt.in.h (struct option): Avoid identical redefinition.
38435         * lib/inttypes.in.h (imaxdiv_t): Likewise.
38436         * lib/langinfo.in.h (nl_item): Likewise.
38437         * lib/math.in.h (_NaN, NAN): Likewise.
38438         * lib/netdb.in.h (struct addrinfo): Likewise.
38439         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
38440         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
38441         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
38442         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
38443         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
38444         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
38445         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
38446         pthread_mutexattr_init, pthread_mutexattr_settype,
38447         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
38448         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
38449         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
38450         pthread_spin_trylock, pthread_spin_unlock): Likewise.
38451         * lib/sched.in.h (struct sched_param): Likewise.
38452         * lib/se-selinux.in.h (security_class_t, security_context_t,
38453         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
38454         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
38455         lsetfilecon, fsetfilecon, security_check_context,
38456         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
38457         Likewise.
38458         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
38459         Likewise.
38460         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
38461         _gl_function_taking_int_returning_void_t, union sigval,
38462         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
38463         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
38464         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
38465         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
38466         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
38467         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
38468         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
38469         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
38470         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
38471         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
38472         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
38473         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
38474         socklen_t, rpl_fd_isset): Likewise.
38475         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
38476         * lib/sys_time.in.h (struct timeval): Likewise.
38477         * lib/sys_times.in.h (struct tms): Likewise.
38478         * lib/sys_utsname.in.h (struct utsname):
38479         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
38480         * lib/unistd.in.h (getpagesize): Likewise.
38481         * lib/wchar.in.h (mbstate_t): Likewise.
38482         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
38483         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
38484         towlower, towupper): Likewise.
38485         Reported by Sam Steingold <sds@gnu.org>.
38487 2011-02-05  Eric Blake  <eblake@redhat.com>
38489         unsetenv: work around Haiku issues
38490         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
38491         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
38493 2010-12-30  Bruce Korb  <bkorb@gnu.org>
38495         libposix: avoid calling error() within libposix
38496         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
38497         is defined.
38499 2011-02-05  Eric Blake  <eblake@redhat.com>
38501         strerror_r-posix: port to cygwin
38502         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
38503         implementation.
38504         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
38505         * tests/test-strerror_r.c (main): Fix test.
38506         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
38507         issue.
38509 2011-02-05  Bruno Haible  <bruno@clisp.org>
38511         New module 'wmemchr'.
38512         * modules/wmemchr: New file.
38513         * lib/wchar.in.h (wmemchr): New declaration.
38514         * lib/wmemchr.c: New file.
38515         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
38516         * m4/wmemchr.m4: New file.
38517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
38518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
38519         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
38520         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
38521         * doc/posix-functions/wmemchr.texi: Mention the new module.
38523 2011-02-04  Eric Blake  <eblake@redhat.com>
38525         fdopendir: detect FreeBSD bug
38526         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
38527         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
38529 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
38531         stdbool: do not define HAVE_STDBOOL_H
38532         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
38533         AC_HEADER_STDBOOL.  All uses changed.  Do not define
38534         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
38535         imported from the latest Autoconf git.  It was motivated by Emacs,
38536         which uses gnulib but does not need HAVE_STDBOOL_H.
38538 2011-02-04  Bruno Haible  <bruno@clisp.org>
38540         wcsnrtombs: Prepare for new module wwcsnrtombs.
38541         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
38542         * lib/wcsnrtombs.c: Include it.
38543         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
38545         wcsrtombs: Prepare for new module wwcsrtombs.
38546         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
38547         * lib/wcsrtombs.c: Include it.
38548         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
38550         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
38551         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
38552         * lib/mbsnrtowcs.c: Include it.
38553         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
38555         mbsrtowcs: Prepare for new module mbsrtowwcs.
38556         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
38557         * lib/mbsrtowcs.c: Include it.
38558         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
38560 2011-02-04  Bruno Haible  <bruno@clisp.org>
38562         vasnprintf: Reduce use of malloc for small format strings.
38563         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
38564         (arguments): Add room for the first 7 arguments.
38565         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
38566         (char_directives, u8_directives, u16_directives, u32_directives): Add
38567         room for the first 7 directives.
38568         * lib/printf-parse.c: Include <string.h>.
38569         (PRINTF_PARSE): Change memory handling code so that it uses the first
38570         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
38571         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
38572         Reported by Pádraig Brady <P@draigbrady.com>.
38574 2011-01-31  Eric Blake  <eblake@redhat.com>
38576         dup2: work around Haiku bug
38577         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
38578         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
38579         * doc/posix-functions/dup2.texi (dup2): Document the bug.
38580         * tests/test-dup2.c (main): Enhance test.
38582 2011-01-31  Simon Josefsson  <simon@josefsson.org>
38584         doc: off_t is not available in eglibc 2.11.2 stdio.h.
38585         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
38586         declared by eglibc 2.11.2.
38587         * lib/stdio.in.h: Likewise.
38589 2011-01-31  Eric Blake  <eblake@redhat.com>
38591         ignore-value: add missing test dependency
38592         * tests/test-ignore-value.c: Revert previous change; stdio.h
38593         provides off_t.
38594         * modules/ignore-value-tests (Depends-on): Add missing dependency.
38596 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
38598         mktime: clarify long_int width checking
38599         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
38600         the top level, to make it clearer that the assumption about
38601         long_int width is being checked.  See
38602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
38604 2011-01-30  Simon Josefsson  <simon@josefsson.org>
38606         ignore-value: Fix self-test.
38607         * tests/test-ignore-value.c: Include sys/types.h for off_t.
38609 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
38611         TYPE_MAXIMUM: avoid theoretically undefined behavior
38612         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
38613         negative number, which the C Standard says has undefined behavior.
38614         In practice this is not a problem, but might as well do it by the book.
38615         Reported by Rich Felker and Eric Blake; see
38616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
38617         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
38618         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
38619         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38620         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
38621         * m4/stdint.m4 (gl_STDINT_H): Likewise.
38622         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
38624         mktime: #undef mktime before #defining it
38625         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
38627         mktime: systematically normalize tm_isdst comparisons
38628         * lib/mktime.c (isdst_differ): New function.
38629         (__mktime_internal): Use it systematically for all isdst comparisons.
38630         This completes the fix for libc BZ #6723, and removes the need for
38631         normalizing tm_isdst.  See
38632         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
38633         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
38635         mktime: fix some integer overflow issues and sidestep the rest
38637         This was prompted by a bug report by Benjamin Lindner for MinGW
38638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
38639         His bug is due to signed integer overflow (0 - INT_MIN), and I
38640         I scanned through mktime.c looking for other integer overflow
38641         problems, fixing all the bugs I found.
38643         Although the C Standard says the resulting code is still not safe
38644         in the presence of integer overflow, in practice it should be good
38645         enough for all real-world two's-complement implementations, except
38646         for debugging environments that deliberately trap on integer
38647         overflow (e.g., gcc -ftrapv).
38649         * lib/mktime.c (WRAPV): New macro.
38650         (SHR): Also check that long_int and time_t shift right in the
38651         usual way, before using the fast-but-unportable method.
38652         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
38653         used.  The code already assumed two's complement, so there's
38654         no need to test for alternatives.  All uses removed.
38655         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
38656         the C standard.  Problem reported by Rich Felker in
38657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
38658         (twos_complement_arithmetic): Also check long_int and time_t.
38659         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
38660         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
38661         (__mktime_internal): Avoid integer overflow with unary subtraction
38662         in two instances where -1 - X is an adequate replacement for -X,
38663         since the calculations are approximate.
38665 2011-01-29  Eric Blake  <eblake@redhat.com>
38667         mktime: avoid infinite loop
38668         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
38669         type; behavior is still undefined but portable to all known targets.
38670         Reported by Rich Felker.
38672 2011-01-29  Simon Josefsson  <simon@josefsson.org>
38674         rename, unlink, same-inode: Relicense.
38675         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
38676         * modules/unlink (License): Likewise.
38677         * modules/same-inode (License): Likewise.
38679 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
38681         mktime: avoid problems on NetBSD 5 / i386
38682         * lib/mktime.c (long_int): New type.  This works around a problem
38683         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
38684         but time_t is 64 bits, and where I expect the existing code is
38685         wrong in some cases.
38686         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
38687         (ydhms_diff): Bring back the compile-time check for wide-enough
38688         year and yday.
38690         mktime: fix misspelling in comment
38691         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
38692         This merges all recent glibc changes of importance.
38694 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38696         move-if-change: cope with concurrent mv of identical file.
38697         * build-aux/move-if-change (CMPPROG): Accept environment
38698         variable as an override for `cmp'.
38699         (usage): Document CMPPROG.
38700         Adjust comparison to drop stdout.  Cope with failure of mv if
38701         the target file exists and is identical to the source, for
38702         parallel builds.
38703         Report from H.J. Lu against binutils in PR binutils/12283.
38705 2011-01-28  Bruce Korb  <bkorb@gnu.org>
38707         * users.txt: Mention sharutils.
38709 2011-01-28  Simon Josefsson  <simon@josefsson.org>
38711         * users.txt: Mention OATH Toolkit.
38713 2011-01-27  Bruno Haible  <bruno@clisp.org>
38715         Prepare for supporting FreeBSD 10.
38716         * build-aux/config.libpath: Remove handling of freebsd1*.
38718 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
38720         Prepare for supporting FreeBSD 10.
38721         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
38722         match FreeBSD 10.0.
38724 2011-01-27  Bruno Haible  <bruno@clisp.org>
38726         vma-iter, get-rusage-as: Add OpenBSD support.
38727         * modules/vma-iter (configure.ac): Test for mquery.
38728         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
38729         * lib/vma-iter.c: Include <sys/mman.h>.
38730         (vma_iterate): Add an implementation based on mquery().
38731         * lib/resource-ext.h (get_rusage_as): Update comments.
38732         * lib/get-rusage-as.c: Likewise.
38733         * lib/get-rusage-data.c: Likewise.
38735 2011-01-26  Karl Berry  <karl@gnu.org>
38737         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
38738         variables to make it easier to override the makeinfo program used.
38740 2011-01-26  Eric Blake  <eblake@redhat.com>
38742         fcntl: work around Haiku F_DUPFD bugs
38743         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
38744         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
38745         cloexec bit on duplication.
38746         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
38748 2011-01-26  Bruno Haible  <bruno@clisp.org>
38750         Enable memory leak tests on AIX.
38751         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
38752         * tests/test-fprintf-posix3.c (main): Likewise.
38754 2011-01-26  Bruno Haible  <bruno@clisp.org>
38756         Tests for module 'get-rusage-data'.
38757         * modules/get-rusage-data-tests: New file.
38758         * tests/test-get-rusage-data.c: New file.
38760         New module 'get-rusage-data'.
38761         * lib/resource-ext.h (get_rusage_data): New declaration.
38762         * lib/get-rusage-data.c: New file.
38763         * modules/get-rusage-data: New file.
38765 2011-01-25  Bruno Haible  <bruno@clisp.org>
38767         get-rusage-as: Allow for easier testing.
38768         * lib/resource-ext.h (get_rusage_as): Add comment.
38769         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
38770         (main): New function for interactive testing.
38772 2011-01-25  Bruno Haible  <bruno@clisp.org>
38774         vma-iter: Treat Haiku like BeOS.
38775         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
38776         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
38778 2011-01-25  Eric Blake  <eblake@redhat.com>
38780         c-stack: fix regression on cygwin when libsigsegv is present
38781         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
38783 2011-01-24  Bruno Haible  <bruno@clisp.org>
38785         vma-iter: Avoid empty intervals.
38786         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
38787         on an empty interval.
38789 2011-01-24  Jim Meyering  <meyering@redhat.com>
38791         u64: remove unnecessary #include
38792         * lib/u64.h: Don't include <stddef.h>.  It was not used.
38794 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
38796         Allow the user to avoid the HAVE_RAW_DECL_* macros.
38797         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
38799 2011-01-23  Bruno Haible  <bruno@clisp.org>
38801         New module 'vma-iter'.
38802         * lib/vma-iter.h: New file.
38803         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
38804         * modules/vma-iter: New file.
38805         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
38806         for get_rusage_as_via_iterator.
38807         (vma_iterate_callback): New function.
38808         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
38809         * modules/get-rusage-as (Depends-on): Add vma-iter.
38811 2011-01-23  Bruno Haible  <bruno@clisp.org>
38813         uninorm: Tweak includes.
38814         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
38815         Reported by Jim Meyering.
38817 2011-01-23  Bruno Haible  <bruno@clisp.org>
38819         get-rusage-as: Improve on NetBSD.
38820         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
38821         /proc, like on FreeBSD.
38823 2011-01-23  Jim Meyering  <meyering@redhat.com>
38825         xreadlink.h: remove unnecessary #include
38826         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
38828         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
38829         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
38831 2011-01-23  Bruno Haible  <bruno@clisp.org>
38833         get-rusage-as: Fix bug.
38834         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
38835         original limit when aborting the first loop.
38837 2011-01-23  Bruno Haible  <bruno@clisp.org>
38839         wctype: Ensure valid C syntax.
38840         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
38841         unconditionally, instead of gl_NEXT_HEADERS conditionally.
38843 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
38845         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
38846         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
38847         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
38848         as they are needed only for configure's test case.
38849         This removes two unnecessary symbols from config.h.
38851         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
38852         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
38853         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
38854         AC_CHECK_HEADERS_ONCE on a header that we also invoke
38855         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
38856         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
38857         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
38858         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
38859         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38860         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38861         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
38862         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38863         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38864         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38865         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
38866         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38867         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
38868         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
38870 2011-01-21  Eric Blake  <eblake@redhat.com>
38872         maintainer-makefile: work with older git for submodule check
38873         * top/maint.mk (public-submodule-commit): Rewrite to avoid
38874         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
38875         Reported by Matthias Bolte.
38877         bootstrap: minor portability fixes
38878         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
38879         (usage): Omit leading capital and trailing . on help phrases, per
38880         GNU Coding Standards.
38881         (check_versions, top level): Prefix messages with script name.
38883 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
38885         bootstrap: support --no-git option
38886         * build-aux/bootstrap: Add --no-git option, to be used when
38887         --gnulib-srcdir points to the exact desired checkout.
38889 2011-01-21  Eric Blake  <eblake@redhat.com>
38891         strerror_r-posix: work with glibc 2.13
38892         * lib/strerror_r.c (strerror_r): Fix return type.
38894 2011-01-21  Pádraig Brady  <P@draigBrady.com>
38895             Bruno Haible  <bruno@clisp.org>
38897         uN_strstr: New unit tests.
38898         * modules/unistr/u8-strstr-tests: New file.
38899         * modules/unistr/u16-strstr-tests: New file.
38900         * modules/unistr/u32-strstr-tests: New file.
38901         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
38902         * tests/unistr/test-u8-strstr.c: New file.
38903         * tests/unistr/test-u16-strstr.c: New file.
38904         * tests/unistr/test-u32-strstr.c: New file.
38906 2011-01-21  Pádraig Brady  <P@draigBrady.com>
38907             Bruno Haible  <bruno@clisp.org>
38909         Make uN_strstr functions O(n) worst-case.
38910         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
38911         16-bit and 32-bit unit cases, use the unibyte algorithm from
38912         lib/mbsstr.c.
38913         * lib/unistr/u8-strstr.c: Include <string.h>.
38914         (UNIT_IS_UINT8_T): New macro.
38915         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
38916         (U_STRLEN, U_STRNLEN): New macros.
38917         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
38918         (U_STRLEN, U_STRNLEN): New macros.
38919         * modules/unistr/u8-strstr (Depends-on): Add strstr.
38920         (configure.ac): Update required libunistring version.
38921         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
38922         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
38923         malloca.
38924         (configure.ac): Update required libunistring version.
38925         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
38926         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
38927         malloca.
38928         (configure.ac): Update required libunistring version.
38930 2011-01-21  Pádraig Brady  <P@draigBrady.com>
38931             Bruno Haible  <bruno@clisp.org>
38933         Prepare for faster uN_strstr functions.
38934         * lib/str-kmp.h: Support definable UNITs.
38935         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
38936         needle_len argument.
38937         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
38938         * lib/mbscasestr.c (mbscasestr): Likewise.
38940 2011-01-21  Pádraig Brady  <P@draigBrady.com>
38942         malloca-tests: make faster by unsetting MALLOC_PERTURB_
38943         * tests/test-malloca.c (main): Unset the environment variable
38944         to greatly speed up the test.
38945         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
38946         * modules/malloca-tests: Depend on unsetenv.
38948 2011-01-21  Pádraig Brady  <P@draigBrady.com>
38950         ignore-value: remove stdint dependency
38951         * lib/ignore-value.h: Remove <stdint.h>
38952         * modules/ignore-value: Remove stdint dependency.
38954 2011-01-21  Jim Meyering  <meyering@redhat.com>
38956         maint.mk: adjust variable name to be consistent with other gl_ vars
38957         * top/maint.mk (gl_public_submodule_commit): Rename the variable
38958         to be lower case.
38960 2011-01-20  Jim Meyering  <meyering@redhat.com>
38962         maint.mk: make "check" depend on public-submodule-commit by default
38963         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
38965 2011-01-20  Bruno Haible  <bruno@clisp.org>
38967         mbfile, mbiter: Complete change from 2008-12-21.
38968         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
38969         * m4/mbiter.m4 (gl_MBITER): Likewise.
38971 2011-01-20  Jim Meyering  <meyering@redhat.com>
38973         init.sh: insert space between each function name and "()"
38974         * tests/init.sh: Make it a little easier to see that a function's
38975         name is "warn_", and not "warn" when looking at the first part of
38976         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
38978 2011-01-20  Jim Meyering  <meyering@redhat.com>
38980         mountlist: clean up code formatting
38981         * lib/mountlist.c (read_file_system_list): Split a long line,
38982         correct bracing style, use NULL in place of "(struct statfs *)0",
38983         don't parenthesize return value, add spaces around "=" and after
38984         ";-in-for-stmt".
38986 2011-01-14  Markus Duft  <mduft@gentoo.org>
38988         mountlist: add support for Interix
38989         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
38990         Apply statvfs to all entries of /dev/fs.
38991         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
38992         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
38994 2011-01-20  Jim Meyering  <meyering@redhat.com>
38996         maint.mk: improve the public-submodule-commit rule
38997         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
38998         to suppress printing of its commands... unless V=1.
38999         Add git submodule's --quiet option to suppress printing of e.g.,
39000         "Entering gnulib" output.
39001         "cd" into $(srcdir) before running git submodule.
39003 2011-01-20  Bruno Haible  <bruno@clisp.org>
39005         include_next: Fix bug introduced on 2011-01-18.
39006         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
39007         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
39008         ac_cv_header_... variable if the second argument is not 'check'.
39009         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
39010         gl_NEXT_HEADERS_INTERNAL.
39012 2011-01-20  Bruno Haible  <bruno@clisp.org>
39014         Allow the user to avoid the GNULIB_TEST_* macros.
39015         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
39016         Suggested by Paul Eggert.
39018 2011-01-14  Jim Meyering  <meyering@redhat.com>
39020         bootstrap: avoid failure when there is no .gitmodules file
39021         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
39022         has been assigned to, even when its value is the empty string.
39023         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
39024         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
39025         Reported by John W. Eaton <jwe@gnu.org>.
39027 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
39029         assume <ctype.h>, ..., <time.h> exist
39030         For years gnulib has been assuming the existence of the headers
39031         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
39032         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
39033         them, since they don't appear to be needed.
39034         * README (Portability guidelines): Document this.
39035         * lib/flock.c: Assume <fcntl.h> exists.
39036         * lib/regex_internal.h: Assume <locale.h> exists.
39037         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
39038         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
39039         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
39040         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
39041         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
39042         * m4/regex.m4 (gl_REGEX): Likewise.
39043         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
39044         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
39045         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
39046         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
39047         * tests/test-argp.c: Likewise.
39048         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
39050         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
39051         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
39052         AA_APPLE_UNIVERSAL_BUILD.  See
39053         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
39054         * NEWS: Document this.
39056 2011-01-19  Eric Blake  <eblake@redhat.com>
39058         c-stack: assume stack overflow if SA_SIGINFO unsupported
39059         * lib/c-stack.c (SIGACTION_WORKS): Rename...
39060         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
39061         sigaction will work.
39062         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
39063         behavior match Linux.
39064         * tests/test-c-stack.c (main): Prefer NULL for pointers.
39066         stdbool-tests: accommodate Haiku
39067         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
39069         binary-io: fix O_TEXT on Haiku
39070         * modules/binary-io (Depends-on): Add fcntl-h.
39071         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
39072         than blindly undefining O_TEXT.
39073         Reported by Scott McCreary.
39075 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
39077         include_next: do not check for standard headers like stddef.h
39079         I found this problem when modifying Emacs to use gnulib.
39080         I noticed that it added HAVE_STDDEF_H to config.h, even though
39081         gnulib always assumes <stddef.h> exists as per README and this
39082         symbol is unnecessary.
39083         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
39084         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
39085         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
39086         faster for headers like stddef.h that are known to exist.
39087         (gl_CHECK_NEXT_HEADERS): Use it.
39088         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
39089         rather than gl_CHECK_NEXT_HEADERS.
39090         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
39091         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
39093 2011-01-18  Eric Blake  <eblake@redhat.com>
39095         ansi-c++-opt: skip C++ dependency style if C++ is unused
39096         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
39097         tests when we know C++ compilation is not desired.
39098         Reported by Scott McCreary.
39100 2011-01-18  Bruno Haible  <bruno@clisp.org>
39102         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
39103         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
39104         (main): Perform test also when getrlimit and setrlimit don't exist or
39105         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
39106         limiting the address space size using setrlimit, compare the address
39107         space size before and after the test.
39108         * tests/test-dprintf-posix2.c: Likewise.
39109         * tests/test-fprintf-posix3.sh: Update skip messages.
39110         * tests/test-dprintf-posix2.sh: Likewise.
39111         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
39112         * modules/dprintf-posix-tests (Depends-on): Likewise.
39113         Reported by Bruce Korb <bkorb@gnu.org> and
39114         Gary V. Vaughan <gary@gnu.org>.
39116 2011-01-18  Bruno Haible  <bruno@clisp.org>
39118         get-rusage-as: Improvement for Cygwin.
39119         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
39120         areas that are merely reserved.
39122 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
39124         strftime: remove dependencies on multibyte modules
39126         strftime depended on mbrlen, mbsinit, and wchar, but these modules
39127         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
39128         only if __osf__ is defined, and I suspect OSF doesn't need these
39129         other modules.  If my guess is wrong, we'll need to come up with a
39130         variant of strftime that doesn't need the multibyte modules.
39132         I discovered this problem when attempting modify Emacs to use the
39133         strftime module.  With the previous gnulib, this caused Emacs to
39134         need 31 new files, ranging from lib/config.charset to
39135         m4/wint_t.m4.  This was overkill and I expect would be offputting
39136         to the Emacs maintainers.  After this change, only 6 new files are
39137         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
39138         stdbool.m4, and tm_gmtoff.m4.
39140         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
39141         Suggested by Bruno Haible in
39142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
39143         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
39144         and do not check for wchar.h.
39145         * modules/strftime (Files): Remove m4/mbstate_t.m4.
39146         (Depends-on): Remove mbrlen, mbsinit, wchar.
39148 2011-01-18  Bruno Haible  <bruno@clisp.org>
39150         Tests for module 'get-rusage-as'.
39151         * modules/get-rusage-as-tests: New file.
39152         * tests/test-get-rusage-as.c: New file.
39154         New module 'get-rusage-as'.
39155         * modules/get-rusage-as: New file.
39156         * lib/resource-ext.h: New file.
39157         * lib/get-rusage-as.c: New file.
39159 2011-01-17  Eric Blake  <eblake@redhat.com>
39161         sigaction: relax license from LGPLv3+ to LGPLv2+
39162         * modules/sigaction (License): Relax to LGPLv2+.
39164 2011-01-14  Bruno Haible  <bruno@clisp.org>
39166         filemode: Make function declarations usable in C++ mode.
39167         * lib/filemode.h: Enclose function declarations in extern "C" block.
39168         Reported by John W. Eaton <jwe@gnu.org>.
39170 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
39172         save-cwd: no longer include "xgetcwd.h"
39173         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
39174         This avoids a compilation failure in projects that use save-cwd
39175         without also using the xgetcwd module.
39177 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
39179         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
39180         This is so that a program like Emacs, which needs only dtoastr,
39181         does not have to bother with distributing and compiling ftoastr
39182         and ldtoastr.
39183         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
39184         * modules/dtoastr, modules/ldtoastr: New files.
39185         * modules/ftoastr: Now works just for 'float'.
39186         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
39187         (Makefile.am): Remove ftoastr.h (not needed and no effect),
39188         dtoastr.c, ldtoastr.c.
39190 2011-01-11  Jim Meyering  <meyering@redhat.com>
39192         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
39193         There is no need to work around the lack of the fchdir function,
39194         since gnulib can now provide a replacement when required.
39195         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
39196         * modules/save-cwd (Depends-on): Add fchdir.
39198 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
39200         openat, save-cwd: avoid xmalloc
39202         This removes a direct (but undocumented) dependency of openat on
39203         xalloc, along with an indirect dependency via save-cwd.  It also
39204         removes a dependency of save-cwd on xgetcwd, and thereby
39205         indirectly on xalloc.  This change causes the openat substitute
39206         to fall back on save_cwd when memory is tight, and for save_cwd to
39207         fail instead of dying when memory is tight, but that's good enough.
39208         Problem and initial idea for fix reported by Bastien Roucaries in
39209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
39211         * lib/openat-proc.c: Include stdlib.h (for malloc), not
39212         xalloc.h (for xmalloc).
39213         (openat_proc_name): Use malloc, not xmalloc.
39214         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
39215         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
39217         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
39218         This avoids heap allocation for file names whose lengths are in
39219         the range 512..1023, with the upper bound increasing to at most
39220         4031 depending on the platform's PATH_MAX.  (We do not want
39221         pathmax.h here as it might supply a non-constant PATH_MAX.)
39222         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
39223         Perhaps they should be moved to malloca.h?
39224         (OPENAT_BUFFER_SIZE): Use them.
39226 2011-01-10  Bruno Haible  <bruno@clisp.org>
39228         doc: Update users.txt.
39229         * users.txt: Add recutils.
39231 2011-01-09  Karl Berry  <karl@gnu.org>
39233         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
39235         * doc/configmake.texi: New file.
39236         * doc/gnulib.texi: Include it.
39237         * modules/configmake: Move documentation from here.
39239 2011-01-09  Bruno Haible  <bruno@clisp.org>
39241         Update to Unicode 6.0.0.
39242         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
39243         (get_lbp): Update for Unicode 6.0.0.
39244         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
39245         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
39246         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
39247         U+11001, U+11038..U+11046. Remove U+06DE.
39248         (uc_width): Fix bounds of planes.
39249         * tests/uniwidth/test-uc_width2.sh: Same updates as in
39250         lib/uniwidth/width.c.
39251         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
39252         trailing whitespace removed.
39253         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
39254         without comments, but with the original copyright notice.
39255         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
39256         * lib/unicase/ignorable.h: Likewise.
39257         * lib/unicase/tocasefold.h: Likewise.
39258         * lib/unicase/tolower.h: Likewise.
39259         * lib/unicase/totitle.h: Likewise.
39260         * lib/unicase/toupper.h: Likewise.
39261         * lib/unictype/bidi_of.h: Likewise.
39262         * lib/unictype/blocks.h: Likewise.
39263         * lib/unictype/categ_C.h: Likewise.
39264         * lib/unictype/categ_Cn.h: Likewise.
39265         * lib/unictype/categ_L.h: Likewise.
39266         * lib/unictype/categ_Ll.h: Likewise.
39267         * lib/unictype/categ_Lm.h: Likewise.
39268         * lib/unictype/categ_Lo.h: Likewise.
39269         * lib/unictype/categ_Lu.h: Likewise.
39270         * lib/unictype/categ_M.h: Likewise.
39271         * lib/unictype/categ_Mc.h: Likewise.
39272         * lib/unictype/categ_Me.h: Likewise.
39273         * lib/unictype/categ_Mn.h: Likewise.
39274         * lib/unictype/categ_N.h: Likewise.
39275         * lib/unictype/categ_Nd.h: Likewise.
39276         * lib/unictype/categ_No.h: Likewise.
39277         * lib/unictype/categ_P.h: Likewise.
39278         * lib/unictype/categ_Po.h: Likewise.
39279         * lib/unictype/categ_S.h: Likewise.
39280         * lib/unictype/categ_Sc.h: Likewise.
39281         * lib/unictype/categ_Sk.h: Likewise.
39282         * lib/unictype/categ_Sm.h: Likewise.
39283         * lib/unictype/categ_So.h: Likewise.
39284         * lib/unictype/categ_of.h: Likewise.
39285         * lib/unictype/combining.h: Likewise.
39286         * lib/unictype/ctype_alnum.h: Likewise.
39287         * lib/unictype/ctype_alpha.h: Likewise.
39288         * lib/unictype/ctype_graph.h: Likewise.
39289         * lib/unictype/ctype_lower.h: Likewise.
39290         * lib/unictype/ctype_print.h: Likewise.
39291         * lib/unictype/ctype_punct.h: Likewise.
39292         * lib/unictype/ctype_upper.h: Likewise.
39293         * lib/unictype/decdigit.h: Likewise.
39294         * lib/unictype/digit.h: Likewise.
39295         * lib/unictype/numeric.h: Likewise.
39296         * lib/unictype/pr_alphabetic.h: Likewise.
39297         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
39298         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
39299         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
39300         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
39301         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
39302         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
39303         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
39304         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
39305         * lib/unictype/pr_case_ignorable.h: Likewise.
39306         * lib/unictype/pr_cased.h: Likewise.
39307         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
39308         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
39309         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
39310         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
39311         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
39312         * lib/unictype/pr_combining.h: Likewise.
39313         * lib/unictype/pr_composite.h: Likewise.
39314         * lib/unictype/pr_currency_symbol.h: Likewise.
39315         * lib/unictype/pr_decimal_digit.h: Likewise.
39316         * lib/unictype/pr_deprecated.h: Likewise.
39317         * lib/unictype/pr_format_control.h: Likewise.
39318         * lib/unictype/pr_grapheme_base.h: Likewise.
39319         * lib/unictype/pr_grapheme_extend.h: Likewise.
39320         * lib/unictype/pr_grapheme_link.h: Likewise.
39321         * lib/unictype/pr_id_continue.h: Likewise.
39322         * lib/unictype/pr_id_start.h: Likewise.
39323         * lib/unictype/pr_ideographic.h: Likewise.
39324         * lib/unictype/pr_lowercase.h: Likewise.
39325         * lib/unictype/pr_math.h: Likewise.
39326         * lib/unictype/pr_numeric.h: Likewise.
39327         * lib/unictype/pr_other_alphabetic.h: Likewise.
39328         * lib/unictype/pr_other_id_continue.h: Likewise.
39329         * lib/unictype/pr_other_math.h: Likewise.
39330         * lib/unictype/pr_punctuation.h: Likewise.
39331         * lib/unictype/pr_sentence_terminal.h: Likewise.
39332         * lib/unictype/pr_terminal_punctuation.h: Likewise.
39333         * lib/unictype/pr_unassigned_code_value.h: Likewise.
39334         * lib/unictype/pr_unified_ideograph.h: Likewise.
39335         * lib/unictype/pr_uppercase.h: Likewise.
39336         * lib/unictype/pr_xid_continue.h: Likewise.
39337         * lib/unictype/pr_xid_start.h: Likewise.
39338         * lib/unictype/scripts.h: Likewise.
39339         * lib/unictype/scripts_byname.gperf: Likewise.
39340         * lib/unictype/sy_java_ident.h: Likewise.
39341         * lib/unigbrk/gbrkprop.h: Likewise.
39342         * lib/unilbrk/lbrkprop1.h: Likewise.
39343         * lib/unilbrk/lbrkprop2.h: Likewise.
39344         * lib/uninorm/decomposition-table2.h: Likewise.
39345         * lib/uniwbrk/wbrkprop.h: Likewise.
39346         * tests/unicase/test-cased.c: Likewise.
39347         * tests/unicase/test-ignorable.c: Likewise.
39348         * tests/unicase/test-uc_tolower.c: Likewise.
39349         * tests/unicase/test-uc_totitle.c: Likewise.
39350         * tests/unicase/test-uc_toupper.c: Likewise.
39351         * tests/unictype/test-categ_C.c: Likewise.
39352         * tests/unictype/test-categ_Cn.c: Likewise.
39353         * tests/unictype/test-categ_L.c: Likewise.
39354         * tests/unictype/test-categ_Ll.c: Likewise.
39355         * tests/unictype/test-categ_Lm.c: Likewise.
39356         * tests/unictype/test-categ_Lo.c: Likewise.
39357         * tests/unictype/test-categ_Lu.c: Likewise.
39358         * tests/unictype/test-categ_M.c: Likewise.
39359         * tests/unictype/test-categ_Mc.c: Likewise.
39360         * tests/unictype/test-categ_Me.c: Likewise.
39361         * tests/unictype/test-categ_Mn.c: Likewise.
39362         * tests/unictype/test-categ_N.c: Likewise.
39363         * tests/unictype/test-categ_Nd.c: Likewise.
39364         * tests/unictype/test-categ_No.c: Likewise.
39365         * tests/unictype/test-categ_P.c: Likewise.
39366         * tests/unictype/test-categ_Po.c: Likewise.
39367         * tests/unictype/test-categ_S.c: Likewise.
39368         * tests/unictype/test-categ_Sc.c: Likewise.
39369         * tests/unictype/test-categ_Sk.c: Likewise.
39370         * tests/unictype/test-categ_Sm.c: Likewise.
39371         * tests/unictype/test-categ_So.c: Likewise.
39372         * tests/unictype/test-ctype_alnum.c: Likewise.
39373         * tests/unictype/test-ctype_alpha.c: Likewise.
39374         * tests/unictype/test-ctype_graph.c: Likewise.
39375         * tests/unictype/test-ctype_lower.c: Likewise.
39376         * tests/unictype/test-ctype_print.c: Likewise.
39377         * tests/unictype/test-ctype_punct.c: Likewise.
39378         * tests/unictype/test-ctype_upper.c: Likewise.
39379         * tests/unictype/test-decdigit.h: Likewise.
39380         * tests/unictype/test-digit.h: Likewise.
39381         * tests/unictype/test-numeric.h: Likewise.
39382         * tests/unictype/test-pr_alphabetic.c: Likewise.
39383         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
39384         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
39385         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
39386         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
39387         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
39388         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
39389         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
39390         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
39391         * tests/unictype/test-pr_case_ignorable.c: Likewise.
39392         * tests/unictype/test-pr_cased.c: Likewise.
39393         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
39394         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
39395         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
39396         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
39397         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
39398         * tests/unictype/test-pr_combining.c: Likewise.
39399         * tests/unictype/test-pr_composite.c: Likewise.
39400         * tests/unictype/test-pr_currency_symbol.c: Likewise.
39401         * tests/unictype/test-pr_decimal_digit.c: Likewise.
39402         * tests/unictype/test-pr_deprecated.c: Likewise.
39403         * tests/unictype/test-pr_format_control.c: Likewise.
39404         * tests/unictype/test-pr_grapheme_base.c: Likewise.
39405         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
39406         * tests/unictype/test-pr_grapheme_link.c: Likewise.
39407         * tests/unictype/test-pr_id_continue.c: Likewise.
39408         * tests/unictype/test-pr_id_start.c: Likewise.
39409         * tests/unictype/test-pr_ideographic.c: Likewise.
39410         * tests/unictype/test-pr_lowercase.c: Likewise.
39411         * tests/unictype/test-pr_math.c: Likewise.
39412         * tests/unictype/test-pr_numeric.c: Likewise.
39413         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
39414         * tests/unictype/test-pr_other_id_continue.c: Likewise.
39415         * tests/unictype/test-pr_other_math.c: Likewise.
39416         * tests/unictype/test-pr_punctuation.c: Likewise.
39417         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
39418         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
39419         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
39420         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
39421         * tests/unictype/test-pr_uppercase.c: Likewise.
39422         * tests/unictype/test-pr_xid_continue.c: Likewise.
39423         * tests/unictype/test-pr_xid_start.c: Likewise.
39424         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
39425         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
39426         changes.
39427         * lib/unictype/categ_Cc.h: Likewise.
39428         * lib/unictype/categ_Cf.h: Likewise.
39429         * lib/unictype/categ_Co.h: Likewise.
39430         * lib/unictype/categ_Cs.h: Likewise.
39431         * lib/unictype/categ_Lt.h: Likewise.
39432         * lib/unictype/categ_Nl.h: Likewise.
39433         * lib/unictype/categ_Pc.h: Likewise.
39434         * lib/unictype/categ_Pd.h: Likewise.
39435         * lib/unictype/categ_Pe.h: Likewise.
39436         * lib/unictype/categ_Pf.h: Likewise.
39437         * lib/unictype/categ_Pi.h: Likewise.
39438         * lib/unictype/categ_Ps.h: Likewise.
39439         * lib/unictype/categ_Z.h: Likewise.
39440         * lib/unictype/categ_Zl.h: Likewise.
39441         * lib/unictype/categ_Zp.h: Likewise.
39442         * lib/unictype/categ_Zs.h: Likewise.
39443         * lib/unictype/ctype_blank.h: Likewise.
39444         * lib/unictype/ctype_cntrl.h: Likewise.
39445         * lib/unictype/ctype_digit.h: Likewise.
39446         * lib/unictype/ctype_space.h: Likewise.
39447         * lib/unictype/ctype_xdigit.h: Likewise.
39448         * lib/unictype/mirror.h: Likewise.
39449         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
39450         * lib/unictype/pr_bidi_block_separator.h: Likewise.
39451         * lib/unictype/pr_bidi_common_separator.h: Likewise.
39452         * lib/unictype/pr_bidi_control.h: Likewise.
39453         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
39454         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
39455         * lib/unictype/pr_bidi_european_digit.h: Likewise.
39456         * lib/unictype/pr_bidi_pdf.h: Likewise.
39457         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
39458         * lib/unictype/pr_bidi_whitespace.h: Likewise.
39459         * lib/unictype/pr_dash.h: Likewise.
39460         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
39461         * lib/unictype/pr_diacritic.h: Likewise.
39462         * lib/unictype/pr_extender.h: Likewise.
39463         * lib/unictype/pr_hex_digit.h: Likewise.
39464         * lib/unictype/pr_hyphen.h: Likewise.
39465         * lib/unictype/pr_ids_binary_operator.h: Likewise.
39466         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
39467         * lib/unictype/pr_ignorable_control.h: Likewise.
39468         * lib/unictype/pr_iso_control.h: Likewise.
39469         * lib/unictype/pr_join_control.h: Likewise.
39470         * lib/unictype/pr_left_of_pair.h: Likewise.
39471         * lib/unictype/pr_line_separator.h: Likewise.
39472         * lib/unictype/pr_logical_order_exception.h: Likewise.
39473         * lib/unictype/pr_non_break.h: Likewise.
39474         * lib/unictype/pr_not_a_character.h: Likewise.
39475         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
39476         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
39477         * lib/unictype/pr_other_id_start.h: Likewise.
39478         * lib/unictype/pr_other_lowercase.h: Likewise.
39479         * lib/unictype/pr_other_uppercase.h: Likewise.
39480         * lib/unictype/pr_paired_punctuation.h: Likewise.
39481         * lib/unictype/pr_paragraph_separator.h: Likewise.
39482         * lib/unictype/pr_pattern_syntax.h: Likewise.
39483         * lib/unictype/pr_pattern_white_space.h: Likewise.
39484         * lib/unictype/pr_private_use.h: Likewise.
39485         * lib/unictype/pr_quotation_mark.h: Likewise.
39486         * lib/unictype/pr_radical.h: Likewise.
39487         * lib/unictype/pr_soft_dotted.h: Likewise.
39488         * lib/unictype/pr_space.h: Likewise.
39489         * lib/unictype/pr_titlecase.h: Likewise.
39490         * lib/unictype/pr_variation_selector.h: Likewise.
39491         * lib/unictype/pr_white_space.h: Likewise.
39492         * lib/unictype/pr_zero_width.h: Likewise.
39493         * lib/unictype/sy_c_ident.h: Likewise.
39494         * lib/unictype/sy_c_whitespace.h: Likewise.
39495         * lib/unictype/sy_java_whitespace.h: Likewise.
39496         * lib/uninorm/composition-table.gperf: Likewise.
39497         * lib/uninorm/decomposition-table1.h: Likewise.
39498         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
39499         LB8.
39500         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39501         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39502         * modules/unictype/*: Bump version number of expected libunistring
39503         version.
39505 2011-01-09  Bruno Haible  <bruno@clisp.org>
39507         Update to Unicode 5.2.0.
39508         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
39509         trailing whitespace removed.
39511 2011-01-09  Bruno Haible  <bruno@clisp.org>
39513         New Unicode character properties, from Unicode 5.2.0.
39514         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
39515         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
39516         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
39517         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
39518         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
39519         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
39520         uc_is_property_cased, uc_is_property_case_ignorable,
39521         uc_is_property_changes_when_lowercased,
39522         uc_is_property_changes_when_uppercased,
39523         uc_is_property_changes_when_titlecased,
39524         uc_is_property_changes_when_casefolded,
39525         uc_is_property_changes_when_casemapped): New declarations.
39526         * lib/unictype/pr_byname.gperf: Add the new properties.
39527         * modules/unictype/property-byname (Depends-on): Depend on the new
39528         properties modules.
39529         * modules/unictype/property-all (Depends-on): Likewise.
39530         * MODULES.html.sh (Unicode string functions): Add
39531         unictype/property-case-ignorable, unictype/property-cased,
39532         unictype/property-changes-when-casefolded,
39533         unictype/property-changes-when-casemapped,
39534         unictype/property-changes-when-lowercased,
39535         unictype/property-changes-when-titlecased,
39536         unictype/property-changes-when-uppercased.
39538         New module 'unictype/property-changes-when-casemapped'.
39539         * modules/unictype/property-changes-when-casemapped: New file.
39540         * lib/unictype/pr_changes_when_casemapped.c: New file.
39541         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
39542         generated by gen-uni-tables.
39543         * modules/unictype/property-changes-when-casemapped-tests: New file.
39544         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
39545         automatically generated by gen-uni-tables.
39547         New module 'unictype/property-changes-when-casefolded'.
39548         * modules/unictype/property-changes-when-casefolded: New file.
39549         * lib/unictype/pr_changes_when_casefolded.c: New file.
39550         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
39551         generated by gen-uni-tables.
39552         * modules/unictype/property-changes-when-casefolded-tests: New file.
39553         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
39554         automatically generated by gen-uni-tables.
39556         New module 'unictype/property-changes-when-titlecased'.
39557         * modules/unictype/property-changes-when-titlecased: New file.
39558         * lib/unictype/pr_changes_when_titlecased.c: New file.
39559         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
39560         generated by gen-uni-tables.
39561         * modules/unictype/property-changes-when-titlecased-tests: New file.
39562         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
39563         automatically generated by gen-uni-tables.
39565         New module 'unictype/property-changes-when-uppercased'.
39566         * modules/unictype/property-changes-when-uppercased: New file.
39567         * lib/unictype/pr_changes_when_uppercased.c: New file.
39568         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
39569         generated by gen-uni-tables.
39570         * modules/unictype/property-changes-when-uppercased-tests: New file.
39571         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
39572         automatically generated by gen-uni-tables.
39574         New module 'unictype/property-changes-when-lowercased'.
39575         * modules/unictype/property-changes-when-lowercased: New file.
39576         * lib/unictype/pr_changes_when_lowercased.c: New file.
39577         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
39578         generated by gen-uni-tables.
39579         * modules/unictype/property-changes-when-lowercased-tests: New file.
39580         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
39581         automatically generated by gen-uni-tables.
39583         New module 'unictype/property-case-ignorable'.
39584         * modules/unictype/property-case-ignorable: New file.
39585         * lib/unictype/pr_case_ignorable.c: New file.
39586         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
39587         by gen-uni-tables.
39588         * modules/unictype/property-case-ignorable-tests: New file.
39589         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
39590         generated by gen-uni-tables.
39592         New module 'unictype/property-cased'.
39593         * modules/unictype/property-cased: New file.
39594         * lib/unictype/pr_cased.c: New file.
39595         * lib/unictype/pr_cased.h: New file, automatically generated by
39596         gen-uni-tables.
39597         * modules/unictype/property-cased-tests: New file.
39598         * tests/unictype/test-pr_cased.c: New file, automatically generated by
39599         gen-uni-tables.
39601 2011-01-09  Bruno Haible  <bruno@clisp.org>
39603         Update to Unicode 5.2.0.
39604         * lib/gen-uni-tables.c (output_predicate, output_category,
39605         output_combclass, output_bidi_category, output_decimal_digit_test,
39606         output_decimal_digit, output_digit_test, output_digit,
39607         output_numeric_test, output_numeric, output_mirror, output_scripts,
39608         output_scripts_byname, output_blocks, output_ident_category): Fix
39609         comment header.
39610         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
39611         get_wbp.
39612         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
39613         items.
39614         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
39615         Changes_When_Lowercased, Changes_When_Uppercased,
39616         Changes_When_Titlecased, Changes_When_Casefolded,
39617         Changes_When_Casemapped.
39618         (is_property_alphabetic, is_property_default_ignorable_code_point):
39619         Update for Unicode 5.2.0.
39620         (is_property_cased, is_property_case_ignorable,
39621         is_property_changes_when_lowercased,
39622         is_property_changes_when_uppercased,
39623         is_property_changes_when_titlecased,
39624         is_property_changes_when_casefolded,
39625         is_property_changes_when_casemapped): New functions.
39626         (output_properties): Output also the properties cased, case_ignorable,
39627         changes_when_lowercased, changes_when_uppercased,
39628         changes_when_titlecased, changes_when_casefolded,
39629         changes_when_casemapped.
39630         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
39631         Unicode TR#11 revision 17 -> 19.
39632         (LBP_CP): New enumeration value.
39633         (LBP_*): Adjust values accordingly.
39634         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
39635         TR#14 revision 22 -> 24.
39636         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
39637         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
39638         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
39639         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
39640         is_WBP_MIDLETTER.
39641         (output_composition_tables): Allow for 24 bits instead of 16 bits in
39642         the code1 and code2 of each composition rule.
39643         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
39644         * lib/unicase/ignorable.h: Likewise.
39645         * lib/unicase/tocasefold.h: Likewise.
39646         * lib/unicase/tolower.h: Likewise.
39647         * lib/unicase/totitle.h: Likewise.
39648         * lib/unicase/toupper.h: Likewise.
39649         * lib/unictype/bidi_of.h: Likewise.
39650         * lib/unictype/blocks.h: Likewise.
39651         * lib/unictype/categ_C.h: Likewise.
39652         * lib/unictype/categ_Cf.h: Likewise.
39653         * lib/unictype/categ_Cn.h: Likewise.
39654         * lib/unictype/categ_L.h: Likewise.
39655         * lib/unictype/categ_Ll.h: Likewise.
39656         * lib/unictype/categ_Lm.h: Likewise.
39657         * lib/unictype/categ_Lo.h: Likewise.
39658         * lib/unictype/categ_Lu.h: Likewise.
39659         * lib/unictype/categ_M.h: Likewise.
39660         * lib/unictype/categ_Mc.h: Likewise.
39661         * lib/unictype/categ_Mn.h: Likewise.
39662         * lib/unictype/categ_N.h: Likewise.
39663         * lib/unictype/categ_Nd.h: Likewise.
39664         * lib/unictype/categ_Nl.h: Likewise.
39665         * lib/unictype/categ_No.h: Likewise.
39666         * lib/unictype/categ_P.h: Likewise.
39667         * lib/unictype/categ_Pd.h: Likewise.
39668         * lib/unictype/categ_Po.h: Likewise.
39669         * lib/unictype/categ_S.h: Likewise.
39670         * lib/unictype/categ_Sc.h: Likewise.
39671         * lib/unictype/categ_So.h: Likewise.
39672         * lib/unictype/categ_of.h: Likewise.
39673         * lib/unictype/combining.h: Likewise.
39674         * lib/unictype/ctype_alnum.h: Likewise.
39675         * lib/unictype/ctype_alpha.h: Likewise.
39676         * lib/unictype/ctype_graph.h: Likewise.
39677         * lib/unictype/ctype_lower.h: Likewise.
39678         * lib/unictype/ctype_print.h: Likewise.
39679         * lib/unictype/ctype_punct.h: Likewise.
39680         * lib/unictype/ctype_upper.h: Likewise.
39681         * lib/unictype/decdigit.h: Likewise.
39682         * lib/unictype/digit.h: Likewise.
39683         * lib/unictype/numeric.h: Likewise.
39684         * lib/unictype/pr_alphabetic.h: Likewise.
39685         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
39686         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
39687         * lib/unictype/pr_bidi_european_digit.h: Likewise.
39688         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
39689         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
39690         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
39691         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
39692         * lib/unictype/pr_combining.h: Likewise.
39693         * lib/unictype/pr_composite.h: Likewise.
39694         * lib/unictype/pr_currency_symbol.h: Likewise.
39695         * lib/unictype/pr_dash.h: Likewise.
39696         * lib/unictype/pr_decimal_digit.h: Likewise.
39697         * lib/unictype/pr_deprecated.h: Likewise.
39698         * lib/unictype/pr_diacritic.h: Likewise.
39699         * lib/unictype/pr_extender.h: Likewise.
39700         * lib/unictype/pr_grapheme_base.h: Likewise.
39701         * lib/unictype/pr_grapheme_extend.h: Likewise.
39702         * lib/unictype/pr_grapheme_link.h: Likewise.
39703         * lib/unictype/pr_id_continue.h: Likewise.
39704         * lib/unictype/pr_id_start.h: Likewise.
39705         * lib/unictype/pr_ideographic.h: Likewise.
39706         * lib/unictype/pr_ignorable_control.h: Likewise.
39707         * lib/unictype/pr_logical_order_exception.h: Likewise.
39708         * lib/unictype/pr_lowercase.h: Likewise.
39709         * lib/unictype/pr_numeric.h: Likewise.
39710         * lib/unictype/pr_other_alphabetic.h: Likewise.
39711         * lib/unictype/pr_punctuation.h: Likewise.
39712         * lib/unictype/pr_sentence_terminal.h: Likewise.
39713         * lib/unictype/pr_terminal_punctuation.h: Likewise.
39714         * lib/unictype/pr_unassigned_code_value.h: Likewise.
39715         * lib/unictype/pr_unified_ideograph.h: Likewise.
39716         * lib/unictype/pr_uppercase.h: Likewise.
39717         * lib/unictype/pr_xid_continue.h: Likewise.
39718         * lib/unictype/pr_xid_start.h: Likewise.
39719         * lib/unictype/pr_zero_width.h: Likewise.
39720         * lib/unictype/scripts.h: Likewise.
39721         * lib/unictype/scripts_byname.gperf: Likewise.
39722         * lib/unictype/sy_java_ident.h: Likewise.
39723         * lib/unigbrk/gbrkprop.h: Likewise.
39724         * lib/unilbrk/lbrkprop1.h: Likewise.
39725         * lib/unilbrk/lbrkprop2.h: Likewise.
39726         * lib/unilbrk/lbrktables.h: Likewise.
39727         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
39728         LBP_CP. Implement rule LB30.
39729         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
39730         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
39731         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
39732         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
39733         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
39734         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
39735         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
39736         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
39737         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
39738         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
39739         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
39740         bits instead of 16 bits in the code1 and code2 of each composition
39741         rule.
39742         (uc_composition): Update for Unicode 5.2.0.
39743         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
39744         * lib/uninorm/decomposition-table2.h: Likewise.
39745         * lib/uniwbrk/wbrkprop.h: Likewise.
39746         * tests/unicase/test-cased.c: Likewise.
39747         * tests/unicase/test-ignorable.c: Likewise.
39748         * tests/unicase/test-uc_tolower.c: Likewise.
39749         * tests/unicase/test-uc_totitle.c: Likewise.
39750         * tests/unicase/test-uc_toupper.c: Likewise.
39751         * tests/unictype/test-categ_C.c: Likewise.
39752         * tests/unictype/test-categ_Cf.c: Likewise.
39753         * tests/unictype/test-categ_Cn.c: Likewise.
39754         * tests/unictype/test-categ_L.c: Likewise.
39755         * tests/unictype/test-categ_Ll.c: Likewise.
39756         * tests/unictype/test-categ_Lm.c: Likewise.
39757         * tests/unictype/test-categ_Lo.c: Likewise.
39758         * tests/unictype/test-categ_Lu.c: Likewise.
39759         * tests/unictype/test-categ_M.c: Likewise.
39760         * tests/unictype/test-categ_Mc.c: Likewise.
39761         * tests/unictype/test-categ_Mn.c: Likewise.
39762         * tests/unictype/test-categ_N.c: Likewise.
39763         * tests/unictype/test-categ_Nd.c: Likewise.
39764         * tests/unictype/test-categ_Nl.c: Likewise.
39765         * tests/unictype/test-categ_No.c: Likewise.
39766         * tests/unictype/test-categ_P.c: Likewise.
39767         * tests/unictype/test-categ_Pd.c: Likewise.
39768         * tests/unictype/test-categ_Po.c: Likewise.
39769         * tests/unictype/test-categ_S.c: Likewise.
39770         * tests/unictype/test-categ_Sc.c: Likewise.
39771         * tests/unictype/test-categ_So.c: Likewise.
39772         * tests/unictype/test-ctype_alnum.c: Likewise.
39773         * tests/unictype/test-ctype_alpha.c: Likewise.
39774         * tests/unictype/test-ctype_graph.c: Likewise.
39775         * tests/unictype/test-ctype_lower.c: Likewise.
39776         * tests/unictype/test-ctype_print.c: Likewise.
39777         * tests/unictype/test-ctype_punct.c: Likewise.
39778         * tests/unictype/test-ctype_upper.c: Likewise.
39779         * tests/unictype/test-decdigit.h: Likewise.
39780         * tests/unictype/test-digit.h: Likewise.
39781         * tests/unictype/test-numeric.h: Likewise.
39782         * tests/unictype/test-pr_alphabetic.c: Likewise.
39783         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
39784         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
39785         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
39786         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
39787         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
39788         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
39789         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
39790         * tests/unictype/test-pr_combining.c: Likewise.
39791         * tests/unictype/test-pr_composite.c: Likewise.
39792         * tests/unictype/test-pr_currency_symbol.c: Likewise.
39793         * tests/unictype/test-pr_dash.c: Likewise.
39794         * tests/unictype/test-pr_decimal_digit.c: Likewise.
39795         * tests/unictype/test-pr_deprecated.c: Likewise.
39796         * tests/unictype/test-pr_diacritic.c: Likewise.
39797         * tests/unictype/test-pr_extender.c: Likewise.
39798         * tests/unictype/test-pr_grapheme_base.c: Likewise.
39799         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
39800         * tests/unictype/test-pr_grapheme_link.c: Likewise.
39801         * tests/unictype/test-pr_id_continue.c: Likewise.
39802         * tests/unictype/test-pr_id_start.c: Likewise.
39803         * tests/unictype/test-pr_ideographic.c: Likewise.
39804         * tests/unictype/test-pr_ignorable_control.c: Likewise.
39805         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
39806         * tests/unictype/test-pr_lowercase.c: Likewise.
39807         * tests/unictype/test-pr_numeric.c: Likewise.
39808         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
39809         * tests/unictype/test-pr_punctuation.c: Likewise.
39810         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
39811         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
39812         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
39813         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
39814         * tests/unictype/test-pr_uppercase.c: Likewise.
39815         * tests/unictype/test-pr_xid_continue.c: Likewise.
39816         * tests/unictype/test-pr_xid_start.c: Likewise.
39817         * tests/unictype/test-pr_zero_width.c: Likewise.
39818         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
39819         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
39820         changed behaviour: line breaking is now disallowed between a letter
39821         or '=' and '('.
39822         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39823         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39824         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
39825         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
39826         * tests/uniwidth/test-uc_width2.sh: Same updates as in
39827         lib/uniwidth/width.c.
39828         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
39829         without comments, but with the original copyright notice.
39830         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
39831         changes.
39832         * lib/unictype/categ_Cc.h: Likewise.
39833         * lib/unictype/categ_Co.h: Likewise.
39834         * lib/unictype/categ_Cs.h: Likewise.
39835         * lib/unictype/categ_Lt.h: Likewise.
39836         * lib/unictype/categ_Me.h: Likewise.
39837         * lib/unictype/categ_Pc.h: Likewise.
39838         * lib/unictype/categ_Pe.h: Likewise.
39839         * lib/unictype/categ_Pf.h: Likewise.
39840         * lib/unictype/categ_Pi.h: Likewise.
39841         * lib/unictype/categ_Ps.h: Likewise.
39842         * lib/unictype/categ_Sk.h: Likewise.
39843         * lib/unictype/categ_Sm.h: Likewise.
39844         * lib/unictype/categ_Z.h: Likewise.
39845         * lib/unictype/categ_Zl.h: Likewise.
39846         * lib/unictype/categ_Zp.h: Likewise.
39847         * lib/unictype/categ_Zs.h: Likewise.
39848         * lib/unictype/ctype_blank.h: Likewise.
39849         * lib/unictype/ctype_cntrl.h: Likewise.
39850         * lib/unictype/ctype_digit.h: Likewise.
39851         * lib/unictype/ctype_space.h: Likewise.
39852         * lib/unictype/ctype_xdigit.h: Likewise.
39853         * lib/unictype/mirror.h: Likewise.
39854         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
39855         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
39856         * lib/unictype/pr_bidi_block_separator.h: Likewise.
39857         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
39858         * lib/unictype/pr_bidi_common_separator.h: Likewise.
39859         * lib/unictype/pr_bidi_control.h: Likewise.
39860         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
39861         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
39862         * lib/unictype/pr_bidi_pdf.h: Likewise.
39863         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
39864         * lib/unictype/pr_bidi_whitespace.h: Likewise.
39865         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
39866         * lib/unictype/pr_format_control.h: Likewise.
39867         * lib/unictype/pr_hex_digit.h: Likewise.
39868         * lib/unictype/pr_hyphen.h: Likewise.
39869         * lib/unictype/pr_ids_binary_operator.h: Likewise.
39870         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
39871         * lib/unictype/pr_iso_control.h: Likewise.
39872         * lib/unictype/pr_join_control.h: Likewise.
39873         * lib/unictype/pr_left_of_pair.h: Likewise.
39874         * lib/unictype/pr_line_separator.h: Likewise.
39875         * lib/unictype/pr_math.h: Likewise.
39876         * lib/unictype/pr_non_break.h: Likewise.
39877         * lib/unictype/pr_not_a_character.h: Likewise.
39878         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
39879         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
39880         * lib/unictype/pr_other_id_continue.h: Likewise.
39881         * lib/unictype/pr_other_id_start.h: Likewise.
39882         * lib/unictype/pr_other_lowercase.h: Likewise.
39883         * lib/unictype/pr_other_math.h: Likewise.
39884         * lib/unictype/pr_other_uppercase.h: Likewise.
39885         * lib/unictype/pr_paired_punctuation.h: Likewise.
39886         * lib/unictype/pr_paragraph_separator.h: Likewise.
39887         * lib/unictype/pr_pattern_syntax.h: Likewise.
39888         * lib/unictype/pr_pattern_white_space.h: Likewise.
39889         * lib/unictype/pr_private_use.h: Likewise.
39890         * lib/unictype/pr_quotation_mark.h: Likewise.
39891         * lib/unictype/pr_radical.h: Likewise.
39892         * lib/unictype/pr_soft_dotted.h: Likewise.
39893         * lib/unictype/pr_space.h: Likewise.
39894         * lib/unictype/pr_titlecase.h: Likewise.
39895         * lib/unictype/pr_variation_selector.h: Likewise.
39896         * lib/unictype/pr_white_space.h: Likewise.
39897         * lib/unictype/sy_c_ident.h: Likewise.
39898         * lib/unictype/sy_c_whitespace.h: Likewise.
39899         * lib/unictype/sy_java_whitespace.h: Likewise.
39900         * modules/uni*/*: Bump version number of expected libunistring version.
39901         Reported by Simon Josefsson.
39903 2011-01-09  Karl Heuer  <kwzh@gnu.org>
39905         useless-if-before-free: fix typo in --help and make the internal,
39906         automatic version date update process work once again.
39907         --help output contained a NUL character instead of the
39908         backslash-zero that was intended.  Also, the "must lie within
39909         the first 8 lines" line is on line 9, and hence not getting
39910         automatically updated.
39911         * build-aux/useless-if-before-free: Fix the former by adding a
39912         backslash, and the latter by condensing the three lines of what-it-does
39913         to a single line, leaving one line of slack for the future.
39915 2011-01-09  Bruno Haible  <bruno@clisp.org>
39917         uniwidth/width: Fix width of U+1D173..U+1D17A.
39918         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
39919         symbolic_width, output_width_property_test): New functions.
39920         (main): Invoke output_nonspacing_property, output_width_property_test.
39921         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
39922         U+1D173..U+1D17A.
39923         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
39924         1.
39925         * modules/uniwidth/*: Bump version number of expected libunistring
39926         version.
39927         * modules/unilbrk/*: Likewise.
39929 2011-01-08  Bruno Haible  <bruno@clisp.org>
39931         uninorm tests: Preserve copyright of Unicode data file.
39932         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
39933         Mention modifications.
39935 2011-01-08  Bruno Haible  <bruno@clisp.org>
39937         gen-uni-tables: Prepare for Unicode 5.2.0.
39938         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
39939         (debug_output_lbp, output_lbp): Update.
39941 2011-01-08  Bruno Haible  <bruno@clisp.org>
39943         unilbrk: Clarify gen-uni-tables.c code.
39944         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
39945         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
39946         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
39948 2011-01-07  Bruno Haible  <bruno@clisp.org>
39950         strtod: Restore errno when successfully parsing Infinity or NaN.
39951         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
39952         restore the original errno.
39954 2011-01-07  Bruno Haible  <bruno@clisp.org>
39956         remove test: Avoid failure on HP-UX 11.
39957         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
39959 2011-01-07  Bruno Haible  <bruno@clisp.org>
39961         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
39962         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
39963         error code.
39965 2011-01-07  Pádraig Brady  <P@draigBrady.com>
39967         ignore-value: fixup comments, and add Eric Blake
39968         as an author since he rewrote the macros.
39969         * lib/ignore-value.h (ignore_value):  State that
39970         we now support aggregates.  Also specify exactly
39971         when the GCC warn_unused_result feature was added.
39973 2011-01-06  Eric Blake  <eblake@redhat.com>
39975         ignore-value: support aggregate types
39976         * lib/ignore-value.h (ignore_value): Provide separate gcc
39977         definition.
39978         * modules/ignore-value-tests: New test module.
39979         * tests/test-ignore-value.c: New test.
39981         maint.mk: improve sc_prohibit_strcmp regex
39982         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
39983         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
39984         definition of STRNEQ.
39986         signal: work around Haiku issue with SIGBUS
39987         * lib/siglist.h: Add comment.
39988         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
39989         strsignal's favoring of SIGSEGV.
39990         * tests/test-signal.c (main): Avoid test failure.
39991         * doc/posix-headers/signal.texi (signal.h): Document the issue.
39992         Reported by Scott McCreary.
39994         maint.mk: add pre-release check to ensure submodule commits are public
39995         * top/maint.mk (public-submodule-commit): New rule.
39996         (submodule-checks): New variable.
39997         (alpha beta stable): Depend on the variable.
39999 2011-01-05  Pádraig Brady  <P@draigBrady.com>
40000         and Jim Meyering  <meyering@redhat.com>
40002         ignore-value: make ignore_value more generic; deprecate ignore_ptr
40003         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
40004         (ATTRIBUTE_DEPRECATED): Define.
40005         (_ignore_case): New function.
40006         (ignore_value): New macro, to replace the old function.
40007         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
40008         * modules/ignore-value (Depends-on): Add stdint.
40010 2011-01-04  Eric Blake  <eblake@redhat.com>
40012         doc: regenerate INSTALL
40013         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
40014         @firstparagraphindent support, now that autoconf dropped it.
40015         (INSTALL_PRELUDE): Reinstate old macro.
40016         * doc/install.texi: Resync from autoconf.
40017         * doc/INSTALL: Reflect recent autoconf update.
40018         * doc/INSTALL.ISO: Likewise.
40019         * doc/INSTALL.UTF-8: Likewise.
40020         Reported by Karl Berry.
40022 2011-01-04  Bruce Korb  <address@hidden>
40024         git-version-gen: avoid a sub-shell
40025         * build-aux/git-version-gen: Redirect stderr in `...` via
40026         "exec 2>...", rather than via an added sub-shell.
40028 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
40030         git-version-gen: use (...) rather than sh -c '...'
40031         * build-aux/git-version-gen: Rather than hard-coding a shell's name
40032         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
40034 2011-01-03  Jim Meyering  <meyering@redhat.com>
40036         git-version-gen: convert leading TABs to spaces
40037         * build-aux/git-version-gen: Expand leading TABs.
40039         git-version-gen: handle failed "git rev-list"
40040         * build-aux/git-version-gen: Rather than leaking a "fatal" error
40041         from git and proceeding as if it had succeeded but printed no SHA1
40042         checksums, suppress the diagnostic and handle the failure.
40043         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
40045         git-version-gen: include command name in one more diagnostic
40046         * build-aux/git-version-gen: When the required .tarball-version file
40047         was missing or unreadable, you might see the diagnostic from "cat",
40048         but no trace of the name of the invoking script.  Now, you still see
40049         the diagnostic from cat, but also get one from "git-version-gen: ".
40050         Inspired by a patch from Bruce Korb.
40052         update-copyright: adjust test to match changed code
40053         * tests/test-update-copyright.sh: Change test's expected output
40054         to match new actual output.
40056 2011-01-02  Bruno Haible  <bruno@clisp.org>
40058         getlogin_r: Avoid test failure on HP-UX 11.
40059         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
40060         ERANGE when the second argument is zero.
40061         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
40062         portability problem.
40064 2011-01-02  Bruce Korb  <bkorb@gnu.org>
40066         * build-aux/update-copyright: doc Simon's changes
40068 2011-01-02  Simon Josefsson  <simon@josefsson.org>
40070         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
40071         environment variable.
40073 2011-01-02  Bruno Haible  <bruno@clisp.org>
40075         unigbrk: Avoid gcc warnings.
40076         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
40077         unused variable.
40078         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
40079         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
40080         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
40081         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
40082         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
40083         Change type of first argument to 'const char *'.
40084         (main): Remove unused variable.
40085         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
40086         type of first argument to 'const char *'.
40087         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
40088         Likewise.
40089         (main): Change type of variable 's'.
40090         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
40091         to 'int'.
40093 2011-01-02  Bruno Haible  <bruno@clisp.org>
40095         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
40096         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
40097         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
40098         bug.
40099         * lib/pwrite.c: Undo 2010-12-31 patch.
40100         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
40102 2011-01-02  Bruno Haible  <bruno@clisp.org>
40104         pread: Fix test whether it works.
40105         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
40107 2011-01-02  Bruno Haible  <bruno@clisp.org>
40109         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
40110         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
40111         ends in "6". Don't require a specific month name. Try also the locale
40112         names found on HP-UX 11 and Solaris 7.
40114 2011-01-02  Bruno Haible  <bruno@clisp.org>
40116         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
40117         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
40118         C linkage.
40119         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
40121 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
40123         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
40124         for consistency, since the "cluster" term is not used elsewhere.
40125         * lib/unigbrk.in.h: Update name.
40126         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
40127         * lib/unigbrk/u16-grapheme-next.c: Update name.
40128         * lib/unigbrk/u16-grapheme-prev.c: Update name.
40129         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
40130         * lib/unigbrk/u32-grapheme-next.c: Update name.
40131         * lib/unigbrk/u32-grapheme-prev.c: Update name.
40132         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
40133         * lib/unigbrk/u8-grapheme-next.c: Update name.
40134         * lib/unigbrk/u8-grapheme-prev.c: Update name.
40135         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
40136         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
40137         Suggested by Bruno Haible.
40139 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
40141         Remove module 'u8-grapheme-len' as too redundant with
40142         'u8-grapheme-next'.
40143         * modules/unigbrk/u8-grapheme-len: Delete file.
40144         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
40145         * lib/unigbrk.in.h: Remove prototype for deleted function.
40146         * lib/unigbrk/u8-grapheme-len.c: Delete file.
40147         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
40149         Remove module 'u16-grapheme-len' as too redundant with
40150         'u16-grapheme-next'.
40151         * modules/unigbrk/u16-grapheme-len: Delete file.
40152         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
40153         * lib/unigbrk.in.h: Remove prototype for deleted function.
40154         * lib/unigbrk/u16-grapheme-len.c: Delete file.
40155         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
40157         Remove module 'u32-grapheme-len' as too redundant with
40158         'u32-grapheme-next'.
40159         * modules/unigbrk/u32-grapheme-len: Delete file.
40160         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
40161         * lib/unigbrk.in.h: Remove prototype for deleted function.
40162         * lib/unigbrk/u32-grapheme-len.c: Delete file.
40163         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
40165         Suggested by Bruno Haible.
40167 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
40169         * unigbrk.in.h: Fix typo: "ben" => "been".
40170         Reported by Bruno Haible.
40172 2011-01-01  Jim Meyering  <meyering@redhat.com>
40174         maint: update almost all copyright ranges to include 2011
40175         Run the new "make update-copyright" rule.
40177 2011-01-01  Jim Meyering  <meyering@redhat.com>
40179         maint: update-copyright: exempt doc/INSTALL*
40180         * Makefile (update-copyright): Also exclude doc/INSTALL*,
40181         since they are generated.  Suggested by Bruno Haible.
40183 2011-01-01  Jim Meyering  <meyering@redhat.com>
40185         maint: refine the update-copyright rule
40186         * Makefile (update-copyright): Also exclude any file that includes
40187         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
40188         code that merely generates the comment.
40190 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
40192         New module 'u8-grapheme-len'.
40193         * modules/unigbrk/u8-grapheme-len: New file.
40194         * modules/unigbrk/u8-grapheme-len-tests: New file.
40195         * lib/unigbrk.in.h: Add prototype for new function.
40196         * lib/unigbrk/u8-grapheme-len.c: New file.
40197         * tests/unigbrk/test-u8-grapheme-len.c: New file.
40199         New module 'u16-grapheme-len'.
40200         * modules/unigbrk/u16-grapheme-len: New file.
40201         * modules/unigbrk/u16-grapheme-len-tests: New file.
40202         * lib/unigbrk.in.h: Add prototype for new function.
40203         * lib/unigbrk/u16-grapheme-len.c: New file.
40204         * tests/unigbrk/test-u16-grapheme-len.c: New file.
40206         New module 'u32-grapheme-len'.
40207         * modules/unigbrk/u32-grapheme-len: New file.
40208         * modules/unigbrk/u32-grapheme-len-tests: New file.
40209         * lib/unigbrk.in.h: Add prototype for new function.
40210         * lib/unigbrk/u32-grapheme-len.c: New file.
40211         * tests/unigbrk/test-u32-grapheme-len.c: New file.
40213         New module 'u8-grapheme-next'.
40214         * modules/unigbrk/u8-grapheme-next: New file.
40215         * modules/unigbrk/u8-grapheme-next-tests: New file.
40216         * lib/unigbrk.in.h: Add prototype for new function.
40217         * lib/unigbrk/u8-grapheme-next.c: New file.
40218         * tests/unigbrk/test-u8-grapheme-next.c: New file.
40220         New module 'u16-grapheme-next'.
40221         * modules/unigbrk/u16-grapheme-next: New file.
40222         * modules/unigbrk/u16-grapheme-next-tests: New file.
40223         * lib/unigbrk.in.h: Add prototype for new function.
40224         * lib/unigbrk/u16-grapheme-next.c: New file.
40225         * tests/unigbrk/test-u16-grapheme-next.c: New file.
40227         New module 'u32-grapheme-next'.
40228         * modules/unigbrk/u32-grapheme-next: New file.
40229         * modules/unigbrk/u32-grapheme-next-tests: New file.
40230         * lib/unigbrk.in.h: Add prototype for new function.
40231         * lib/unigbrk/u32-grapheme-next.c: New file.
40232         * tests/unigbrk/test-u32-grapheme-next.c: New file.
40234         New module 'u8-grapheme-prev'.
40235         * modules/unigbrk/u8-grapheme-prev: New file.
40236         * modules/unigbrk/u8-grapheme-prev-tests: New file.
40237         * lib/unigbrk.in.h: Add prototype for new function.
40238         * lib/unigbrk/u8-grapheme-prev.c: New file.
40239         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
40241         New module 'u16-grapheme-prev'.
40242         * modules/unigbrk/u16-grapheme-prev: New file.
40243         * modules/unigbrk/u16-grapheme-prev-tests: New file.
40244         * lib/unigbrk.in.h: Add prototype for new function.
40245         * lib/unigbrk/u16-grapheme-prev.c: New file.
40246         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
40248         New module 'u32-grapheme-prev'.
40249         * modules/unigbrk/u32-grapheme-prev: New file.
40250         * modules/unigbrk/u32-grapheme-prev-tests: New file.
40251         * lib/unigbrk.in.h: Add prototype for new function.
40252         * lib/unigbrk/u32-grapheme-prev.c: New file.
40253         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
40255         New module 'u8-grapheme-breaks'.
40256         * modules/unigbrk/u8-grapheme-breaks: New file.
40257         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
40258         * lib/unigbrk.in.h: Add prototype for new function.
40259         * lib/unigbrk/u8-grapheme-breaks.c: New file.
40260         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
40262         New module 'u16-grapheme-breaks'.
40263         * modules/unigbrk/u16-grapheme-breaks: New file.
40264         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
40265         * lib/unigbrk.in.h: Add prototype for new function.
40266         * lib/unigbrk/u16-grapheme-breaks.c: New file.
40267         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
40269         New module 'u32-grapheme-breaks'.
40270         * modules/unigbrk/u32-grapheme-breaks: New file.
40271         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
40272         * lib/unigbrk.in.h: Add prototype for new function.
40273         * lib/unigbrk/u32-grapheme-breaks.c: New file.
40274         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
40276         New module 'ulc-grapheme-breaks'.
40277         * modules/unigbrk/ulc-grapheme-breaks: New file.
40278         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
40279         * m4/locale-ar.m4: New file.
40280         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
40281         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
40282         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
40284 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
40286         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
40287         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
40288         modified how this file was generated before I initially submitted
40289         the module, but failed to regenerate it.  This meant that several
40290         of the level2 entries were wrong.
40291         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
40292         Remove the division-by-2 that is folded into the table now that
40293         gbrkprop.h has been regenerated properly.  Now -1 entries are
40294         handled correctly.
40296         New module 'unigbrk/uc-gbrk-prop-tests'.
40297         * modules/unigbrk/uc-gbrk-prop-tests: New file.
40298         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
40299         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
40300         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
40302 2011-01-01  Bruno Haible  <bruno@clisp.org>
40304         Avoid use of hexadecimal escapes.
40305         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
40306         instead of hexadecimal escapes.
40308 2011-01-01  Jim Meyering  <meyering@redhat.com>
40310         maint: new rule to update copyright year ranges
40311         * Makefile (update-copyright): New rule.
40313         maint: indent with TABs in Makefile
40314         * Makefile: Expand leading sequences of spaces to TABs
40316         version-etc: update the copyright year it reports
40317         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
40319 2010-12-31  Bruno Haible  <bruno@clisp.org>
40321         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
40322         * lib/isfinite.c (zerof, zerod, zerol): New variables.
40323         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
40324         zero.
40326 2010-12-31  Bruno Haible  <bruno@clisp.org>
40328         pwrite: Work around HP-UX 11.11 bug.
40329         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
40330         works and set REPLACE_PWRITE if not.
40331         * lib/pwrite.c (pwrite): Add an implementation that uses the system
40332         function.
40333         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
40335 2010-12-31  Bruno Haible  <bruno@clisp.org>
40337         pread: Work around HP-UX 11 bugs.
40338         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
40339         and set REPLACE_PREAD if not.
40340         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
40342 2010-12-31  Eric Blake  <eblake@redhat.com>
40344         nl_langinfo: fix YESEXPR on Irix 6.5
40345         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
40346         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
40347         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
40348         it.
40350 2010-12-31  Bruno Haible  <bruno@clisp.org>
40352         iconv: Document HP-UX 11 bug.
40353         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
40355 2010-12-31  Bruno Haible  <bruno@clisp.org>
40357         ldexpl: Fix link error on HP-UX 11.
40358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
40359         LDEXPL_LIBM, using $ISNANL_LIBM.
40361 2010-12-31  Eric Blake  <eblake@redhat.com>
40363         ftello: avoid compilation failure with SunStudio c89
40364         * lib/ftello.c (ftello): Use lseek, not llseek.
40366         tests: avoid failing coreutils tests on cygwin
40367         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
40368         (create_exe_shims_): Return 0 when skipping.
40370 2010-12-31  Bruno Haible  <bruno@clisp.org>
40372         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
40373         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
40375 2010-12-31  Bruno Haible  <bruno@clisp.org>
40377         waitpid: Fix link error in C++ mode.
40378         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
40380 2010-12-31  Bruno Haible  <bruno@clisp.org>
40382         isnan: Use GCC built-ins when possible.
40383         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
40384         __builtin_isnan.
40385         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
40386         (isnan): Define using GCC built-ins for GCC >= 4.0.
40388 2010-12-31  Bruno Haible  <bruno@clisp.org>
40390         isnand: Fix mistake.
40391         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
40392         __builtin_isnand.
40394 2010-12-31  Bruno Haible  <bruno@clisp.org>
40396         open: Avoid C++ error on HP-UX 11.
40397         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
40399 2010-12-31  Bruno Haible  <bruno@clisp.org>
40401         time_r: Add missing declarations on HP-UX 11.
40402         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
40403         instead of HAVE_LOCALTIME_R.
40404         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
40405         HAVE_LOCALTIME_R always.
40406         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
40407         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
40408         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
40409         HAVE_LOCALTIME_R.
40410         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
40411         * doc/posix-functions/localtime_r.texi: Likewise.
40413 2010-12-29  Eric Blake  <eblake@redhat.com>
40415         mountlist: tweak previous commit
40416         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
40417         Reported by Paul Eggert.
40419         mountlist: fix local drive detection on cygwin
40420         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
40421         that works for cygwin.
40423 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
40425         ftoastr, snprintf: ftoastr + snprintf module
40426         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
40427         since the snprintf module now should be good enough here.
40428         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
40429         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
40430         and gl_MODULE_INDICATOR([snprintf]), but the former enables
40431         GNULIB_SNPRINTF only for the test directory, and the latter
40432         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
40433         seems to suffice by itself.
40435 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
40437         alloca: one step towards thread-safety
40438         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
40439         need for a static variable.  All callers changed.  This does not
40440         make the alloca replacement thread-safe, but it's one step.
40442         tests: minor indenting change
40443         * tests/init.sh: Sync from coreutils housekeeping patch
40444         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
40445         to keep lines within 80 columns.
40447 2010-12-28  Jim Meyering  <meyering@redhat.com>
40449         regex: don't infloop on persistent failing calloc
40450         * lib/regexec.c (build_trtable): Return failure indication upon
40451         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
40452         In glibc, this was fixed for version 2.13:
40453         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
40455 2010-12-28  Bruno Haible  <bruno@clisp.org>
40456             Paul Eggert <eggert@cs.ucla.edu>
40458         linkat: Make implementation robust against system behaviour variations.
40459         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
40460         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
40461         way, and to -2 if it needs a generic runtime test.
40462         * lib/linkat.c (solaris_optimized_link_immediate,
40463         solaris_optimized_link_follow): New functions.
40464         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
40465         (check_same_link): Use it.
40467 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
40469         New module 'unigbrk/base'.
40470         * modules/unigbrk/base: New file.
40471         * lib/unigbrk.in.h: New file.
40473         New module 'unigbrk/uc-gbrk-prop'.
40474         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
40475         * modules/unigbrk/uc-gbrk-prop: New file.
40476         * lib/unigbrk/gbrkprop.h: New file.
40477         * lib/unigbrk/uc-gbrk-prop.c: New file.
40479         New module 'unigbrk/uc-is-grapheme-break'.
40480         * modules/unigbrk/uc-is-grapheme-break: New file.
40481         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
40482         * lib/unigbrk/uc-is-grapheme-break.c: New file.
40483         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
40484         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
40485         * tests/unigbrk/GraphemeBreakTest.txt: New file.
40487         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
40489 2010-12-27  Bruno Haible  <bruno@clisp.org>
40491         linkat test: Avoid failure on Solaris 11 2010-11.
40492         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
40494 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
40496         utimens: work around glibc rounding bug on more platforms
40497         * lib/utimens.c (fdutimens): Work around rounding bug even if
40498         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
40499         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
40501 2010-12-27  Bruno Haible  <bruno@clisp.org>
40503         select tests: Improve comments.
40504         * tests/test-select.c (do_select): Add comments.
40506 2010-12-27  Bruno Haible  <bruno@clisp.org>
40508         select tests: Safer way of handling timeout.
40509         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
40510         at every invocation.
40512 2010-12-27  Bruno Haible  <bruno@clisp.org>
40514         select tests: Use 'bool' where appropriate.
40515         * tests/test-select.c (connect_to_socket): Change argument type to
40516         'bool'.
40518 2010-12-27  Bruno Haible  <bruno@clisp.org>
40520         select tests: Use existing modules.
40521         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
40522         (configure.ac): Don't test for unistd.h.
40523         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
40524         declared in <unistd.h>.
40526 2010-12-27  Bruno Haible  <bruno@clisp.org>
40528         mbrtowc: Work around a Solaris 7 bug.
40529         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
40530         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
40531         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
40532         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
40533         MBRTOWC_NULL_ARG1_BUG.
40534         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
40535         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
40536         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
40537         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
40539 2010-12-27  Jim Meyering  <meyering@redhat.com>
40541         read-file.c: tweak syntax
40542         * lib/read-file.c (fread_file): Remove space after "*" in function
40543         definitions.
40545 2010-12-27  Bruno Haible  <bruno@clisp.org>
40547         times test: Avoid gcc warnings on OSF/1.
40548         * tests/test-times.c (main): Cast printf arguments from clock_t to
40549         'long int'.
40551 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
40553         utimens: work around glibc rounding bug on older Linux kernels
40554         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
40555         on Linux with a glibc whose utimes might not work, then work
40556         around a longstanding glibc bug involving rounding rather than
40557         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
40558         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
40560 2010-12-26  Bruno Haible  <bruno@clisp.org>
40562         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
40563         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
40564         _GL_CXXALIAS_SYS.
40565         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40567 2010-12-26  Bruno Haible  <bruno@clisp.org>
40569         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
40570         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
40571         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
40572         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
40573         looking for the declaration.
40574         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
40575         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
40576         problem.
40577         * doc/posix-functions/inet_pton.texi: Likewise.
40579 2010-12-26  Bruno Haible  <bruno@clisp.org>
40581         arpa_inet: Use the common idioms with C++ support.
40582         * lib/arpa_inet.in.h: Include c++defs.h.
40583         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
40584         support.
40585         * modules/arpa_inet (Depends-on): Add c++defs.
40586         (Makefile.am): Substitute the contents of c++defs.h.
40587         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
40588         * modules/arpa_inet-c++-tests: New file.
40589         * tests/test-arpa_inet-c++.cc: New file.
40591 2010-12-25  Bruno Haible  <bruno@clisp.org>
40593         Fix more C++ link errors on Solaris 8.
40594         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
40595         $(LIB_EACCESS).
40596         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
40597         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
40598         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
40599         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
40600         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
40602 2010-12-25  Bruno Haible  <bruno@clisp.org>
40604         printf-posix: Fix link error when a non-GCC compiler is used.
40605         * lib/stdio.in.h (printf): When not using GCC, override printf
40606         correctly.
40607         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40609 2010-12-25  Bruno Haible  <bruno@clisp.org>
40611         strerror_r-posix: Update doc.
40612         * doc/posix-functions/strerror_r.texi: Update doc about the return
40613         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
40615 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40617         utimens: simplify the logic of the previous change
40618         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
40619         This should not affect whether the test succeeds or fails.
40621         utimens: configure better on hosts with NFS clock skew
40622         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
40623         uses the clock of the local host.  It might use the clock of the
40624         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
40625         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
40627 2010-12-25  Bruno Haible  <bruno@clisp.org>
40629         ptsname test: Avoid failure on Solaris.
40630         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
40631         open a pseudo-terminal; don't use BSD-style ptys.
40632         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
40634 2010-12-25  Bruno Haible  <bruno@clisp.org>
40636         ptsname: Avoid ERANGE failure on some systems.
40637         * lib/ptsname.c (buffer): Increase size.
40639 2010-12-25  Bruno Haible  <bruno@clisp.org>
40641         rename, renameat: Avoid test failures at NFS mounted locations.
40642         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
40643         so that subsequent mkdir calls succeed.
40645 2010-12-25  Bruno Haible  <bruno@clisp.org>
40647         iswblank: Fix C++ link error on Solaris 8.
40648         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
40649         _GL_FUNCDECL_SYS.
40651 2010-12-25  Bruno Haible  <bruno@clisp.org>
40653         unistd: Fix C++ link error on Solaris 8.
40654         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
40656 2010-12-25  Bruno Haible  <bruno@clisp.org>
40658         readlink doc: Mention an old glibc bug.
40659         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
40661 2010-12-25  Bruno Haible  <bruno@clisp.org>
40663         fcntl-h: Fix for use of C++ on glibc systems.
40664         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
40665         also on glibc systems in C++ mode.
40666         Reported by Gary V. Vaughan <gary@gnu.org>.
40668 2010-12-25  Bruno Haible  <bruno@clisp.org>
40670         roundl-ieee: Make it work on OSF/1 5.1 with cc.
40671         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
40673 2010-12-25  Bruno Haible  <bruno@clisp.org>
40675         truncl-ieee: Make it work on OSF/1 5.1 with cc.
40676         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
40677         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
40678         test whether truncl works according to ISO C 99 with IEC 60559.
40679         * m4/truncl-ieee.m4: New file.
40680         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
40681         m4/signbit.m4.
40682         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
40684 2010-12-25  Bruno Haible  <bruno@clisp.org>
40686         ceill-ieee: Make it work on OSF/1 5.1 with cc.
40687         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
40688         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
40689         test whether ceill works according to ISO C 99 with IEC 60559.
40690         * m4/ceill-ieee.m4: New file.
40691         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
40692         m4/signbit.m4.
40693         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
40695 2010-12-25  Bruno Haible  <bruno@clisp.org>
40697         Ensure all prerequisites of <wchar.h> are included.
40698         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
40699         before <wchar.h>.
40700         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
40701         gl_MBRLEN_NUL_RETVAL): Likewise.
40702         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
40703         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
40704         AC_FUNC_MBRTOWC): Likewise.
40705         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
40706         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
40707         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
40708         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
40709         Likewise.
40710         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
40711         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
40712         (gl_WCHAR_H): Improve comments.
40713         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
40715 2010-12-25  Bruno Haible  <bruno@clisp.org>
40717         strtok_r: Fix C syntax error in autoconf macro.
40718         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
40719         characters in test program.
40721 2010-12-24  Bruno Haible  <bruno@clisp.org>
40723         ceil, trunc, round: Fix gcc warnings.
40724         * lib/ceil.c (MIN): Undefine before redefining.
40725         * lib/trunc.c (MIN): Likewise.
40726         * lib/round.c (MIN): Likewise.
40727         Include <math.h> first.
40729 2010-12-24  Bruno Haible  <bruno@clisp.org>
40731         select tests: Avoid failures on OSF/1 5.1.
40732         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
40733         failure of closing the last socket; it may fail with ECONNRESET.
40735 2010-12-24  Eric Blake  <eblake@redhat.com>
40737         stdint: avoid HP-UX 10.20 preprocessor bug
40738         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
40739         than #if.
40740         * tests/test-floor2.c (main): Likewise.
40741         Reported by Peter O'Gorman.
40743         pipe: make obsoletion transition easier
40744         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
40745         * modules/pipe (Files): Include revived file.
40746         (Include): Drop reference, to mirror getdate's behavior.
40748 2010-12-24  Bruno Haible  <bruno@clisp.org>
40750         sys_socket: Hide mismatch of declarations on NonStop Kernel.
40751         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
40752         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
40753         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40755 2010-12-24  Bruno Haible  <bruno@clisp.org>
40757         gethostname: Ensure declaration on NonStop Kernel.
40758         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
40759         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40761 2010-12-24  Bruno Haible  <bruno@clisp.org>
40763         sys_select: Ensure all necessary types on NonStop Kernel.
40764         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
40765         include <sys/time.h>.
40766         * doc/posix-headers/sys_select.texi: Mention that it's missing on
40767         NonStop Kernel.
40768         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40770 2010-12-24  Bruno Haible  <bruno@clisp.org>
40772         sys_select: Remove unneeded include.
40773         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
40774         have <sys/select.h>.
40776 2010-12-24  Bruno Haible  <bruno@clisp.org>
40778         gethostname: Provide a fallback for HOST_NAME_MAX.
40779         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
40780         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
40781         instead.
40782         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40784 2010-12-24  Bruno Haible  <bruno@clisp.org>
40786         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
40787         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
40788         (SA_RESTART): Likewise.
40789         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40791 2010-12-24  Bruno Haible  <bruno@clisp.org>
40793         signal: Define NSIG.
40794         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
40795         * tests/test-signal.c (nsig): New variable.
40796         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40798 2010-12-24  Bruno Haible  <bruno@clisp.org>
40800         rename, renameat: Avoid test failures on OSF/1 5.1.
40801         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
40802         alternative error codes.
40803         * tests/test-renameat.c (main): Likewise.
40805 2010-12-24  Bruno Haible  <bruno@clisp.org>
40807         *printf: Detect large precisions bug on Solaris 10/SPARC.
40808         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
40809         by Paul Eggert.
40810         * tests/test-snprintf-posix.h (test_function): Add this test code here
40811         too.
40812         * tests/test-sprintf-posix.h (test_function): Likewise.
40813         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40814         * tests/test-vasprintf-posix.c (test_function): Likewise.
40815         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
40816         around by gnulib.
40817         * doc/posix-functions/printf.texi: Likewise.
40818         * doc/posix-functions/snprintf.texi: Likewise.
40819         * doc/posix-functions/sprintf.texi: Likewise.
40820         * doc/posix-functions/vfprintf.texi: Likewise.
40821         * doc/posix-functions/vprintf.texi: Likewise.
40822         * doc/posix-functions/vsnprintf.texi: Likewise.
40823         * doc/posix-functions/vsprintf.texi: Likewise.
40824         * doc/posix-functions/dprintf.texi: Undo last commit.
40825         * doc/posix-functions/vdprintf.texi: Likewise.
40827 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
40829         tests: port test-fdutimensat.c to Solaris 8
40830         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
40831         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
40832         On Solaris 8, it fails with errno == ENOSYS, because there is no
40833         futimens (so it can't use the fd), and there is no lutimens (so it
40834         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
40836         vsnprintf: make more consistent with snprintf; doc fixes
40838         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
40839         the byte count return problem was promoted from the snprintf-posix
40840         to the snprintf module.
40841         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
40842         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
40843         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
40844         * tests/test-snprintf.c (main): Check the byte count returned.
40845         * tests/test-vsnprintf.c (main): Likewise.
40847 2010-12-23  Eric Blake  <eblake@redhat.com>
40849         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
40850         * modules/sigpipe (License): Relax license.
40852 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
40854         doc: document Solaris printf bug with large float precisions
40855         * doc/posix-functions/dprintf.texi (dprintf):
40856         * doc/posix-functions/fprintf.texi (fprintf):
40857         * doc/posix-functions/printf.texi (printf):
40858         * doc/posix-functions/snprintf.texi (snprintf):
40859         * doc/posix-functions/sprintf.texi (sprintf):
40860         * doc/posix-functions/vdprintf.texi (vdprintf):
40861         * doc/posix-functions/vfprintf.texi (vfprintf):
40862         * doc/posix-functions/vprintf.texi (vprintf):
40863         * doc/posix-functions/vsnprintf.texi (vsnprintf):
40864         * doc/posix-functions/vsprintf.texi (vsprintf):
40865         Mention that these functions mishandle large floating point
40866         precisions on Solaris 10.  The same bug is also present in Solaris
40867         8, and I assume earlier.  This causes "cd gnulib-tests; make
40868         check" to fail on Solaris 8 (and I assume, later) when building
40869         the latest coreutils, in test-vasprintf-posix's call to
40870         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
40871         the wide flavors (e.g., wprintf) so this patch just updates the
40872         documentation for the narrow ones.
40874         test-posixtm.c: add two tests
40875         * tests/test-posixtm.c: Add two tests, to highlight the
40876         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
40877         around this bug; this is merely to document it.
40879 2010-12-22  Bruno Haible  <bruno@clisp.org>
40881         getlogin_r: Work around portability problem on OSF/1.
40882         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
40883         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
40884         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
40885         test for a truncated result.
40886         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
40887         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
40888         * modules/getlogin_r (Depends-on): Add memchr.
40889         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
40891 2010-12-22  Bruno Haible  <bruno@clisp.org>
40893         ptsname: Avoid test failure on OSF/1 5.1.
40894         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
40895         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
40896         (same_slave): New function.
40897         (main): Use it to compare ptsname's result with the expected file name.
40899 2010-12-22  Bruno Haible  <bruno@clisp.org>
40901         Port extended stdio modules to HP NonStop Kernel.
40902         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
40903         macros.
40904         * lib/fbufmode.c: Update comments.
40905         * lib/fflush.c: Likewise.
40906         * lib/fpurge.c: Likewise.
40907         * lib/freadable.c: Likewise.
40908         * lib/freadahead.c: Likewise.
40909         * lib/freading.c: Likewise.
40910         * lib/freadptr.c: Likewise.
40911         * lib/freadseek.c: Likewise.
40912         * lib/fseeko.c: Likewise.
40913         * lib/fseterr.c: Likewise.
40914         * lib/fwritable.c: Likewise.
40915         * lib/fwriting.c: Likewise.
40916         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
40918 2010-12-22  Bruno Haible  <bruno@clisp.org>
40920         ttyname_r: Work around bug on OSF/1 5.1.
40921         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
40922         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
40923         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
40924         present.
40925         * lib/ttyname_r.c (ttyname_r): Update comments.
40927 2010-12-22  Bruno Haible  <bruno@clisp.org>
40929         round: Implement result sign according to IEEE 754.
40930         * lib/round.c (MIN, MINUS_ZERO): New macros.
40931         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
40932         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
40933         * tests/test-round-ieee.c (main): Likewise.
40934         * tests/test-roundl-ieee.c (main): Likewise.
40936         trunc: Implement result sign according to IEEE 754.
40937         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
40938         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
40939         * tests/test-trunc2.c: Include minus-zero.h.
40940         (MINUS_ZERO): New macro.
40941         (trunc_reference): Keep in sync with lib/trunc.c.
40942         * tests/test-truncf2.c: Include minus-zero.h.
40943         (MINUS_ZERO): New macro.
40944         (truncf_reference): Keep in sync with lib/trunc.c.
40945         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
40946         * tests/test-trunc-ieee.c (main): Likewise.
40947         * tests/test-truncl-ieee.c (main): Likewise.
40949         ceil: Implement result sign according to IEEE 754.
40950         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
40951         (FUNC): Return -0.0 for -1 < x < 0.
40952         * tests/test-ceil2.c: Include minus-zero.h.
40953         (MINUS_ZERO): New macro.
40954         (ceil_reference): Keep in sync with lib/ceil.c.
40955         * tests/test-ceilf2.c: Include minus-zero.h.
40956         (MINUS_ZERO): New macro.
40957         (ceilf_reference): Keep in sync with lib/ceil.c.
40958         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
40959         * tests/test-ceil-ieee.c (main): Likewise.
40960         * tests/test-ceill-ieee.c (main): Likewise.
40962         floor: Implement result sign according to IEEE 754.
40963         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
40964         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
40965         * tests/test-floorf2.c (floorf_reference): Likewise.
40966         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
40967         * tests/test-floor-ieee.c (main): Likewise.
40968         * tests/test-floorl-ieee.c (main): Likewise.
40970 2010-12-22  Bruno Haible  <bruno@clisp.org>
40972         getaddrinfo: Update doc.
40973         * doc/posix-functions/gai_strerror.texi: Return type is also different
40974         on AIX and HP-UX.
40976 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
40978         getaddrinfo, inet_ntop: Update doc for Solaris.
40979         * doc/posix-functions/gai_strerror.texi: Return type is also an
40980         issue on Solaris 9 and earlier.
40981         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
40982         on Solaris 10 and earlier.
40984 2010-12-21  Bruno Haible  <bruno@clisp.org>
40986         New module 'roundl-ieee'.
40987         * modules/roundl-ieee: New file.
40988         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
40989         test whether roundl works according to ISO C 99 with IEC 60559.
40990         * m4/roundl-ieee.m4: New file.
40991         * modules/roundl-ieee-tests: New file.
40992         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
40993         * tests/test-roundl.c (main): Remove signbit tests.
40994         * modules/roundl-tests (Depends-on): Remove signbit.
40995         * doc/posix-functions/roundl.texi: Mention the new module.
40997 2010-12-21  Bruno Haible  <bruno@clisp.org>
40999         New module 'truncl-ieee'.
41000         * modules/truncl-ieee: New file.
41001         * modules/truncl-ieee-tests: New file.
41002         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
41003         * tests/test-truncl.c (main): Remove signbit tests.
41004         * modules/truncl-tests (Depends-on): Remove signbit.
41005         * doc/posix-functions/truncl.texi: Mention the new module.
41007 2010-12-21  Bruno Haible  <bruno@clisp.org>
41009         New module 'ceill-ieee'.
41010         * modules/ceill-ieee: New file.
41011         * modules/ceill-ieee-tests: New file.
41012         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
41013         * tests/test-ceill.c (main): Remove signbit tests.
41014         * modules/ceill-tests (Depends-on): Remove signbit.
41015         * doc/posix-functions/ceill.texi: Mention the new module.
41017 2010-12-21  Bruno Haible  <bruno@clisp.org>
41019         New module 'floorl-ieee'.
41020         * modules/floorl-ieee: New file.
41021         * modules/floorl-ieee-tests: New file.
41022         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
41023         * tests/test-floorl.c (main): Remove signbit tests.
41024         * modules/floorl-tests (Depends-on): Remove signbit.
41025         * doc/posix-functions/floorl.texi: Mention the new module.
41027 2010-12-21  Bruno Haible  <bruno@clisp.org>
41029         New module 'round-ieee'.
41030         * modules/round-ieee: New file.
41031         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
41032         whether round works according to ISO C 99 with IEC 60559.
41033         * m4/round-ieee.m4: New file.
41034         * modules/round-ieee-tests: New file.
41035         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
41036         * tests/test-round1.c (main): Remove signbit tests.
41037         * modules/round-tests (Depends-on): Remove 'signbit'.
41038         * doc/posix-functions/round.texi: Mention the new module.
41040 2010-12-21  Bruno Haible  <bruno@clisp.org>
41042         New module 'trunc-ieee'.
41043         * modules/trunc-ieee: New file.
41044         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
41045         whether trunc works according to ISO C 99 with IEC 60559.
41046         * m4/trunc-ieee.m4: New file.
41047         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
41048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
41049         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
41050         * modules/trunc-ieee-tests: New file.
41051         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
41052         * tests/test-trunc1.c (main): Remove signbit tests.
41053         * modules/trunc-tests (Depends-on): Remove 'signbit'.
41054         * doc/posix-functions/trunc.texi: Mention the new module.
41056 2010-12-21  Bruno Haible  <bruno@clisp.org>
41058         New module 'ceil-ieee'.
41059         * modules/ceil-ieee: New file.
41060         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
41061         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
41062         ISO C 99 with IEC 60559.
41063         * m4/ceil-ieee.m4: New file.
41064         * modules/ceil (Files): Add lib/ceil.c.
41065         (Depends-on): Add 'float'.
41066         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41067         * lib/math.in.h (ceil): New declaration.
41068         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
41069         REPLACE_CEIL.
41070         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
41071         * modules/ceil-ieee-tests: New file.
41072         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
41073         * tests/test-math-c++.cc: Check the signature of 'ceil'.
41074         * doc/posix-functions/ceil.texi: Mention the new module.
41076 2010-12-21  Bruno Haible  <bruno@clisp.org>
41078         New module 'floor-ieee'.
41079         * modules/floor-ieee: New file.
41080         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
41081         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
41082         ISO C 99 with IEC 60559.
41083         * m4/floor-ieee.m4: New file.
41084         * modules/floor (Files): Add lib/floor.c.
41085         (Depends-on): Add 'float'.
41086         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
41087         * lib/math.in.h (floor): New declaration.
41088         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
41089         REPLACE_FLOOR.
41090         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
41091         * modules/floor-ieee-tests: New file.
41092         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
41093         * tests/test-math-c++.cc: Check the signature of 'floor'.
41094         * doc/posix-functions/floor.texi: Mention the new module.
41096 2010-12-21  Bruno Haible  <bruno@clisp.org>
41098         New module 'roundf-ieee'.
41099         * modules/roundf-ieee: New file.
41100         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
41101         test whether roundf works according to ISO C 99 with IEC 60559.
41102         * m4/roundf-ieee.m4: New file.
41103         * modules/roundf-ieee-tests: New file.
41104         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
41105         * tests/test-roundf1.c (main): Remove signbit tests.
41106         * modules/roundf-tests (Depends-on): Remove 'signbit'.
41107         * doc/posix-functions/roundf.texi: Mention the new module.
41109 2010-12-21  Bruno Haible  <bruno@clisp.org>
41111         New module 'truncf-ieee'.
41112         * modules/truncf-ieee: New file.
41113         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
41114         test whether truncf works according to ISO C 99 with IEC 60559.
41115         * m4/truncf-ieee.m4: New file.
41116         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
41117         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
41118         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
41119         * modules/truncf-ieee-tests: New file.
41120         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
41121         * tests/test-truncf1.c (main): Remove signbit tests.
41122         * modules/truncf-tests (Depends-on): Remove 'signbit'.
41123         * doc/posix-functions/truncf.texi: Mention the new module.
41125 2010-12-21  Bruno Haible  <bruno@clisp.org>
41127         New module 'ceilf-ieee'.
41128         * modules/ceilf-ieee: New file.
41129         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
41130         test whether ceilf works according to ISO C 99 with IEC 60559.
41131         * m4/ceilf-ieee.m4: New file.
41132         * modules/ceilf-ieee-tests: New file.
41133         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
41134         * tests/test-ceilf1.c (main): Remove signbit tests.
41135         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
41136         * doc/posix-functions/ceilf.texi: Mention the new module.
41138 2010-12-21  Bruno Haible  <bruno@clisp.org>
41140         New module 'floorf-ieee'.
41141         * modules/floorf-ieee: New file.
41142         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
41143         test whether floorf works according to ISO C 99 with IEC 60559.
41144         * m4/floorf-ieee.m4: New file.
41145         * modules/floorf-ieee-tests: New file.
41146         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
41147         * tests/test-floorf1.c (main): Remove signbit tests.
41148         * modules/floorf-tests (Depends-on): Remove 'signbit'.
41149         * doc/posix-functions/floorf.texi: Mention the new module.
41151 2010-12-21  Bruno Haible  <bruno@clisp.org>
41153         Support for minus zero in autoconf macros.
41154         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
41155         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
41156         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
41157         * tests/minus-zero.h: Update comments.
41159 2010-12-21  Bruno Haible  <bruno@clisp.org>
41161         Tests for module 'ceil'.
41162         * modules/ceil-tests: New file.
41163         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
41164         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
41166 2010-12-21  Bruno Haible  <bruno@clisp.org>
41168         Tests for module 'floor'.
41169         * modules/floor-tests: New file.
41170         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
41171         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
41173 2010-12-21  Bruno Haible  <bruno@clisp.org>
41175         math: Fix indentation.
41176         * lib/math.in.h (floorf): Fix indentation.
41178 2010-12-21  Bruno Haible  <bruno@clisp.org>
41180         Fix cross-compilation guesses on Solaris.
41181         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
41182         not match "solaris2.10".
41183         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
41184         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
41185         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
41187 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
41189         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
41190         This fixes a problem observed with the latest coreutils snapshot
41191         that caused a test to fail on Solaris 8.  src/csplit.c's call
41192         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
41193         earlier, instead of returning the number of bytes that would have
41194         been generated; this causes csplit to incorrectly report memory
41195         exhaustion.
41196         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
41197         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
41198         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
41199         comments to match.
41200         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
41201         Fix typo in matching older versions of Solaris: "solaris2.10"
41202         is matched by the shell pattern "solaris2.[0-9]*".  This matters
41203         only for guessing while cross-compiling.
41204         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
41206 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
41208         ftoastr: fix comment again
41209         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
41210         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
41211         Also, simplify example a bit by using flags = 0.
41213 2010-12-20  Bruno Haible  <bruno@clisp.org>
41215         round*, trunc*: Update documentation regarding glibc.
41216         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
41217         * doc/posix-functions/round.texi: Likewise.
41218         * doc/posix-functions/roundl.texi: Likewise.
41219         * doc/posix-functions/truncf.texi: Likewise.
41220         * doc/posix-functions/trunc.texi: Likewise.
41221         * doc/posix-functions/truncl.texi: Likewise.
41223 2010-12-20  Bruno Haible  <bruno@clisp.org>
41225         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
41226         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
41227         * doc/posix-functions/round.texi: Likewise.
41228         * doc/posix-functions/roundl.texi: Likewise.
41230 2010-12-20  Bruno Haible  <bruno@clisp.org>
41232         ttyname_r: Add missing declaration on HP-UX 11.
41233         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
41234         HAVE_TTYNAME_R.
41235         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
41236         declared. Set HAVE_TTYNAME_R always.
41237         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41238         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
41239         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
41240         HAVE_TTYNAME_R.
41241         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
41243 2010-12-20  Bruno Haible  <bruno@clisp.org>
41245         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
41246         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
41247         * doc/posix-functions/getlogin_r.texi: Likewise.
41248         * tests/test-getlogin.c: Include <errno.h>.
41249         (main): Avoid test failure on HP-UX 11.11.
41250         * tests/test-getlogin_r.c (main): Likewise.
41252 2010-12-20  Bruno Haible  <bruno@clisp.org>
41254         getlogin_r: Add missing declaration on HP-UX 11.
41255         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
41256         declared also when it exists as a function.
41257         * doc/posix-functions/getlogin_r.texi: Document this workaround.
41259 2010-12-20  Bruno Haible  <bruno@clisp.org>
41261         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
41262         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
41263         through wcrtomb.
41265 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
41267         ftoastr: fix comment
41268         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
41269         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
41271 2010-12-19  Bruno Haible  <bruno@clisp.org>
41273         isnan: Ensure it is a macro.
41274         * lib/math.in.h (isnan): Define as a macro if not already a macro.
41275         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
41276         Solaris.
41278 2010-12-19  Bruno Haible  <bruno@clisp.org>
41280         ldexpl test: Fix link error on OSF/1 5.1.
41281         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
41283 2010-12-19  Bruno Haible  <bruno@clisp.org>
41285         wctype: Make it work in C++ mode on OSF/1 5.1.
41286         * lib/wctype.in.h (iswblank): Declare but not define here.
41287         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
41288         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
41289         * modules/wctype (Files): Add lib/iswblank.c.
41291 2010-12-19  Bruno Haible  <bruno@clisp.org>
41293         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
41294         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
41295         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
41297 2010-12-19  Bruno Haible  <bruno@clisp.org>
41299         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
41300         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
41301         _POSIX_PII_SOCKET.
41302         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
41303         * doc/posix-functions/recvfrom.texi: Likewise.
41304         * doc/posix-functions/send.texi: Likewise.
41305         * doc/posix-functions/sendto.texi: Likewise.
41307 2010-12-19  Bruno Haible  <bruno@clisp.org>
41309         tcgetsid: Add missing declaration on OSF/1 5.1.
41310         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
41311         HAVE_TCGETSID.
41312         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
41313         Don't set HAVE_TCGETSID.
41314         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
41315         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
41316         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
41317         HAVE_TCGETSID.
41318         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
41320 2010-12-19  Bruno Haible  <bruno@clisp.org>
41322         stdio: Fix problem with popen() declaration on OSF/1 5.1.
41323         * lib/stdio.in.h: During the include_next statement, let recursive
41324         includes of this file include only the system header file.
41326 2010-12-19  Bruno Haible  <bruno@clisp.org>
41328         iconv_open: Fix regression from 2010-12-04.
41329         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
41330         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
41332 2010-12-19  Bruno Haible  <bruno@clisp.org>
41334         stdbool test: Avoid a gcc warning.
41335         * tests/test-stdbool.c (main): Fail if e1 is false.
41336         Reported by Jim Meyering.
41338 2010-12-19  Jim Meyering  <meyering@redhat.com>
41340         setenv: restore to working order
41341         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
41342         mistakenly removed.
41343         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
41344         HAVE_SETENV.
41345         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
41346         HAVE_SETENV.
41348 2010-12-19  Bruno Haible  <bruno@clisp.org>
41350         Document some different function declarations on OSF/1 5.1.
41351         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
41352         * doc/posix-functions/inet_ntop.texi: Likewise.
41353         * doc/posix-functions/gethostname.texi: Likewise.
41354         * lib/unistd.in.h (gethostname): Update comment.
41356 2010-12-19  Bruno Haible  <bruno@clisp.org>
41358         doc: Mention vasprintf-posix module.
41359         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
41360         the 'vasprintf-posix' module.
41361         * doc/glibc-functions/vasprintf.texi: Likewise.
41363 2010-12-19  Bruno Haible  <bruno@clisp.org>
41365         unsetenv: Add missing declaration on OSF/1 5.1.
41366         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
41367         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
41368         Don't set HAVE_UNSETENV. In the test program, set _BSD.
41369         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
41370         not HAVE_UNSETENV.
41371         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
41372         HAVE_UNSETENV.
41373         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
41375 2010-12-19  Bruno Haible  <bruno@clisp.org>
41377         setenv: Add missing declaration on OSF/1 5.1.
41378         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
41379         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
41380         declared. Don't set HAVE_SETENV.
41381         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
41382         not HAVE_SETENV.
41383         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
41384         HAVE_SETENV.
41385         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
41387 2010-12-19  Bruno Haible  <bruno@clisp.org>
41389         nl_langinfo tests: Avoid gcc warning.
41390         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
41392 2010-12-19  Bruno Haible  <bruno@clisp.org>
41394         mknod: Avoid error in C++ mode on OSF/1 with GCC.
41395         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
41396         _GL_CXXALIAS_SYS.
41398 2010-12-19  Bruno Haible  <bruno@clisp.org>
41400         stdbool: Relax test.
41401         * tests/test-stdbool.c (e): Don't require that casts from a variable's
41402         address to 'bool' work in static initializer, for compilers other than
41403         GCC.
41405 2010-12-19  Bruno Haible  <bruno@clisp.org>
41407         ftello: Add missing declaration on OSF/1 5.1.
41408         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
41409         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
41410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
41411         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
41412         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
41414 2010-12-19  Bruno Haible  <bruno@clisp.org>
41416         fseeko: Add missing declaration on OSF/1 5.1.
41417         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
41418         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
41419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
41420         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
41421         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
41423 2010-12-19  Bruno Haible  <bruno@clisp.org>
41425         fchdir: Add missing declaration on OSF/1 5.1.
41426         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
41427         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
41428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
41429         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
41430         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
41432 2010-12-19  Bruno Haible  <bruno@clisp.org>
41434         relocatable-prog-wrapper: Separate from relocatable-prog.
41435         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
41436         uninstall-relocwrapper rule here.
41437         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
41438         Reported by Ian Beckwith <ianb@erislabs.net>.
41440 2010-12-19  Bruno Haible  <bruno@clisp.org>
41442         unistr/u8-mbsnlen: Add missing dependency.
41443         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
41444         Reported by Ian Beckwith <ianb@erislabs.net>.
41446 2010-12-19  Bruno Haible  <bruno@clisp.org>
41448         iconv: Make it possible again to use this module without 'iconv-h'.
41449         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
41450         if it is not defined.
41451         Reported by Ian Beckwith <ianb@erislabs.net>.
41453 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
41455         acl: port to Solaris 8 when copying from tmpfs to ufs
41456         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
41457         error number.  Problem observed on Solaris 8 with latest
41458         coreutils, with "mv A B", where A is on a tmpfs file system and B
41459         is on a ufs file system.  This caused coreutils' mv/part-symlink
41460         test to fail.
41462         tests: set fail=0 at start
41463         * tests/init.sh (setup_): Move fail=0 initialization here ...
41464         (mktempd_): ... from here, so that tests can rely on fail being
41465         set to 0 initially.  This fixes a problem in coreutils; see:
41466         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
41468 2010-12-18  Bruno Haible  <bruno@clisp.org>
41470         memmem-simple: Stylistic changes.
41471         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
41472         Fix preprocessor directive indentation.
41474 2010-12-15  Pádraig Brady  <P@draigBrady.com>
41476         memmem, memmem-simple: reorganize and expand empty needle check
41477         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
41478         functional checks to memmem-simple so that one has a fully functional
41479         memmem by using just this module.
41480         Restrict the performance only check to the memmem module.
41481         Also expand the empty needle check to ensure the correct
41482         pointer is returned, not just a non NULL pointer.
41483         * doc/glibc-functions/memmem.texi: Rearrange the portability
41484         documentation to correlate with the rearranged checks.
41485         Clarify exactly how the memmem and memmem-simple modules
41486         relate to each other.
41488 2010-12-15  Pádraig Brady  <P@draigBrady.com>
41489             Bruno Haible  <bruno@clisp.org>
41491         Improve cross-compilation guesses for uClibc.
41492         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
41493         that uClibc does not have the glibc bug.
41494         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
41495         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
41497 2010-12-14  Eric Blake  <eblake@redhat.com>
41499         configmake: provide fallbacks for oldest supported autotools
41500         * m4/configmake.m4: New file.
41501         * modules/configmake (Files): Ship it.
41502         (configure.ac): Use it to guarantee fallbacks.
41504 2010-12-13  Pádraig Brady  <P@draigBrady.com>
41506         read-file: Improve handling of large files
41507         * lib/read-file.c (fread_file): Minimize realloc()s
41508         for regular files, and better manage sizes around SIZE_MAX.
41510 2010-12-13  Eric Blake  <eblake@redhat.com>
41512         cloexec, fcntl: relax license
41513         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
41514         consent from all contributors.
41515         * modules/fcntl (License): Likewise.
41517 2010-12-10  Bruno Haible  <bruno@clisp.org>
41519         Tests for module 'pipe-posix'.
41520         * modules/pipe-posix-tests: New file.
41521         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
41523 2010-12-10  Bruno Haible  <bruno@clisp.org>
41525         pipe-posix: Make it work in C++ mode.
41526         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
41527         (pipe): Use common idiom, not a macro definition.
41528         * lib/pipe.c: New file.
41529         * m4/pipe.m4: New file.
41530         * modules/pipe-posix (Description): Enhance.
41531         (Files): Add lib/pipe.c, m4/pipe.m4.
41532         (configure.ac): Invoke gl_FUNC_PIPE.
41533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
41534         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
41535         * tests/test-unistd-c++.cc: Check the signature of pipe.
41537 2010-12-10  Bruno Haible  <bruno@clisp.org>
41539         Rename module 'pipe' to 'spawn-pipe'.
41540         * modules/spawn-pipe: New file, renamed from modules/pipe.
41541         (Files, configure.ac, Makefile.am): Update.
41542         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
41543         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
41544         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
41545         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
41546         "spawn-pipe.h" instead of "pipe.h".
41547         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
41548         to gl_SPAWN_PIPE.
41549         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
41550         (Files, Makefile.am): Update.
41551         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
41552         Update.
41553         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
41554         Include "spawn-pipe.h" instead of "pipe.h".
41555         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
41556         * lib/javacomp.c: Likewise.
41557         * lib/javaversion.c: Likewise.
41558         * lib/pipe-filter-gi.c: Likewise.
41559         * lib/pipe-filter-ii.c: Likewise.
41560         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
41561         * modules/javacomp (Depends-on): Likewise.
41562         * modules/javaversion (Depends-on): Likewise.
41563         * modules/pipe-filter-gi (Depends-on): Likewise.
41564         * modules/pipe-filter-ii (Depends-on): Likewise.
41565         * MODULES.html.sh (Executing programs): Update.
41566         * NEWS: Mention the change.
41568 2010-12-10  Eric Blake  <eblake@redhat.com>
41570         pipe-posix: new module
41571         * modules/pipe-posix: New file.
41572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
41573         (gl_UNISTD_H): Check for declaration.
41574         * modules/unistd (Makefile.am): Substitute it.
41575         * lib/unistd.in.h (pipe): Provide it for mingw.
41576         * doc/posix-functions/pipe.texi (pipe): Update documentation.
41577         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
41579 2010-12-07  Bruno Haible  <bruno@clisp.org>
41581         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
41582         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
41583         u8_strcmp_gnu.
41584         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
41586 2010-12-06  Bruno Haible  <bruno@clisp.org>
41588         Update internal documentation.
41589         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
41591 2010-12-04  Bruno Haible  <bruno@clisp.org>
41593         Put more information about failed tests into the test return codes.
41594         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
41595         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
41596         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
41597         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
41598         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
41599         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41600         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41601         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
41602         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
41603         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41604         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
41605         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
41606         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
41607         * m4/stdint.m4 (gl_STDINT_H): Likewise.
41608         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
41609         returns a bit mask.
41610         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
41611         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
41612         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
41613         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
41614         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
41615         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
41616         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
41617         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
41618         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
41619         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
41620         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
41621         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
41622         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
41623         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
41624         * m4/link.m4 (gl_FUNC_LINK): Likewise.
41625         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
41626         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
41627         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
41628         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
41629         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
41630         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
41631         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
41632         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
41633         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
41634         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
41635         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
41636         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
41637         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
41638         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
41639         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
41640         gl_PRINTF_PRECISION): Likewise.
41641         * m4/regex.m4 (gl_REGEX): Likewise.
41642         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
41643         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
41644         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
41645         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
41646         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
41647         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
41648         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
41649         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
41650         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
41651         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41652         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
41653         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
41654         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
41655         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
41656         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
41657         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41658         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
41659         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
41660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
41661         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
41662         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
41663         enumerated value.
41664         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
41666 2010-12-04  Bruno Haible  <bruno@clisp.org>
41668         Update for Solaris 11 2010-11.
41669         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
41670         Express, released in November 2010.
41672 2010-12-04  Bruno Haible  <bruno@clisp.org>
41674         nproc: Relax license.
41675         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
41676         and Paul Eggert.
41677         Requested by Ludovic Courtès <ludo@gnu.org>.
41679 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
41681         utimecmp: fine-grained src to nearby coarse-grained dest
41683         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
41684         and the source is on a file system with higher-resolution time
41685         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
41686         not work, and the time stamps are close together, the algorithm to
41687         determine the exact resolution from the read-back mtime was buggy:
41688         it had a "!=" where it should have had an "==".  This bug has been
41689         in the code ever since it was introduced to gnulib.
41690         Problem reported by Dan Jacobson in
41691         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
41693 2010-11-30  Bruno Haible  <bruno@clisp.org>
41695         strerror_r-posix: Fix autoconf test.
41696         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
41698 2010-11-28  Bruno Haible  <bruno@clisp.org>
41699             Paul Eggert  <eggert@cs.ucla.edu>
41701         Tests for module 'getdomainname'.
41702         * modules/getdomainname-tests: New file.
41703         * tests/test-getdomainname.c: New file, based on
41704         tests/test-gethostname.c.
41706 2010-11-28  Bruno Haible  <bruno@clisp.org>
41707             Paul Eggert  <eggert@cs.ucla.edu>
41709         getdomainname: Use the system function when possible.
41710         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
41711         (getdomainname): Replace if needed. Provide the declaration if it is
41712         missing. Don't use _GL_CXXALIAS_SYS_CAST.
41713         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
41714         (getdomainname): When the system has getdomainname, call the system
41715         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
41716         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
41717         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
41718         found in libnsl. Look for the declaration also in <netdb.h>. Replace
41719         the function if its second argument is of type 'int' or if it is found
41720         in libnsl.
41721         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
41722         <sys/systeminfo.h> and sysinfo().
41723         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
41724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41725         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
41726         HAVE_GETDOMAINNAME.
41727         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
41728         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
41729         * doc/glibc-functions/getdomainname.texi: Document the problems with
41730         the getdomainname declaration.
41732 2010-11-28  Bruno Haible  <bruno@clisp.org>
41734         sys_socket: Ensure ss_family field on AIX.
41735         * lib/sys_socket.in.h (ss_family): New macro definition.
41736         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
41737         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
41738         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
41739         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
41740         * modules/sys_socket (Makefile.am): Substitute
41741         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
41742         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
41744 2010-11-27  Bruno Haible  <bruno@clisp.org>
41746         readline: Improve configure output.
41747         * m4/readline.m4 (gl_FUNC_READLINE): Make the
41748         "checking for readline..." result understandable.
41750 2010-11-27  Bruno Haible  <bruno@clisp.org>
41752         *printf-posix: Detect a bug on Solaris 10/x86.
41753         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
41754         for floating-point output.
41755         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
41756         directive.
41757         * tests/test-snprintf-posix.h (test_function): Likewise.
41758         * tests/test-sprintf-posix.h (test_function): Likewise.
41759         * tests/test-vasprintf-posix.c (test_function): Likewise.
41760         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
41761         * doc/posix-functions/printf.texi: Likewise.
41762         * doc/posix-functions/snprintf.texi: Likewise.
41763         * doc/posix-functions/sprintf.texi: Likewise.
41764         * doc/posix-functions/vfprintf.texi: Likewise.
41765         * doc/posix-functions/vprintf.texi: Likewise.
41766         * doc/posix-functions/vsnprintf.texi: Likewise.
41767         * doc/posix-functions/vsprintf.texi: Likewise.
41768         * doc/glibc-functions/obstack_printf.texi: Likewise.
41769         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
41771 2010-11-27  Bruno Haible  <bruno@clisp.org>
41773         Fix link error when module libunistring-optional is in use.
41774         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
41775         * modules/striconveha-tests (Makefile.am): Likewise.
41777 2010-11-27  Bruno Haible  <bruno@clisp.org>
41779         regex: Mention link dependencies.
41780         * modules/regex (Link): New section.
41781         * modules/rpmatch (Link): Likewise.
41782         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
41784 2010-11-27  Bruno Haible  <bruno@clisp.org>
41786         ftoastr: Fix compilation error on Solaris.
41787         * lib/ftoastr.c: Include <config.h>.
41789 2010-11-27  Bruno Haible  <bruno@clisp.org>
41791         getloadavg: Update documentation.
41792         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
41794 2010-11-27  Bruno Haible  <bruno@clisp.org>
41796         sys_socket: Fix test whether the functions are declared.
41797         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
41798         not <sys/select.h>.
41800 2010-11-27  Bruno Haible  <bruno@clisp.org>
41802         getpass: Make sure to get system declaration on some platforms.
41803         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
41804         gl_USE_SYSTEM_EXTENSIONS.
41805         * modules/getpass (Depends-on): Add extensions.
41807 2010-11-26  Bruno Haible  <bruno@clisp.org>
41809         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
41810         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
41811         'iconv' module is present.
41812         (ICONV_CONST): New macro.
41813         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
41814         ICONV_CONST.
41815         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
41816         set ICONV_CONST.
41817         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
41818         here.
41819         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
41820         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
41821         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
41822         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
41823         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
41824         present.
41826 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
41828         ftoastr: comment fix
41829         * lib/ftoastr.c: "little" -> "little or no" in comment
41831 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
41833         stdint: port to GCC 4.3 + OSX + Octave
41834         On this platform, stdint.h is buggy and defines int64_t to long
41835         long int.  The replacement defined it to long int, causing
41836         problems with C++ style name mangling.  Instead, trust the system
41837         definition if INT64_MAX is defined, and likewise for the unsigned
41838         variant.   Problem reported by Jarno Rajahalme in
41839         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
41840         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
41841         and don't mess with int64_t and INT64_MAX in this case.
41842         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
41844 2010-11-24  Bruno Haible  <bruno@clisp.org>
41846         doc: Corrections regarding MacOS X 10.4 and 10.5.
41847         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
41848         MacOS X.
41849         Reported by Simon Josefsson.
41851 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
41853         Uninstall ".bin" files installed by relocwrapper.
41854         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
41855         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
41856         unless it is already there.
41858 2010-11-21  Bruno Haible  <bruno@clisp.org>
41860         Update for NetBSD 5.0.
41861         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
41862         NetBSD; the test fails on NetBSD 5.0.
41863         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
41864         about NetBSD.
41866 2010-11-21  Bruno Haible  <bruno@clisp.org>
41868         Update for HP-UX 11.23 and HP-UX 11.31.
41869         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
41870         HP-UX.
41872 2010-11-21  Bruno Haible  <bruno@clisp.org>
41874         Update for MacOS X 10.5.
41875         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
41876         MacOS X; the test fails on MacOS X 10.5.8.
41877         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
41878         about MacOS X.
41880 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
41882         bootstrap: add bootstrap_sync option.
41883         See discussion at
41884         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
41885         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
41886         * build-aux/bootstrap: Accept --bootstrap-sync to update
41887         bootstrap if it is not identical to the local gnulib's
41888         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
41889         enable this by default.  Accept --no-bootstrap-sync to disable
41890         it.
41892 2010-11-20  Bruno Haible  <bruno@clisp.org>
41894         Ensure that <features.h> is included before __GLIBC__ is tested.
41895         * lib/printf-parse.h: Include <features.h>.
41896         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
41897         Reported by Mike Frysinger <vapier@gentoo.org>.
41899         Ensure that <features.h> is included before __GLIBC__ is tested.
41900         * lib/wchar.in.h: Include <features.h>.
41901         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
41902         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
41903         Reported by Mike Frysinger <vapier@gentoo.org>.
41905         Ensure that <features.h> is included before __GLIBC__ is tested.
41906         * lib/arpa_inet.in.h: Include <features.h>.
41907         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
41908         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
41909         Reported by Mike Frysinger <vapier@gentoo.org>.
41911         Ensure that <features.h> is included before __GLIBC__ is tested.
41912         * build-aux/link-warning.h: Include <features.h>.
41913         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
41914         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
41915         Reported by Mike Frysinger <vapier@gentoo.org>.
41917         Ensure that <features.h> is included before __GLIBC__ is tested.
41918         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
41919         Reported by Mike Frysinger <vapier@gentoo.org>.
41921 2010-11-20  Bruno Haible  <bruno@clisp.org>
41923         memmem: Fix autoconf test.
41924         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
41926 2010-11-20  Bruno Haible  <bruno@clisp.org>
41928         Port to uClibc.
41929         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
41930         * lib/fcntl.in.h: Likewise.
41931         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
41932         * lib/mbrtowc.c (mbrtowc): Likewise.
41933         * lib/relocatable.c (find_shared_library_fullname): Likewise.
41934         * lib/strerror_r.c: Likewise.
41935         * lib/unistr/u8-strnlen.c: Likewise.
41936         * lib/vasnprintf.c (decimal_point_char): Likewise.
41937         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
41938         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
41939         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
41940         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
41941         * tests/test-sigaction.c (handler, main): Likewise.
41942         * lib/freading.h: Treat uClibc like a non-glibc platform.
41943         * lib/freading.c: Likewise.
41944         * lib/gettext.h: Likewise.
41945         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
41946         Likewise.
41947         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
41948         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
41949         * lib/propername.c (proper_name_utf8): Likewise.
41950         * lib/spawn.in.h: Likewise.
41951         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
41952         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
41953         mem_cd_iconveh_internal): Likewise.
41954         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
41955         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
41956         strstr, strcasestr): Likewise.
41957         * lib/unicodeio.c (unicode_to_mb): Likewise.
41958         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
41959         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
41960         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
41961         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
41962         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
41963         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
41964         * lib/unistr/u8-stpncpy.c: Likewise.
41965         * lib/vasnprintf.c (VASNPRINTF): Likewise.
41966         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
41967         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
41968         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
41969         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
41970         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
41971         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
41972         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
41973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
41974         Likewise.
41975         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
41976         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
41977         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
41978         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
41979         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
41980         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
41981         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
41982         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
41983         * tests/test-getopt.h (OPTIND_MIN): Likewise.
41984         * tests/test-striconveha.c (main): Likewise.
41985         * tests/test-vasnprintf-posix.c (test_function): Likewise.
41986         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
41987         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
41988         * doc/posix-functions/getline.texi: Likewise.
41989         Reported by Mike Frysinger <vapier@gentoo.org>.
41991 2010-11-20  Bruno Haible  <bruno@clisp.org>
41993         nproc: Fix condition.
41994         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
41995         HAVE_PTHREAD_AFFINITY_NP.
41997 2010-11-20  Bruno Haible  <bruno@clisp.org>
41999         Fix a comment.
42000         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
42002 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
42004         ftoastr: don't assume snprintf
42005         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
42006         Implement a subset of snprintf here, by using sprintf safely.
42007         * modules/ftoastr (Depends-on): Remove snprintf.
42009 2010-11-19  Jim Meyering  <meyering@redhat.com>
42011         test-rename.h: fix compilation failure
42012         * tests/test-rename.h (test_rename): Add omitted "}".
42014 2010-11-17  Jim Meyering  <meyering@redhat.com>
42016         maint.mk: add a URL discussing the no-@acronym policy
42017         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
42019 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
42021         ftoastr: depend on snprintf, improve comments
42022         * lib/ftoastr.c: Also mention Loitsch's draft.
42023         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
42024         needed in the current implementation, but it might simplify
42025         speeding up the code later.
42026         * modules/ftoastr: Depend on snprintf; this improves portability.
42027         Suggested by Bruno Haible in the same email.
42029         ftoastr: port to hosts lacking strtof and strtold
42030         Problem reported by Bruno Haible in
42031         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
42032         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
42033         environment and strtold (and presumably strtof) are not available.
42034         * modules/ftoastr (Files): Add m4/c-strtod.m4.
42035         (configure.ac): Require gl_C99_STRTOLD.
42037 2010-11-18  Bruno Haible  <bruno@clisp.org>
42039         c-strtold: Avoid link error on AIX 7.
42040         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
42041         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
42042         (gl_C_STRTOLD): Test whether strtold_l exists.
42043         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
42045 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
42047         intprops: new macro INT_BITS_STRLEN_BOUND
42048         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
42049         ftoastr.h.  This exposes an internal of intprops.h that was formerly
42050         not exposed.  Also, it uses a slightly tighter bound than before;
42051         though this makes no practical difference, we might as well be as
42052         tight as we easily can.
42054         ftoastr: new module, for lossless conversion of floats to short strings
42055         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
42056         * modules/ftoastr: New files.
42058 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
42060         bootstrap: port to Solaris sed
42061         * build-aux/bootstrap (get_version): Port to Solaris sed.
42062         See Ralf Wildenhues's note in
42063         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
42065 2010-11-14  Jim Meyering  <meyering@redhat.com>
42067         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
42068         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
42069         and move definition closer to sole use.
42071 2010-11-13  Jim Meyering  <meyering@redhat.com>
42073         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
42074         Now we require at least autoconf-2.59, which means the work-around
42075         is no longer needed.
42076         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
42077         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
42078         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
42079         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
42080         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
42082 2010-11-13  Bruno Haible  <bruno@clisp.org>
42084         rename, renameat: Avoid test failures at NFS mounted locations.
42085         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
42086         functions.
42087         (test_rename): Use assert_nonexistent.
42088         * tests/test-rename.c: Include <dirent.h>.
42089         * tests/test-renameat.c: Likewise.
42090         Reported by Gary V. Vaughan <gary@gnu.org>.
42092         rename, renameat: Document Linux bug with NFS
42093         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
42094         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
42095         * doc/posix-functions/renameat.texi: Likewise.
42096         Suggested by Eric Blake.
42098 2010-11-13  Bruno Haible  <bruno@clisp.org>
42100         rename test: Add comments.
42101         * tests/test-rename.h (test_rename): Add structure and comments.
42103 2010-11-13  Eric Blake  <eblake@redhat.com>
42105         maintainer-makefile: cover a few more files
42106         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
42107         scripts generated within C files, for libvirt.
42109 2010-11-13  Bruno Haible  <bruno@clisp.org>
42111         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
42112         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
42113         character, return the number of bytes that belong together, not always
42114         1.
42115         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
42116         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
42117         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
42118         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
42119         number of bytes of an invalid character.
42120         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
42121         (main): Invoke it.
42122         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
42123         results.
42124         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
42125         malformed byte sequences.
42126         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
42127         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
42128         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
42129         Reported by Ben Pfaff and Paolo Bonzini.
42131 2010-11-13  Bruno Haible  <bruno@clisp.org>
42133         openat: Work around glibc bug with fchownat() and empty file names.
42134         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
42135         (gl_FUNC_FCHOWNAT): Invoke it.
42136         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
42137         * doc/posix-functions/fchownat.texi: Document the glibc bug.
42138         Reported by Gary V. Vaughan <gary@gnu.org>.
42140 2010-11-13  Bruno Haible  <bruno@clisp.org>
42142         openat: Ensure autoconf macro ordering.
42143         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
42144         gl_USE_SYSTEM_EXTENSIONS.
42145         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
42147 2010-11-13  Bruno Haible  <bruno@clisp.org>
42149         Update comments.
42150         * lib/unistr/u8-check.c: Update file name in comments.
42151         * lib/unistr/u8-mblen.c: Likewise.
42152         * lib/unistr/u8-prev.c: Likewise.
42153         * lib/unistr/u8-strmblen.c: Likewise.
42154         * lib/unistr/u8-strmbtouc.c: Likewise.
42156 2010-11-13  Jim Meyering  <meyering@redhat.com>
42158         tests: avoid test failure on Solaris 10 due to lack of PATH export
42159         * tests/test-update-copyright.sh: Don't forget to export PATH.
42161         init.sh: ensure that IFS is defined, just in case...
42162         * tests/init.sh (setup_): Ensure that IFS is defined,
42163         so that saving and restoring it works as expected.  This
42164         appears to be useful at least for an old version of dash
42165         from a long time ago (RH 6).  See here for details:
42166         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
42168         maint.mk: tighten "test a == b" check
42169         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
42170         test to files that contain something like #!/bin/sh.
42171         Without this, coreutils would get two false positives in
42172         the comments of C source files.
42174 2010-11-12  Eric Blake  <eblake@redhat.com>
42176         bootstrap: fix typo in previous attempt
42177         * build-aux/bootstrap (buildreq): Correct the grouping.
42178         Reported by Paul Eggert.
42180         maintainer-makefile: prohibit test x == x
42181         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
42182         Based on a report by Matthias Bolte.
42184         bootstrap: allow FreeBSD gzip
42185         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
42186         which has no '.' and goes to stderr.
42187         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
42188         Reported by Matthias Bolte.
42190         maintainer-makefile: check for i18n setup
42191         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
42192         will likely work.
42194 2010-11-12  Bruno Haible  <bruno@clisp.org>
42196         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
42197         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
42198         * lib/nanosleep.c (nanosleep): Likewise.
42200 2010-11-11  Bruno Haible  <bruno@clisp.org>
42202         fcntl-h: Fix for use of C++ on glibc systems.
42203         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
42204         also on glibc systems in C++ mode.
42205         Reported by Gary V. Vaughan <gary@gnu.org>.
42207 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
42209         mknod: avoid false failure with dash
42210         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
42212 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
42214         unlink: Fix "is it should" typo in diagnostic.
42215         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
42216         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
42218 2010-11-11  Bruno Haible  <bruno@clisp.org>
42220         Tests for module 'strerror_r-posix'.
42221         * modules/strerror_r-posix-tests: New file.
42222         * tests/test-strerror_r.c: New file.
42223         * tests/test-string-c++.cc: Check the signature of strerror_r.
42225         New module 'strerror_r-posix'.
42226         * lib/string.in.h (strerror_r): New declaration.
42227         * lib/strerror_r.c: New file.
42228         * m4/strerror_r.m4: New file.
42229         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
42230         of strerror_r.
42231         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
42232         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
42233         * modules/strerror_r-posix: New file.
42234         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
42235         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
42236         * doc/posix-functions/strerror_r.texi: Mention the new module and the
42237         portability problems.
42239 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
42241         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
42242         line is also considered for output. Quoted function name in shell
42243         command, so temporary files for functions like MyClass::operator()
42244         are removed correctly without errors.
42246 2010-11-09  Bruno Haible  <bruno@clisp.org>
42248         * doc/posix-functions/strerror.texi: List more failing platforms.
42250         * doc/posix-functions/strerror.texi: Add a comment.
42252 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
42254         fdopendir: fix bug on MacOS X when low on file descriptors
42256         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
42257         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
42258         All callers changed.
42259         (fdopendir): Invoke save_cwd at the top level, not after using
42260         multiple dup() calls to use up file descriptors.  Then retry
42261         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
42262         less than the maximum number of open file descriptors, because
42263         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
42264         on Mac OS X 10.6.4 for tar 1.24
42265         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
42266         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
42267         and for tar 1.25
42268         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
42270 2010-11-07  Bruno Haible  <bruno@clisp.org>
42272         vasnprintf: Support I flag on glibc systems.
42273         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
42274         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
42275         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
42276         snprintf function.
42277         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
42278         glibc systems.
42279         * tests/test-vasnprintf-posix3.c: New file.
42280         * modules/vasnprintf-posix-tests (Files): Add it.
42281         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
42283 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
42285         [html] Fix copy/paste bug: Use unique name for compiler warnings.
42286         * MODULES.html.sh: For compiler warnings, use name
42287         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
42289 2010-11-05  Eric Blake  <eblake@redhat.com>
42291         ceil, floor: avoid spurious failure with icc
42292         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
42293         [denormals-as-zero] when optimizing without -mieee-fp option.
42294         * tests/test-floorf2.c (floorf_reference): Likewise.
42295         * tests/test-ceilf1.c (dummy): New function.
42296         (main): Use it to outsmart icc's optimization.
42297         * tests/test-floorf1.c (dummy, main): Likewise.
42299         tests: require working signbit
42300         * modules/ceilf-tests (Depends-on): Add signbit.
42301         * modules/ceill-tests (Depends-on): Likewise.
42302         * modules/floorf-tests (Depends-on): Likewise.
42303         * modules/floorl-tests (Depends-on): Likewise.
42304         * modules/round-tests (Depends-on): Likewise.
42305         * modules/roundf-tests (Depends-on): Likewise.
42306         * modules/roundl-tests (Depends-on): Likewise.
42307         * modules/trunc-tests (Depends-on): Likewise.
42308         * modules/truncf-tests (Depends-on): Likewise.
42309         * modules/truncl-tests (Depends-on): Likewise.
42311         strtod: work around icc bug
42312         * lib/strtod.c (minus_zero): Define to working value.
42313         (strtod): Use it to avoid icc bug.
42315         copysign: enhance tests
42316         * modules/copysign-tests (Files): Add minus-zero.h.
42317         * tests/test-copysign.c (main): Also test zeros.
42319 2010-11-04  Eric Blake  <eblake@redhat.com>
42321         ceil, floor, round, trunc: enhance tests of -0
42322         * tests/test-ceilf1.c (main): Ensure correct sign of result.
42323         * tests/test-ceill.c (main): Likewise.
42324         * tests/test-floorf1.c (main): Likewise.
42325         * tests/test-floorl.c (main): Likewise.
42326         * tests/test-round1.c (main): Likewise.
42327         * tests/test-roundf1.c (main): Likewise.
42328         * tests/test-roundl.c (main): Likewise.
42329         * tests/test-trunc1.c (main): Likewise.
42330         * tests/test-truncf1.c (main): Likewise.
42331         * tests/test-truncl.c (main): Likewise.
42333 2010-11-04  Eric Blake  <eblake@redhat.com>
42335         frexp, tests: work around ICC bug with -zero
42336         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
42337         works with more compilers.
42338         * tests/minus-zero.h: New file.
42339         * modules/ceilf-tests (Files): Include it.
42340         * modules/ceill-tests (Files): Likewise.
42341         * modules/floorf-tests (Files): Likewise.
42342         * modules/floorl-tests (Files): Likewise.
42343         * modules/frexp-nolibm-tests (Files): Likewise.
42344         * modules/frexp-tests (Files): Likewise.
42345         * modules/frexpl-nolibm-tests (Files): Likewise.
42346         * modules/frexpl-tests (Files): Likewise.
42347         * modules/isnan-tests (Files): Likewise.
42348         * modules/isnand-nolibm-tests (Files): Likewise.
42349         * modules/isnand-tests (Files): Likewise.
42350         * modules/isnanf-nolibm-tests (Files): Likewise.
42351         * modules/isnanf-tests (Files): Likewise.
42352         * modules/isnanl-nolibm-tests (Files): Likewise.
42353         * modules/isnanl-tests (Files): Likewise.
42354         * modules/round-tests (Files): Likewise.
42355         * modules/roundf-tests (Files): Likewise.
42356         * modules/roundl-tests (Files): Likewise.
42357         * modules/ldexpl-tests (Files): Likewise.
42358         * modules/signbit-tests (Files): Likewise.
42359         * modules/snprintf-posix-tests (Files): Likewise.
42360         * modules/sprintf-posix-tests (Files): Likewise.
42361         * modules/strtod-tests (Files): Likewise.
42362         * modules/trunc-tests (Files): Likewise.
42363         * modules/truncf-tests (Files): Likewise.
42364         * modules/truncl-tests (Files): Likewise.
42365         * modules/vsnprintf-posix-tests (Files): Likewise.
42366         * modules/vsprintf-posix-tests (Files): Likewise.
42367         * modules/vasnprintf-posix-tests (Files): Likewise.
42368         * modules/vasprintf-posix-tests (Files): Likewise.
42369         * tests/test-ceilf1.c (main): Use it.
42370         * tests/test-ceill.c (main): Likewise.
42371         * tests/test-floorf1.c (main): Likewise.
42372         * tests/test-floorl.c (main): Likewise.
42373         * tests/test-frexp.c (main): Likewise.
42374         * tests/test-frexpl.c (main): Likewise.
42375         * tests/test-isnan.c (main): Likewise.
42376         * tests/test-isnand.h (main): Likewise.
42377         * tests/test-isnanf.h (main): Likewise.
42378         * tests/test-isnanl.h (main): Likewise.
42379         * tests/test-ldexpl.c (main): Likewise.
42380         * tests/test-round.c (main): Likewise.
42381         * tests/test-roundf.c (main): Likewise.
42382         * tests/test-roundl.c (main): Likewise.
42383         * tests/test-signbit.c (test_signbitf, test_signbitd)
42384         (test_signbitl): Likewise.
42385         * tests/test-snprintf-posix.h (test_function): Likewise.
42386         * tests/test-sprintf-posix.h (test_function): Likewise.
42387         * tests/test-strtod.c (main): Likewise.
42388         * tests/test-trunc1.c (main): Likewise.
42389         * tests/test-truncf1.c (main): Likewise.
42390         * tests/test-truncl.c (main): Likewise.
42392         isnanl: work around icc bug
42393         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
42395 2010-11-03  Eric Blake  <eblake@redhat.com>
42397         tests: fix compiler warnings
42398         * tests/test-getopt.h (test_getopt): Fix condition.
42399         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42400         * tests/test-pipe2.c (main): Likewise.
42401         * tests/test-quotearg-simple.c (main): Avoid icc warning.
42403         utimens: fix broken m4 test
42404         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
42406 2010-10-28  Bruno Haible  <bruno@clisp.org>
42408         posix_spawn*, getdtablesize: Relax license.
42409         * modules/posix_spawn (License): Change to LGPLv2+.
42410         * modules/posix_spawnp (License): Likewise.
42411         * modules/posix_spawn-internal (License): Likewise.
42412         * modules/posix_spawnattr_init (License): Likewise.
42413         * modules/posix_spawnattr_getflags (License): Likewise.
42414         * modules/posix_spawnattr_setflags (License): Likewise.
42415         * modules/posix_spawnattr_getpgroup (License): Likewise.
42416         * modules/posix_spawnattr_setpgroup (License): Likewise.
42417         * modules/posix_spawnattr_getschedparam (License): Likewise.
42418         * modules/posix_spawnattr_setschedparam (License): Likewise.
42419         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
42420         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
42421         * modules/posix_spawnattr_getsigdefault (License): Likewise.
42422         * modules/posix_spawnattr_setsigdefault (License): Likewise.
42423         * modules/posix_spawnattr_getsigmask (License): Likewise.
42424         * modules/posix_spawnattr_setsigmask (License): Likewise.
42425         * modules/posix_spawnattr_destroy (License): Likewise.
42426         * modules/posix_spawn_file_actions_init (License): Likewise.
42427         * modules/posix_spawn_file_actions_addclose (License): Likewise.
42428         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
42429         * modules/posix_spawn_file_actions_addopen (License): Likewise.
42430         * modules/posix_spawn_file_actions_destroy (License): Likewise.
42431         * modules/getdtablesize (License): Likewise.
42432         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
42434 2010-10-26  Bruno Haible  <bruno@clisp.org>
42436         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
42437         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
42438         Cygwin and mingw.
42439         Suggested by Eric Blake.
42441 2010-10-26  Bruno Haible  <bruno@clisp.org>
42443         stdio: Work around compilation error due to renameat() on Solaris 10.
42444         * lib/stdio.in.h: Include <unistd.h> on Solaris.
42445         * lib/renameat.c: Don't include <unistd.h> here.
42446         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
42447         Reported by Paul Eggert and Eric Blake.
42449 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
42451         renameat: port to Solaris 10, which declares renameat in unistd.h
42453         * lib/renameat.c: Include unistd.h before stdio.h, because
42454         Solaris 10 declares renameat in unistd.h.  Problem encountered
42455         when building GNU tar 1.24 on Solaris 10.
42457 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
42459         fdopendir: fix C89 compilation
42460         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
42461         compilers.
42463 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
42465         inttostr: simplify by removing unnecessary redundancy
42466         * lib/anytostr.c: Don't include verify.h.
42467         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
42468         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
42469         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
42470         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
42471         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
42472         Likewise.
42473         * modules/inttostr (Depends-on): Remove 'verify'.
42475 2010-10-23  Bruno Haible  <bruno@clisp.org>
42477         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
42478         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
42479         Reported by Eric Blake.
42481 2010-10-23  Bruno Haible  <bruno@clisp.org>
42483         Tests: Fix LOCALE_JA on MirBSD 10.
42484         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
42485         to an UTF-8 locale.
42486         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
42487         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42488         Reported by Eric Blake.
42490 2010-10-21  Bruno Haible  <bruno@clisp.org>
42492         nl_langinfo test: Avoid test failure on NetBSD 5.
42493         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
42494         Reported by Eric Blake.
42496 2010-10-21  Eric Blake  <eblake@redhat.com>
42498         c-stack: work around libsigsegv 2.8 bug
42499         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
42500         overflow on at least PowerPC64.
42502 2010-10-17  Bruno Haible  <bruno@clisp.org>
42504         userspec: Drop redundant file.
42505         * modules/userspec (Files): Remove lib/inttostr.h.
42507 2010-10-17  Bruno Haible  <bruno@clisp.org>
42509         nl_langinfo tests: Silence some warnings.
42510         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
42511         Reported by Jim Meyering.
42513 2010-10-17  Bruno Haible  <bruno@clisp.org>
42515         Make use of GCC's attribute __alloc_size__.
42516         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
42517         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
42518         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
42519         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
42520         __alloc_size__.
42521         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
42522         Suggested by Jim Meyering.
42524 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
42526         bootstrap: anchor .gitignore entries.
42527         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
42528         with...
42529         (insert_vc_ignore): ... this new function, which prepends `/' to
42530         all .gitignore entries before passing them to
42531         insert_sorted_if_absent.
42533 2010-10-16  Bruno Haible  <bruno@clisp.org>
42535         nextafter: Fix configure check.
42536         * modules/nextafter (configure.ac): Correct expected prototype.
42538 2010-10-16  Bruno Haible  <bruno@clisp.org>
42540         termios: Update documentation.
42541         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
42543 2010-10-16  Bruno Haible  <bruno@clisp.org>
42545         tests: Make them compile with TinyCC.
42546         * tests/test-strstr.c (main): Remove parentheses around array
42547         initializer.
42549 2010-10-15  Eric Blake  <eblake@redhat.com>
42551         ignore-value: make header idempotent
42552         * lib/ignore-value.h: Add double-inclusion guards.
42553         Reported by Stefan Berger.
42555 2010-10-15  Jim Meyering  <meyering@redhat.com>
42557         GNUmakefile: handle "stable" target, not "major"
42558         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
42559         lists in maint.mk and announce-gen.  Without this, "make stable"
42560         would fail to ensure that $(VERSION) is up to date.
42562 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
42564         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
42565         & co.
42567 2010-10-14  Bruno Haible  <bruno@clisp.org>
42569         vasnprintf: Don't set errno to 0.
42570         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
42571         block that sets it to 0.
42572         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
42574 2010-10-14  Bruno Haible  <bruno@clisp.org>
42576         socketlib: Fix.
42577         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
42578         gl_PREREQ_SYS_H_WINSOCK2.
42579         Reported by Ian Beckwith <ianb@erislabs.net>.
42581 2010-10-13  Jim Meyering  <meyering@redhat.com>
42583         test-select-stdin.c: avoid warn_unused_result warnings
42584         * tests/test-select-stdin.c: Include "macros.h".
42585         ASSERT that read and fflush succeed.
42587 2010-10-13  Jim Meyering  <meyering@redhat.com>
42589         git-version-gen: do require git-VC'd files in cwd
42590         * build-aux/git-version-gen: Reject a git version string
42591         if there are no commits associated with the current directory.
42592         This avoids an unlikely false-positive (unrelated dir whose parent
42593         repository also contains a tag matching v*), as pointed out
42594         by Giuseppe Scrivano in
42595         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
42597 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
42599         argv-iter: omit nonconforming declaration
42600         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
42601         enum arg_iter_err declaration, which doesn't conform to C99.
42602         Solaris 10 cc warns about this.
42604 2010-10-13  Eric Blake  <eblake@redhat.com>
42606         termios: fix compilation on mingw
42607         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
42608         (gl_TERMIOS_H): Adjust it on mingw.
42609         * modules/termios (Makefile.am): Substitute new key.
42610         * lib/termios.in.h (includes): Make include_next conditional.
42611         * doc/posix-headers/termios.texi (termios.h): Update
42612         documentation.
42613         Reported by Daniel P. Berrange.
42615 2010-10-13  Jim Meyering  <meyering@redhat.com>
42617         git-version-gen: don't require that .git/ be in the current dir
42618         * build-aux/git-version-gen: Adjust this script so that it works
42619         when run from any working directory beneath the top-level .git/-
42620         containing directory.  Inspired by a patch from Giuseppe Scrivano,
42621         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
42623         test-select: avoid warn_unused_result warnings
42624         * tests/test-select.c: Include "macros.h".
42625         ASSERT that each call to read, write, and pipe succeeds.
42626         While not technically required, also check each "close".
42627         * modules/select-tests (Files): Add tests/macros.h.
42629         test-symlinkat: remove declaration of unused local
42630         * tests/test-symlinkat.c (main): Remove unused local, "buf".
42632         test-inttostr: avoid shadowing warnings
42633         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
42634         and use malloc rather than the stack for the same reason as
42635         mentioned in the comment justifying the other allocation.
42637 2010-10-11  Bruno Haible  <bruno@clisp.org>
42639         stdlib: Allow multiple gnulib generated replacements to coexist.
42640         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
42641         Reported by Sam Steingold <sds@gnu.org>.
42643 2010-10-11  Jim Meyering  <meyering@redhat.com>
42645         fix a documentation typo
42646         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
42648 2010-10-11  Eric Blake  <eblake@redhat.com>
42650         futimens: work around Solaris 11 bug
42651         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
42652         * tests/test-futimens.h (test_futimens): Enhance, rather than
42653         weaken test.
42654         * doc/posix-functions/futimens.texi (futimens): Document the bug.
42656 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
42658         Indentation.
42659         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
42660         higher-level operators more to the left.
42662 2010-10-11  Jim Meyering  <meyering@redhat.com>
42664         test-futimens: avoid unwarranted test failure on Solaris 5.11
42665         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
42666         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
42667         because it tries to dereference the NULL name argument.
42669 2010-10-11  Bruno Haible  <bruno@clisp.org>
42671         Indentation.
42672         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
42673         indentation.
42675 2010-10-11  Jim Meyering  <meyering@redhat.com>
42677         spawn.in.h: make indentation consistent with parentheses
42678         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
42679         Make indentation consistent with parentheses.
42681 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
42683         Fix mismatched parens in previous commit
42684         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
42685         parens.
42687 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
42689         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
42691         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
42692         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
42693         * lib/malloca.c: Include "verify.h".
42694         (verify1): Remove, replacing with a verify call.
42695         * lib/relocwrapper.c (verify1): Likewise.
42696         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
42697         Likewise.
42698         * modules/malloca (Depends-on): Add 'verify'.
42699         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
42700         * modules/vasnprintf (Depends-on): Add 'verify'.
42701         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42702         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42703         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42704         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42705         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42706         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42707         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42709         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
42711         Formerly the style was sometimes 2*X - 1, because the C standard
42712         was wrongly thought to disallow ?: in integral constant expressions.
42713         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
42714         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
42715         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
42716         * lib/stdint.in.h (_verify_intmax_size): Likewise.
42717         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
42718         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
42719         verify that time_t cannot be floating.
42721 2010-10-08  Eric Blake  <eblake@redhat.com>
42723         time: enforce recent POSIX ruling that time_t is integral
42724         * lib/time.in.h (__time_t_must_be_integral): Detect any
42725         problematic systems, allowing the rest of gnulib to assume POSIX.
42727 2010-10-08  Jim Meyering  <meyering@redhat.com>
42729         fdopendir: fix a bug on systems lacking openat and /proc support
42730         OpenBSD 4.7 is one such system.  The most noticeable effect was
42731         failure of any application making nontrivial use of fts: rm, du,
42732         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
42733           ./rm: traversal failed: `a': Bad file descriptor
42734         Debugging that, you see that even though FD 6 was closed just
42735         prior to the opendir call in fd_clone_opendir, its resulting
42736         dir->dd_fd was 8, rather than the expected value of 6:
42738         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
42739         93                close (fd);
42740         (gdb) n
42741         94                dir = fd_clone_opendir (dupfd);
42742         (gdb) n
42743         95                saved_errno = errno;
42744         (gdb) p dir->dd_fd
42745         $11 = 8
42747         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
42748         The problem is that on OpenBSD, fd_clone_opendir has to resort
42749         to using the old-style save/restore CWD mechanism, due to its
42750         lack of openat/proc support, and *that* would steal the FD (6)
42751         that opendir was supposed to use.
42753         The fix is to squirrel away the desired FD so that save_cwd uses a
42754         different one, and then free the dest FD right before calling opendir.
42755         That guarantees opendir will use the required file descriptor.
42757         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
42759 2010-10-08  Bruno Haible  <bruno@clisp.org>
42761         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
42762         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
42764 2010-10-08  Bruno Haible  <bruno@clisp.org>
42766         nanosleep: Make replacement POSIX compliant.
42767         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
42768         is out of range.
42769         Reported by Jim Meyering.
42771 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
42773         bootstrap: add hook for altering gnulib.mk, for Bison
42774         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
42775         the Bison bootstrapping process can rewrite file names and variables
42776         in this file before later parts of 'bootstrap' use the file.
42777         Bison wants to include lib/gnulib.mk from the top-level makefile,
42778         so it needs the file names in this file to be relative to the top
42779         level, not relative to lib; plus it needs variable names to be
42780         rewritten.
42781         (slurp): Use the new function.
42783         bootstrap: reformat for readability
42784         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
42786 2010-10-08  Eric Blake  <eblake@redhat.com>
42788         docs: update cygwin progress
42789         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
42790         1.7.7.
42791         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
42792         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
42793         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
42794         * doc/posix-functions/carg.texi (carg): Likewise.
42795         * doc/posix-functions/cargf.texi (cargf): Likewise.
42796         * doc/posix-functions/casin.texi (casin): Likewise.
42797         * doc/posix-functions/casinf.texi (casinf): Likewise.
42798         * doc/posix-functions/casinh.texi (casinh): Likewise.
42799         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
42800         * doc/posix-functions/catan.texi (catan): Likewise.
42801         * doc/posix-functions/catanf.texi (catanf): Likewise.
42802         * doc/posix-functions/catanh.texi (catanh): Likewise.
42803         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
42804         * doc/posix-functions/ccos.texi (ccos): Likewise.
42805         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
42806         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
42807         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
42808         * doc/posix-functions/cexp.texi (cexp): Likewise.
42809         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
42810         * doc/posix-functions/cimag.texi (cimag): Likewise.
42811         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
42812         * doc/posix-functions/clog.texi (clog): Likewise.
42813         * doc/posix-functions/clogf.texi (clogf): Likewise.
42814         * doc/posix-functions/conj.texi (conj): Likewise.
42815         * doc/posix-functions/conjf.texi (conjf): Likewise.
42816         * doc/posix-functions/cpow.texi (cpow): Likewise.
42817         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
42818         * doc/posix-functions/cproj.texi (cproj): Likewise.
42819         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
42820         * doc/posix-functions/creal.texi (creal): Likewise.
42821         * doc/posix-functions/crealf.texi (crealf): Likewise.
42822         * doc/posix-functions/csin.texi (csin): Likewise.
42823         * doc/posix-functions/csinf.texi (csinf): Likewise.
42824         * doc/posix-functions/csinh.texi (csinh): Likewise.
42825         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
42826         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
42827         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
42828         * doc/posix-functions/ctan.texi (ctan): Likewise.
42829         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
42830         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
42831         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
42832         * doc/posix-headers/complex.texi (complex.h): Likewise.
42834 2010-10-07  Jim Meyering  <meyering@redhat.com>
42836         parse-datetime: avoid compilation failure on OpenBSD 4.7
42837         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
42838         This works around a compilation failure on OpenBSD 4.7:
42839         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
42841 2010-10-07  Eric Blake  <eblake@redhat.com>
42843         docs: update cygwin progress
42844         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
42845         1.7.6.
42846         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42847         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
42848         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
42849         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
42850         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
42851         Likewise.
42852         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
42853         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
42854         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
42855         Likewise.
42856         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
42857         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
42858         Likewise.
42859         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
42860         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
42861         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
42862         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
42863         Likewise.
42864         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
42865         Likewise.
42866         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
42868         docs: update parse-datetime history
42869         * doc/parse-datetime.texi (Authors of parse_datetime): Better
42870         documentation of this function's history and alternatives.
42872         cygwin: use more robust version check
42873         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
42874         exclude an eventual cygwin 1.9.1.
42875         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
42876         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
42877         (gl_FUNC_STRCASESTR): Likewise.
42878         Reported by Bruno Haible.
42880 2010-10-06  Bruno Haible  <bruno@clisp.org>
42882         string, sys_select: Avoid #including large headers unless necessary.
42883         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
42884         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
42885         OSF/1, BeOS, Haiku.
42886         Reported by Jim Meyering.
42888 2010-10-05  Eric Blake  <eblake@redhat.com>
42890         memmem, strstr, strcasestr: fix bug with long periodic needle
42891         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
42892         periodic needle having false positive.
42893         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
42894         and cygwin 1.7.7.
42895         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
42896         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
42897         (gl_FUNC_STRCASESTR): Likewise.
42898         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
42899         * tests/test-memmem.c (main): Expose the bug.
42900         * tests/test-strcasestr.c (main): Likewise.
42901         * tests/test-strstr.c (main): Likewise.
42902         * tests/test-c-strcasestr.c (main): Likewise.
42903         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
42904         * doc/posix-functions/strstr.texi (strstr): Likewise.
42905         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42906         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
42908 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
42910         parse-datetime: do some more renaming
42911         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
42912         parse_datetime, not get_date.  Mention the renaming.
42913         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
42914         in comments.
42915         * m4/bison.m4: Likewise.
42917 2010-10-05  Eric Blake  <eblake@redhat.com>
42919         parse-datetime: better name than get_date
42920         * NEWS: Reword the deprecation notice.
42921         * modules/get_date: Rename to modules/parse-datetime.
42922         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
42923         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
42924         * lib/get_date.y: Rename to lib/parse-datetime.y.
42925         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
42926         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
42927         * doc/getdate.texi: Provide fallback wrapper.
42928         * lib/getdate.h: Move guts, and wrap...
42929         * lib/parse-datetime.h: ...new file.
42930         * lib/parse-datetime.y (get_date): Rename...
42931         (parse_datetime): ...to this.
42932         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
42933         (gl_PARSE_DATETIME): ...to this.
42934         * doc/posix-functions/getdate.texi (get_date): Provide fallback
42935         documentation.
42936         * modules/getdate (Files): Provide fallback docs and header.
42937         (Notice, Depends-on): Update references.
42938         * tests/test-parse-datetime.c: Likewise.
42939         * DEPENDENCIES: Likewise.
42940         * MODULES.html.sh (Date and time <time.h>): Likewise.
42941         * doc/parse-datetime.texi (Date input formats)
42942         (Authors of parse_datetime): Likewise.
42943         * modules/parse-datetime (Files, configure.ac, Makefile.am)
42944         (Include): Likewise.
42945         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
42946         * gnulib-tool: Likewise.
42947         * m4/bison.m4 (gl_BISON): Likewise.
42948         Suggested by Bruno Haible.
42950 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
42952         more ports to Solaris tr, which needs [] around ranges
42953         * gnulib-tool: Solaris tr needs [] around ranges.
42954         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
42955         * tests/test-pipe-filter-gi1.c (main): Likewise.
42956         * tests/test-pipe-filter-ii1.c (main): Likewise.
42958 2010-10-05  Eric Blake  <eblake@redhat.com>
42960         bootstrap: fix Solaris regression
42961         * build-aux/bootstrap (check_versions): Solaris tr still needs []
42962         around ranges.
42963         Reported by Pádraig Brady.
42965         bootstrap: work with pkg-config
42966         * build-aux/bootstrap (check_versions): Also transliterate - in
42967         prerequisite name.
42968         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
42969         prerequisites that were already found, to avoid confusion.
42970         Reported by Justin Clift.
42972         faccessat: remove unused wrappers
42973         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
42974         presence of these wrappers dragged in -lgen on Solaris.
42975         Reported by Clemens Brogi; fix suggested by Paul Eggert.
42977 2010-10-05  Jim Meyering  <meyering@redhat.com>
42979         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
42980         * Makefile (sc_pragma_columns): New syntax-check rule.
42982 2010-10-04  Bruno Haible  <bruno@clisp.org>
42984         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
42985         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
42986         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
42987         Reported by Bruce Korb and Eric Blake.
42989 2010-10-04  Bruno Haible  <bruno@clisp.org>
42991         threadlib: Make option --with-libpth-prefix work.
42992         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
42993         use $LIBPTH, not just -lpth.
42995 2010-10-04  Bruno Haible  <bruno@clisp.org>
42997         Avoid line length limitation from HP NonStop system header files.
42998         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
42999         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
43000         * lib/ctype.in.h: Likewise.
43001         * lib/dirent.in.h: Likewise.
43002         * lib/errno.in.h: Likewise.
43003         * lib/fcntl.in.h: Likewise.
43004         * lib/float.in.h: Likewise.
43005         * lib/getopt.in.h: Likewise.
43006         * lib/iconv.in.h: Likewise.
43007         * lib/inttypes.in.h: Likewise.
43008         * lib/langinfo.in.h: Likewise.
43009         * lib/locale.in.h: Likewise.
43010         * lib/math.in.h: Likewise.
43011         * lib/netdb.in.h: Likewise.
43012         * lib/netinet_in.in.h: Likewise.
43013         * lib/poll.in.h: Likewise.
43014         * lib/pthread.in.h: Likewise.
43015         * lib/pty.in.h: Likewise.
43016         * lib/sched.in.h: Likewise.
43017         * lib/se-selinux.in.h: Likewise.
43018         * lib/search.in.h: Likewise.
43019         * lib/signal.in.h: Likewise.
43020         * lib/spawn.in.h: Likewise.
43021         * lib/stdarg.in.h: Likewise.
43022         * lib/stddef.in.h: Likewise.
43023         * lib/stdint.in.h: Likewise.
43024         * lib/stdio.in.h: Likewise.
43025         * lib/stdlib.in.h: Likewise.
43026         * lib/string.in.h: Likewise.
43027         * lib/strings.in.h: Likewise.
43028         * lib/sys_file.in.h: Likewise.
43029         * lib/sys_ioctl.in.h: Likewise.
43030         * lib/sys_select.in.h: Likewise.
43031         * lib/sys_socket.in.h: Likewise.
43032         * lib/sys_stat.in.h: Likewise.
43033         * lib/sys_time.in.h: Likewise.
43034         * lib/sys_times.in.h: Likewise.
43035         * lib/sys_utsname.in.h: Likewise.
43036         * lib/sys_wait.in.h: Likewise.
43037         * lib/sysexits.in.h: Likewise.
43038         * lib/termios.in.h: Likewise.
43039         * lib/time.in.h: Likewise.
43040         * lib/unistd.in.h: Likewise.
43041         * lib/wchar.in.h: Likewise.
43042         * lib/wctype.in.h: Likewise.
43043         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
43044         * modules/ctype (Makefile.am): Likewise.
43045         * modules/dirent (Makefile.am): Likewise.
43046         * modules/errno (Makefile.am): Likewise.
43047         * modules/fcntl-h (Makefile.am): Likewise.
43048         * modules/float (Makefile.am): Likewise.
43049         * modules/getopt-posix (Makefile.am): Likewise.
43050         * modules/iconv-h (Makefile.am): Likewise.
43051         * modules/inttypes (Makefile.am): Likewise.
43052         * modules/langinfo (Makefile.am): Likewise.
43053         * modules/locale (Makefile.am): Likewise.
43054         * modules/math (Makefile.am): Likewise.
43055         * modules/netdb (Makefile.am): Likewise.
43056         * modules/netinet_in (Makefile.am): Likewise.
43057         * modules/poll-h (Makefile.am): Likewise.
43058         * modules/pthread (Makefile.am): Likewise.
43059         * modules/pty (Makefile.am): Likewise.
43060         * modules/sched (Makefile.am): Likewise.
43061         * modules/search (Makefile.am): Likewise.
43062         * modules/selinux-h (Makefile.am): Likewise.
43063         * modules/signal (Makefile.am): Likewise.
43064         * modules/spawn (Makefile.am): Likewise.
43065         * modules/stdarg (Makefile.am): Likewise.
43066         * modules/stddef (Makefile.am): Likewise.
43067         * modules/stdint (Makefile.am): Likewise.
43068         * modules/stdio (Makefile.am): Likewise.
43069         * modules/stdlib (Makefile.am): Likewise.
43070         * modules/string (Makefile.am): Likewise.
43071         * modules/strings (Makefile.am): Likewise.
43072         * modules/sys_file (Makefile.am): Likewise.
43073         * modules/sys_ioctl (Makefile.am): Likewise.
43074         * modules/sys_select (Makefile.am): Likewise.
43075         * modules/sys_socket (Makefile.am): Likewise.
43076         * modules/sys_stat (Makefile.am): Likewise.
43077         * modules/sys_time (Makefile.am): Likewise.
43078         * modules/sys_times (Makefile.am): Likewise.
43079         * modules/sys_utsname (Makefile.am): Likewise.
43080         * modules/sys_wait (Makefile.am): Likewise.
43081         * modules/sysexits (Makefile.am): Likewise.
43082         * modules/termios (Makefile.am): Likewise.
43083         * modules/time (Makefile.am): Likewise.
43084         * modules/unistd (Makefile.am): Likewise.
43085         * modules/wchar (Makefile.am): Likewise.
43086         * modules/wctype (Makefile.am): Likewise.
43088 2010-10-04  Bruno Haible  <bruno@clisp.org>
43090         read-file tests: Avoid a test failure on NonStop Kernel.
43091         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
43092         a regular file.
43093         Reported by Joachim Schmitz <schmitz@hp.com>.
43095 2010-10-03  Bruno Haible  <bruno@clisp.org>
43097         gnulib-tool: Fixes for --create-testdir with --libtool.
43098         * gnulib-tool (func_get_automake_snippet): Don't augment
43099         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
43100         an executable.
43101         (func_create_testdir): Handle module 'alloca' like func_import.
43102         Reported by Bruce Korb <bruce.korb@gmail.com>.
43104 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
43106         Avoid some lines longer than 80 characters.
43107         * lib/stdint.in.h: Break long comment lines.
43108         * lib/math.in.h: Likewise.
43109         (_GL_NUM_UINT_WORDS): New macro, for readability.
43110         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
43111         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
43112         * lib/stdlib.in.h: Likewise.
43113         * lib/spawn.in.h: Likewise.
43114         * lib/sys_socket.in.h: Update an URL.
43115         * lib/sys_stat.in.h: Break long line.
43117 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
43119         Improve pmccabe2html.
43120         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
43121         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
43122         when the sources change. Remove the line in the HTML about "Used
43123         ranges" (which implied that there might be other unused ranges),
43124         rename "Resume" to "Summary" (easier to understand for more users).
43125         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
43126         styles, and some unnecessary blank lines.
43128 2010-10-03  Bruno Haible  <bruno@clisp.org>
43129             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
43131         acl: Add support for ACLs on NonStop Kernel.
43132         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
43133         Check whether the function aclsort() exists.
43134         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
43135         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
43136         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
43137         (acl_nontrivial [HAVE_ACLSORT]: New function.
43138         (file_has_acl): Implement for NonStop Kernel.
43139         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
43140         (qset_acl): Implement for NonStop Kernel.
43141         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
43142         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
43143         (main): Implement for NonStop Kernel.
43144         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
43145         Kernel. Handle this flavor.
43146         * tests/test-set-mode-acl.sh: Likewise.
43147         * tests/test-copy-acl.sh: Likewise.
43148         * tests/test-copy-file.sh: Likewise.
43150 2010-10-03  Bruno Haible  <bruno@clisp.org>
43152         Info about ACLs on NonStop Kernel.
43153         * doc/acl-resources.txt: Add info about NonStop Kernel.
43154         References by Joachim Schmitz <schmitz@hp.com>.
43156 2010-10-02  Bruno Haible  <bruno@clisp.org>
43158         Define missing EDQUOT on NonStop Kernel.
43159         * lib/errno.in.h (EDQUOT): Assign a value if missing.
43160         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
43161         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
43162         missing.
43163         * doc/posix-headers/errno.texi: Mention the NSK bug.
43164         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
43165         Reported by Joachim Schmitz <schmitz@hp.com>.
43167 2010-10-02  Bruno Haible  <bruno@clisp.org>
43169         Update doc for POSIX:2008.
43170         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
43171         Update URL of POSIX specification.
43173 2010-10-02  Bruno Haible  <bruno@clisp.org>
43175         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
43176         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
43177         from gnulib, not from Automake.
43179 2010-10-02  Bruno Haible  <bruno@clisp.org>
43181         New module 'system-posix'.
43182         * modules/system-posix: New file.
43183         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
43184         module is present.
43185         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
43186         GNULIB_SYSTEM_POSIX.
43187         * modules/stdlib (Depends-on): Remove sys_wait.
43188         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
43189         * doc/posix-functions/system.texi: Mention the new module.
43190         * doc/posix-headers/stdlib.texi: Likewise.
43191         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
43192         define test_sys_wait_macros to a no-op.
43193         Reported by Sam Steingold <sds@gnu.org>.
43195 2010-09-30  Bruno Haible  <bruno@clisp.org>
43197         More renaming from 'getdate' to 'get_date'.
43198         * doc/get_date.texi: Renamed from doc/getdate.texi.
43199         * modules/get_date (Files): Update.
43200         * MODULES.html.sh (Date and time <time.h>): Update.
43201         * DEPENDENCIES: Update.
43202         * gnulib-tool: Update comment.
43203         * m4/bison.m4 (gl_BISON): Likewise.
43204         * m4/get_date.m4 (gl_GET_DATE): Likewise.
43206 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
43208         bootstrap: support ACLOCAL_FLAGS during aclocal
43209         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
43210         can add additional -I dir for third-party .m4 files.
43212 2010-09-30  Eric Blake  <eblake@redhat.com>
43214         bootstrap: use glibtoolize on MacOS
43215         * build-aux/bootstrap (check_versions): Convert libtool into
43216         libtoolize.
43217         (tool search): Move libtool check earlier, and look for
43218         glibtoolize for MacOS.
43219         (gnulib_tool_options): Auto-add --libtool when appropriate.
43220         Reported by Justin Clift.
43222         poll: fix typo that broke test on MacOS
43223         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
43224         Reported by Justin Clift.
43226         getdate: rename to get_date
43227         Note: getdate.h is not renamed, to minimize client impact.
43228         * modules/getdate: Mark obsolete.  Move old contents...
43229         * modules/get_date: ...to new module name.
43230         * modules/getdate-tests: Move...
43231         * modules/get_date-tests: ...here.
43232         * m4/getdate.m4: Move...
43233         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
43234         * lib/getdate.y: Move...
43235         * lib/get_date.y: ...here.
43236         * tests/test-getdate.c: Move...
43237         * tests/test-get_date.c: ...here.
43238         * doc/posix-functions/getdate.texi (getdate): Update name.
43239         * NEWS: Mention the change.
43241 2010-09-29  Bruno Haible  <bruno@clisp.org>
43243         Separate the module 'waitpid' from the module 'sys_wait'.
43244         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
43245         present.
43246         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
43247         gl_MODULE_INDICATOR_FOR_TESTS.
43248         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
43249         * modules/sys_wait (Depends-on): Remove waitpid.
43250         (Makefile.am): Substitute GNULIB_WAITPID.
43251         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
43252         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
43253         signature only if the 'waitpid' module is present.
43254         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
43255         * NEWS: Mention the change.
43256         * modules/grantpt (Depends-on): Add waitpid.
43257         * modules/wait-process (Depends-on): Likewise.
43259 2010-09-29  Bruno Haible  <bruno@clisp.org>
43261         More tests for module 'sys_wait'.
43262         * modules/sys_wait-c++-tests: New file.
43263         * tests/test-sys_wait-c++.cc: New file.
43264         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
43265         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
43267 2010-09-29  Bruno Haible  <bruno@clisp.org>
43269         New module 'waitpid'.
43270         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
43271         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
43272         Don't include <process.h>.
43273         (waitpid): Declare only, using modern idiom.
43274         * m4/waitpid.m4: New file.
43275         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
43276         * modules/waitpid: New file.
43277         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
43278         (Makefile.am): Update.
43279         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
43281 2010-09-28  Bruno Haible  <bruno@clisp.org>
43283         poll: Assume ANSI C.
43284         * lib/poll.c (poll): Use an ANSI C declaration.
43286 2010-09-28  Bruno Haible  <bruno@clisp.org>
43288         poll-h: Create poll.h on all platforms.
43289         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
43290         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
43291         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
43292         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
43293         (gl_REPLACE_POLL_H): Don't set POLL_H.
43294         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
43295         * modules/poll-h (Depends-on): Add include_next.
43296         (Makefile.am): Create poll.h unconditionally. Substitute also
43297         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
43299 2010-09-28  Bruno Haible  <bruno@clisp.org>
43301         Tests for module 'poll-h'.
43302         * modules/poll-h-c++-tests: New file.
43303         * tests/test-poll-h-c++.cc: New file.
43305         Tests for module 'poll-h'.
43306         * modules/poll-h-tests: New file.
43307         * tests/test-poll-h.c: New file.
43309 2010-09-28  Bruno Haible  <bruno@clisp.org>
43311         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
43312         * modules/poll-h (Depends-on): Add 'extensions'.
43314 2010-09-28  Bruno Haible  <bruno@clisp.org>
43316         New module 'poll-h'.
43317         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
43318         (poll): Use modern idiom.
43319         * modules/poll-h: New file.
43320         * modules/poll (Files): Remove lib/poll.in.h.
43321         (Depends-on): Add poll-h.
43322         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
43323         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
43324         * m4/poll_h.m4: New file.
43325         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
43326         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
43327         and invoke gl_REPLACE_POLL_H.
43328         * lib/poll.c: Use common idiom.
43329         * tests/test-poll.c: Likewise.
43330         * doc/posix-headers/poll.texi: Mention the poll-h module.
43331         Suggested by Eric Blake.
43333 2010-09-26  Bruno Haible  <bruno@clisp.org>
43335         sys_wait: Implement WSTOPSIG.
43336         * lib/sys_wait.in.h (WSTOPSIG): New macro.
43337         Reported by Simon Josefsson.
43339 2010-09-26  Simon Josefsson  <simon@josefsson.org>
43341         stdlib, sys_wait: Avoid compilation error on mingw.
43342         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
43344 2010-09-26  Bruno Haible  <bruno@clisp.org>
43346         stdlib tests: Avoid code duplication.
43347         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
43348         * modules/sys_wait-tests (Files): Likewise.
43349         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
43350         * tests/test-stdlib.c: Include test-sys_wait.h.
43351         (main): Invoke test_sys_wait_macros.
43352         * tests/test-sys_wait.c: Include test-sys_wait.h.
43353         (main): Invoke test_sys_wait_macros.
43355 2010-09-25  Simon Josefsson  <simon@josefsson.org>
43357         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
43358         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
43359         sure Windows sockets are working before calling getaddrinfo.
43360         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
43361         * doc/gnulib.texi (Windows sockets): Fix typo.
43363 2010-09-25  Bruno Haible  <bruno@clisp.org>
43365         Tests for module 'regex-quote'.
43366         * modules/regex-quote-tests: New file.
43367         * tests/test-regex-quote.c: New file.
43369         New module 'regex-quote'.
43370         * lib/regex-quote.h: New file.
43371         * lib/regex-quote.c: New file.
43372         * modules/regex-quote: New file.
43373         Suggested by Reuben Thomas <rrt@sc3d.org>.
43375 2010-09-24  Bruno Haible  <bruno@clisp.org>
43377         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
43378         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
43380 2010-09-23  Bruno Haible  <bruno@clisp.org>
43382         setenv: Relax license.
43383         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
43384         Blake.
43385         Requested by Eric Blake.
43387 2010-09-22  Bruno Haible  <bruno@clisp.org>
43389         termios: Relax license.
43390         * modules/termios (License): Change to LGPLv2+.
43391         Requested by Eric Blake.
43393 2010-09-22  Bruno Haible  <bruno@clisp.org>
43395         threadlib: Allow the package to change the default to 'no'.
43396         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
43397         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
43398         Reported by Paul Eggert.
43400 2010-09-22  Pádraig Brady  <P@draigbrady.com>
43401             Bruno Haible  <bruno@clisp.org>
43403         Fix endless loop in mbmemcasecoll.
43404         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
43405         byte.
43406         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
43408 2010-09-22  Bruno Haible  <bruno@clisp.org>
43410         Tests for module 'memcoll'.
43411         * modules/memcoll-tests: New file.
43412         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
43414         memcoll, xmemcoll: Clarify size vs. length.
43415         * modules/memcoll.c (memcoll0): Clarify specification.
43416         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
43417         passed to collate_error.
43419 2010-09-22  Bruno Haible  <bruno@clisp.org>
43421         Tests for module 'memcasecmp'.
43422         * modules/memcasecmp-tests: New file.
43423         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
43425 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
43427         * lib/pthread.in.h: Add split double-inclusion guard, and include
43428         system <pthread.h> if there is one.  Use @@-style as in other
43429         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
43430         pthread.h doesn't.
43431         (pthread_mutexattr_destroy, pthread_mutexattr_init):
43432         (pthread_mutexattr_settype, pthread_mutex_trylock):
43433         New static inline functions, if there's no system <pthread.h>.
43434         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
43435         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
43436         Approximate with mutexes if the system lacks spinlocks, as in
43437         MacOS.
43438         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
43439         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
43440         @@-style.  Check for spinlocks separately.
43441         (gl_PTHREAD_DEFAULTS): New macro.
43442         * modules/pthread: Redo to use a more typical style for in.h files.
43444 2010-09-21  Eric Blake  <eblake@redhat.com>
43446         net_if: enhance tests
43447         * tests/test-net_if.c (main): Move signature checks earlier.
43448         Print failures to stderr.
43449         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
43450         Document the bug that we do not yet fix.
43452 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
43454         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
43455         about gnulib, not GSS.
43457 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
43459         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
43460         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
43461         for Emacs.
43462         * build-aux/pmccabe2html: Make Makefile.am example code more
43463         cut-and-paste friendly.
43465 2010-09-21  Simon Josefsson  <simon@josefsson.org>
43467         * tests/test-net_if.c: New file.
43468         * modules/net_if-tests: New file.
43470 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
43472         pthread: add pthread_spin_destroy
43473         * lib/pthread.in.h (pthread_spin_destroy): New function.
43475 2010-09-19  Bruno Haible  <bruno@clisp.org>
43477         gnulib-tool: Fix --help output.
43478         * gnulib-tool (func_usage): Fix help message.
43479         Reported by Reuben Thomas <rrt@sc3d.org>.
43481 2010-09-18  Jim Meyering  <meyering@redhat.com>
43483         maint.mk: avoid unexpanded \n in two diagnostics
43484         * top/maint.mk (sc_prohibit_always_true_header_tests):
43485         Don't use a literal \n in a halt=... assignment.  It would not be
43486         expanded, and the two \n bytes would appear in the diagnostic output
43487         rather than the desired newline.  Use halt=$$(printf ... instead.
43488         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
43490 2010-09-18  Bruno Haible  <bruno@clisp.org>
43492         netinet_in: Doc tweak.
43493         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
43494         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
43496 2010-09-18  Jim Meyering  <meyering@redhat.com>
43498         init.sh: correct an outdated comment
43499         * tests/init.sh (create_exe_shims_):  s/function/alias/
43501         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
43502         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
43503         a file named "*.exe" is removed between the glob expansion and the
43504         processing of that oddly named file.
43506 2010-09-17  Eric Blake  <eblake@redhat.com>
43508         mirbsd: add some more support
43509         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
43510         in BSD family.
43511         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
43512         devices as OpenBSD.
43513         * m4/host-os.m4 (mirbsd): Add MirBSD.
43515         tests: fix unportable assumption on sys/wait.h
43516         * tests/test-sys_wait.c (main): Relax test.
43517         * tests/test-stdlib.c (main): Likewise.
43519         init.sh: accommodate directory with no .exes
43520         * tests/init.sh: Accomodate directory containing only scripts.
43522         tests: avoid compiler warning
43523         * tests/test-stdlib.c (main): Use the variable.
43525         fdutimens, fdutimensat: update signature, again
43526         * lib/utimens.h (gl_futimens): Delete, and move signature...
43527         (fdutimens): ...here.
43528         (fdutimensat): Rearrange signature.
43529         (lutimensat): Rename variable for clarity.
43530         * lib/fdutimensat.c (fdutimensat): Update signature.
43531         * lib/utimens.c (fdutimens): Likewise.
43532         (gl_futimens): Delete.
43533         (utimens, lutimens): Update callers.
43534         * lib/futimens.c (futimens): Likewise.
43535         * tests/test-fdutimensat.c: Likewise.
43536         * tests/test-utimens.c: Likewise.
43537         * tests/test-futimens.h: Update comment.
43538         * NEWS: Mention this.
43539         Suggested by Paul Eggert.
43541 2010-09-17  Bruno Haible  <bruno@clisp.org>
43543         Take over the maintenance of some older macros from Autoconf.
43544         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
43545         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
43546         GNU Autoconf.
43547         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
43548         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
43550 2010-09-17  Eric Blake  <eblake@redhat.com>
43552         fdutimensat: drop atflag validation
43553         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
43554         with valid fd, to close a race scenario where futimens is
43555         unsupported and FILE was replaced by a symlink.
43556         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
43557         accordingly.
43558         Suggested by Paul Eggert.
43560 2010-09-16  Bruno Haible  <bruno@clisp.org>
43562         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
43563         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
43565 2010-09-16  Bruno Haible  <bruno@clisp.org>
43567         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
43568         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
43569         login_tty exists.
43570         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
43572 2010-09-16  Bruno Haible  <bruno@clisp.org>
43574         login_tty: Make the replacement code work on BSD systems.
43575         * lib/login_tty.c: Include <sys/ioctl.h>.
43576         (login_tty): Use ioctl TIOCSCTTY when available.
43577         * modules/login_tty (Depends-on): Add sys_ioctl.
43578         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
43580 2010-09-16  Bruno Haible  <bruno@clisp.org>
43582         login_tty: Stricter unit test.
43583         * modules/login_tty-tests (Depends-on): Add tcgetsid.
43584         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
43585         and tcgetsid() after login_tty.
43586         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
43588 2010-09-16  Bruno Haible  <bruno@clisp.org>
43590         New module 'tcgetsid'.
43591         * lib/tcgetsid.c: New file.
43592         * m4/tcgetsid.m4: New file.
43593         * modules/tcgetsid: New file.
43594         * modules/termios (Depends-on): Add c++defs, warn-on-use.
43595         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
43596         GNULIB_TCGETSID, HAVE_TCGETSID.
43597         * lib/termios.in.h: Include <sys/types.h>.
43598         (tcgetsid): New declaration.
43599         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
43600         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
43601         * doc/posix-functions/tcgetsid.texi: Mention the new module.
43602         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
43604 2010-09-16  Bruno Haible  <bruno@clisp.org>
43606         Tests for module 'termios'.
43607         * modules/termios-c++-tests: New file.
43608         * modules/termios-tests: New file.
43609         * tests/test-termios-c++.cc: New file.
43610         * tests/test-termios.c: New file.
43612         New module 'termios'.
43613         * modules/termios: New file.
43614         * lib/termios.in.h: New file.
43615         * m4/termios_h.m4: New file.
43616         * doc/posix-headers/termios.texi: Mention the new module.
43618 2010-09-16  Eric Blake  <eblake@redhat.com>
43620         fdutimensat: add an atflag parameter
43621         * lib/fdutimensat.c (fdutimensat): Add new parameter.
43622         * lib/utimens.h (fdutimensat): Update prototype.
43623         * tests/test-fdutimensat.c: Adjust test to match.
43624         * NEWS: Document the change.
43625         Suggested by Paul Eggert.
43627 2010-09-16  Bruno Haible  <bruno@clisp.org>
43629         Fix typos in comments.
43630         * lib/striconveh.h: Fix typo in comment.
43631         * lib/login_tty.c (login_tty): Likewise.
43633 2010-09-15  Bruno Haible  <bruno@clisp.org>
43635         stdlib: clarify MirBSD WEXITSTATUS bug
43636         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
43637         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43639 2010-09-15  Eric Blake  <eblake@redhat.com>
43641         stdlib: work around MirBSD WEXITSTATUS bug
43642         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
43643         * modules/stdlib (Depends-on): Add sys_wait.
43644         * tests/test-sys_wait.c (main): Enhance test.
43645         * tests/test-stdlib.c (main): Likewise.
43646         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
43648         docs: mention MacOS issue with WEXITSTATUS(constant)
43649         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
43650         issue.
43651         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
43653         strnlen: add tests
43654         * modules/strnlen-tests: New file.
43655         * tests/test-strnlen.c: Likewise.
43657 2010-09-14  Bruno Haible  <bruno@clisp.org>
43659         unistr/base: Avoid link errors when module 'libunistring' is also used.
43660         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
43661         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
43662         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
43663         Declare also when HAVE_LIBUNISTRING is set.
43664         Reported by Pádraig Brady <P@draigbrady.com>.
43666 2010-09-14  Eric Blake  <eblake@redhat.com>
43668         test-rawmemchr: make more robust
43669         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
43670         (Depends-on, configure.ac): Add needed prerequisites to use it.
43671         * modules/memchr-tests (Files, Depends-on, configure.ac):
43672         Likewise, to avoid implicit reliance on memchr module prereqs.
43673         * tests/test-memchr.c (main): Ensure proper masking.
43674         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
43675         reads.
43677         memchr: detect glibc Alpha bug
43678         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
43679         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
43680         Alpha.
43681         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
43682         * tests/test-memchr.c (main): Enhance test.
43683         Reported by Nelson H. F. Beebe.
43685 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43687         fts, getcwd, glob: audit for dirfd returning -1
43688         * lib/fts.c (opendir): Remove #define; no longer used.
43689         (opendirat): New arg PDIR_FD.  All callers changed.
43690         (fts_build, _opendir2): Use new opendirat to avoid the need for
43691         dirfd, or for checking whether dirfd returns a negative value.
43692         Don't use opendir; always use openat followed by fdopendir.
43693         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
43694         it.
43695         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
43696         returns -1 here.
43697         * modules/fts (Depends-on): Remove dirfd.
43698         * modules/getcwd (Depends-on): Likewise.
43700 2010-09-13  Eric Blake  <eblake@redhat.com>
43702         float: fix broken MirBSD header
43703         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
43704         * doc/posix-headers/float.texi (float.h): Document it.
43706 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
43708         fts: use O_NOFOLLOW to avoid race condition when opening a directory
43709         * lib/fts.c (opendirat): New arg extra_flags.
43710         (__opendir2): Use it to avoid following symlinks when opening
43711         a directory, if symlinks are not supposed to be followed.  See
43712         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
43714         fdopendir: preserve argument fd before returning
43715         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
43716         (fdopendir_with_dup, fd_clone_opendir): New static functions.
43717         (fdopendir): Use them, arranging for FD to be open to the same
43718         directory that it was when it started.  (It might be temporarily
43719         closed while fdopendir is running, so this not thread- or
43720         signal-safe.)  Be careful to do the right thing even when file
43721         descriptors are scarce and dup fails with errno == EMFILE.  See
43722         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
43724 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
43726         regex: Pass the system regex if its only problem is 32-bit regoff_t.
43727         * NEWS: Document change.
43728         * m4/regex.m4: Disable test for regoff_t size.
43730 2010-09-13  Jim Meyering  <meyering@redhat.com>
43732         fts: don't operate on an invalid file descriptor after failed dup
43733         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
43734         negative file descriptor.
43736 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
43738         savedir: add streamsavedir, deprecate fdsavedir
43739         * NEWS: Mention deprecation of fdsavedir.
43740         * lib/savedir.c (streamsavedir): New extern function, whose name
43741         ends in "savedir" to be consistent with the others.  This differs
43742         from savedirstream in that it doesn't close its argument.  The
43743         next version of GNU tar will use this instead of fdsavedir, to
43744         avoid some race conditions and conserve file descriptors.
43745         (savedirstream): Reimplement as a wrapper around streamsavedir.
43746         (fdsavedir): Add a comment deprecating this function.  As far as
43747         I know, only GNU tar used it, and GNU tar doesn't need it any more.
43748         * lib/savedir.h (streamsavedir): New decl.
43749         (fdsavedir): Add a comment deprecating this.
43751 2010-09-10  Bruno Haible  <bruno@clisp.org>
43753         langinfo: Fix last commit.
43754         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
43755         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
43756         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43758 2010-09-10  Bruno Haible  <bruno@clisp.org>
43760         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
43761         * lib/progreloc.c (O_EXEC): Define fallback.
43763 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
43765         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
43766         * NEWS: Document recent changes to fcntl-h.
43767         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
43768         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
43769         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
43770         Similarly for O_SEARCH; this last was already true, but not documented.
43771         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
43772         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
43773         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
43774         Likewise.
43775         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
43776         is zero, not whether it is defined.
43777         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
43778         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
43779         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
43781 2010-09-10  Bruno Haible  <bruno@clisp.org>
43783         langinfo, nl_langinfo: Fix for IRIX 5.3.
43784         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
43785         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
43786         HAVE_LANGINFO_YESEXPR.
43787         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
43788         HAVE_LANGINFO_YESEXPR.
43789         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
43790         HAVE_LANGINFO_T_FMT_AMPM is 0.
43791         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
43792         HAVE_LANGINFO_YESEXPR is 0.
43793         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
43794         NOEXPR.
43795         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
43796         * doc/posix-functions/nl_langinfo.texi: Likewise.
43797         Reported by Eric Blake.
43799 2010-09-10  Bruno Haible  <bruno@clisp.org>
43801         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
43802         * doc/glibc-functions/login_tty.texi: Mention the include file problem
43803         on FreeBSD 8.0 and OpenBSD 4.6.
43804         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
43805         * m4/pty_h.m4 (gl_PTY_H): Likewise.
43806         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
43807         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
43808         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
43809         ac_includes_default.
43810         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
43812 2010-09-09  Eric Blake  <eblake@redhat.com>
43814         strsignal: work around NetBSD bug
43815         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
43816         * lib/string.in.h (includes): Likewise.
43817         * doc/posix-functions/strsignal.texi (strsignal): Document the
43818         bug.
43819         Reported by Nelson H. F. Beebe.
43821         gnulib-tool: work with NetBSD /bin/sh
43822         * gnulib-tool (func_cache_var, func_cache_lookup_module)
43823         (func_get_description, func_get_comment, func_get_status)
43824         (func_get_notice, func_get_applicability, func_get_filelist)
43825         (func_get_dependencies, func_get_autoconf_early_snippet)
43826         (func_get_autoconf_snippet, func_get_automake_snippet)
43827         (func_get_include_directive, func_get_link_directive)
43828         (func_get_license, func_get_maintainer, func_import): Avoid
43829         shell syntax errors from parsing syntax extensions.
43831 2010-09-09  Bruno Haible  <bruno@clisp.org>
43833         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
43834         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
43835         a reliable way to determine whether the 'alias' command works.
43837 2010-09-08  Jim Meyering  <meyering@redhat.com>
43839         init.sh: penalize a set-x-impaired shell; don't disqualify it
43840         * tests/init.sh: Too many shells corrupt application stderr when
43841         you set -x, so we can't afford to disqualify them, since at least
43842         on Irix-6.5, that would disqualify all bourne shells.
43843         Instead, use a two-pass approach.
43844         On the first pass, try to find a shell that meets the stricter
43845         condition that set -x does not corrupt stderr.
43846         If no shell meets the stricter condition, retest each candidate
43847         shell, but without that extra condition.  Finally, when
43848         VERBOSE=yes is requested and set -x might cause trouble, simply
43849         issue a warning and refrain from enabling debug output.
43851 2010-09-08  Eric Blake  <eblake@redhat.com>
43853         unsetenv: fix OpenBSD bug
43854         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
43855         * doc/posix-functions/unsetenv.texi (unsetenv): Update
43856         documentation.
43857         Reported by Jim Meyering.
43859         strtod: work around IRIX 6.5 bug
43860         * lib/strtod.c (strtod): Reparse number on shorter string if
43861         exponent parse was invalid.
43862         * tests/test-strtod.c (main): Add check for "0x1p 2".
43863         Reported by Tom G. Christensen.
43865         getopt: optimize previous patch
43866         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
43867         empty variable.  Speed up awk script.
43868         Reported by Paolo Bonzini.
43870 2010-09-08  Jim Meyering  <meyering@redhat.com>
43872         test.sh: disqualify shells for which set -x corrupts stderr
43873         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
43874         and OpenBSD 4.7.  They make it so with "set -x", environment settings
43875         appear in stderr output.  For example, this command:
43876             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
43877         prints "P=1" on those two systems:
43879 2010-09-08  Bruno Haible  <bruno@clisp.org>
43881         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
43882         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
43883         commands, because some shells ignore redirections when there is an
43884         error in the command lookup.
43885         Reported by Eric Blake.
43887 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
43889         * lib/regex.h: Fix a mention of `regex_compile' (should be
43890         `re_compile_pattern').
43891         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
43892         (re_set_registers): Correct name of parameter in comment.
43894         * doc/regex.texi: Add documentation for missing syntax flags.
43895         Remove commented-out documentation of defunct syntax option
43896         RE_NO_EMPTY_ALTS.
43897         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
43898         Add documentation of re_set_registers.
43899         Document trick to re-use a pattern buffer by setting fastmap manually.
43900         Update documentation of struct re_pattern_buffer per public members.
43901         Uncomment documentation of equivalence class operators and
43902         collating symbol operators, since they are now implemented,
43903         Explain leftmost-longest matching in relation to alternatives.
43904         Tidy documentation of substring matching.
43905         Remove POSIX documentation, which is done better in
43906         glibc, and refer the reader there. Keep BSD API documentation, as
43907         that is not readily available elsewhere.
43909 2010-09-07  Eric Blake  <eblake@redhat.com>
43911         getopt: handle POSIXLY_CORRECT set but not exported
43912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
43913         export state of POSIXLY_CORRECT, due to bash set -o posix.
43914         Reported by Dustin J. Mitchell.
43916 2010-09-05  Bruno Haible  <bruno@clisp.org>
43918         gnulib-tool: Highlight the changed options.
43919         * gnulib-tool (func_usage): Display the --import, --add-import,
43920         --remove-import explanations in bold font.
43922 2010-09-06  Karl Berry  <karl@gnu.org>
43924         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
43926 2010-09-05  Bruno Haible  <bruno@clisp.org>
43928         uniwidth/width: Update comment.
43929         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
43930         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
43932 2010-09-05  Bruno Haible  <bruno@clisp.org>
43934         isinf, isnan: Relax license.
43935         * modules/isinf (License): Change from GPL to LGPL, with consent from
43936         Ben Pfaff.
43937         * modules/isnan (License): Likewise.
43938         Requested by Ludovic Courtès.
43940 2010-09-04  Bruno Haible  <bruno@clisp.org>
43942         gnulib-tool: Help migration from --import to --add-import or --update.
43943         * gnulib-tool: Emit a verbose error message when --import is used
43944         without any module name.
43946 2010-09-04  Bruno Haible  <bruno@clisp.org>
43948         Update doc about gnulib-tool.
43949         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
43950         'gnulib-tool --update' in more detail.
43951         Reported by Eric Blake.
43953 2010-09-04  Bruno Haible  <bruno@clisp.org>
43955         gnulib-tool: Change --import. New options --add/remove-import.
43956         * gnulib-tool: New options --add-import, --remove-import.
43957         (func_usage): Document them.
43958         (have_associative): Define always.
43959         (func_import): In import mode, don't merge the specified settings with
43960         the cached settings. Implement remove-import mode.
43961         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
43962         Explain when to use them versus --import.
43963         (Simple update): Use --add-import instead of --import.
43964         * NEWS: Mention the change.
43966 2010-09-04  Bruno Haible  <bruno@clisp.org>
43968         * doc/gnulib-tool.texi (Initial import): Update paragraph about
43969         separate gnulib.mk.
43971 2010-09-04  Bruno Haible  <bruno@clisp.org>
43973         gnulib-tool: Don't talk about CVS any more.
43974         * gnulib-tool (func_usage, func_import): Write "version control"
43975         instead of CVS.
43977 2010-09-04  Jim Meyering  <meyering@redhat.com>
43979         maint.mk: avoid obscure sc_copyright_check failure in coreutils
43980         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
43981         false positives (whose names may be ill-chosen) when searching
43982         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
43983         would cause a false-positive.
43985         avoid coreutils "make distcheck" failure
43986         Coreutils tests with an absolute build directory name that contains
43987         a space.  Not quoting this directory name caused a failure.
43988         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
43989         * tests/test-vc-list-files-cvs.sh: Likewise.
43991 2010-09-04  Bruno Haible  <bruno@clisp.org>
43993         gnulib-tool: Avoid error when run in a package without Makefile.am.
43994         * gnulib-tool: When collecting the m4dirs in a package that does not
43995         have a Makefile.am, eliminate those directories that contain no
43996         gnulib-cache.m4. Fix expression that counts these directories.
43998 2010-09-04  Bruno Haible  <bruno@clisp.org>
44000         update-copyright test: Improve output when perl is missing or too old.
44001         * tests/test-update-copyright.sh: Move test of Perl version down after
44002         the test whether Perl exists. Provide an explanation relating Perl's
44003         error message to Automake's SKIP: message.
44005 2010-09-04  Bruno Haible  <bruno@clisp.org>
44007         Don't augment PATH in TESTS_ENVIRONMENT.
44008         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
44009         set abs_aux_dir instead of augmenting PATH.
44010         * modules/vc-list-files-tests (Makefile.am): Likewise.
44011         * tests/test-update-copyright.sh: Augment PATH here.
44012         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
44013         path_prepend_.
44014         * tests/test-vc-list-files-git.sh: Likewise.
44016 2010-09-04  Jim Meyering  <meyering@redhat.com>
44018         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
44019         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
44021 2010-09-04  Bruno Haible  <bruno@clisp.org>
44023         strdup: Fix compilation error in C++ mode.
44024         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
44025         the macro.
44027 2010-09-04  Bruno Haible  <bruno@clisp.org>
44029         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
44030         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
44031         macro into a function.
44032         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
44034 2010-09-04  Bruno Haible  <bruno@clisp.org>
44036         Set PATH_SEPARATOR the same way autoconf does.
44037         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
44038         the value of PATH_SEPARATOR the same way autoconf-generated configure
44039         scripts do.
44040         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
44041         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
44043 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
44045         Set PATH_SEPARATOR the same way autoconf does.
44046         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
44047         the same way autoconf-generated configure scripts do.
44048         * posix-modules: Likewise.
44050 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
44052         hash: fix safe_hasher const typo
44053         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
44054         const; otherwise, there is a type error later.
44056 2010-09-02  Jim Meyering  <meyering@redhat.com>
44058         test-update-copyright.sh: require perl 5.8.0
44059         * tests/test-update-copyright.sh: Require 5.8.0,
44060         which Tom G. Christensen has confirmed is adequate,
44061         while 5.6.1 is not.
44063 2010-09-02  Eric Blake  <eblake@redhat.com>
44065         tests: init.sh improvements for re-exec'ing with zsh
44066         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
44067         -vx through shell re-exec.
44068         Reported by Tom G. Christensen.
44070         wctype: fix typo in previous commit
44071         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
44072         Reported by Ludovic Courtès.
44074 2010-09-02  Jim Meyering  <meyering@redhat.com>
44076         test-update-copyright.sh: skip test if Perl is too old
44077         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
44078         Reported by Tom G. Christensen.
44080 2010-09-02  Bruno Haible  <bruno@clisp.org>
44082         wctype: Avoid compilation error on IRIX 6.5.30.
44083         * lib/wctype.in.h (iswblank): Declare with a replacement if
44084         REPLACE_ISWBLANK is set.
44085         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
44086         declared. Set REPLACE_ISWBLANK.
44087         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
44088         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
44089         * doc/posix-headers/wctype.texi: Likewise.
44090         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44092 2010-09-01  Bruno Haible  <bruno@clisp.org>
44094         New module 'socketlib'.
44095         * modules/socketlib: New file.
44096         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
44097         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
44098         * modules/sockets (Depends-on): Add socketlib.
44099         Suggested by Sam Steingold <sds@gnu.org>.
44101 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
44103         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
44105         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
44106         when one needs search access to a directory but not read access.
44107         On systems where it is available, it works in some cases where
44108         O_RDONLY does not, namely on directories that are searchable but
44109         not readable, and which need only to be searchable.  If O_SEARCH
44110         is not available, fall back to the traditional method of using
44111         O_RDONLY.
44113         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
44114         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
44115         when opening a directory that needs only to be searchable.
44116         * lib/chdir-safer.c (chdir_no_follow): Likewise.
44117         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
44118         * lib/openat-proc.c (openat_proc_name): Likewise.
44119         * lib/openat.c (openat_needs_fchdir): Likewise.
44120         * lib/save-cwd.c (save_cwd): Likewise.
44121         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
44123 2010-08-28  Bruno Haible  <bruno@clisp.org>
44125         New module 'host-cpu-c-abi'.
44126         * modules/host-cpu-c-abi: New file.
44127         * m4/host-cpu-c-abi.m4: New file, based on part of
44128         clisp/src/m4/general.m4.
44129         Requested by Sam Steingold <sds@gnu.org>.
44131 2010-08-31  Eric Blake  <eblake@redhat.com>
44132         and Jim Meyering  <meyering@redhat.com>
44134         hash: factor, and guard against misbehaving hasher function
44135         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
44136         of table->hasher's return value.  Also protect against a hash value
44137         so large that adding it to table->bucket results in a NULL pointer.
44138         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
44139         Use it in place of open-coded check-and-abort.
44141 2010-08-30  Bruno Haible  <bruno@clisp.org>
44143         hash: silence spurious clang warning
44144         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
44145         Reported by Eric Blake.
44147 2010-08-30  Eric Blake  <eblake@redhat.com>
44149         strstr, memmem, strcasestr: avoid leaked shell message
44150         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
44151         FreeBSD.
44152         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
44153         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
44155         tests: silence clang warning
44156         * tests/test-malloca.c (do_allocation): Avoid dead store.
44158 2010-08-29  Bruno Haible  <bruno@clisp.org>
44160         gettext: Fix recent mistake.
44161         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
44163 2010-08-29  Bruno Haible  <bruno@clisp.org>
44165         selinux-h: Offer a --without-selinux option.
44166         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
44167         --without-selinux was specified, skip all tests and define
44168         HAVE_SELINUX_SELINUX_H to 0.
44169         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
44170         set LIB_SELINUX to empty.
44171         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
44172         gl_LIBSELINUX. If --without-selinux was specified, replace
44173         selinux/context.h.
44174         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
44176 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44177             Bruno Haible  <bruno@clisp.org>
44179         Make the module 'realloc-gnu' work again on AIX and OSF/1.
44180         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
44181         of HAVE_REALLOC.
44182         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
44183         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
44184         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
44185         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
44187 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44188             Bruno Haible  <bruno@clisp.org>
44190         Make the module 'calloc-gnu' work again on AIX and OSF/1.
44191         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
44192         HAVE_CALLOC.
44193         * lib/xmalloc.c: Update accordingly.
44194         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
44195         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
44196         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
44198 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44199             Bruno Haible  <bruno@clisp.org>
44201         Make the module 'malloc-gnu' work again on AIX and OSF/1.
44202         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
44203         HAVE_MALLOC.
44204         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
44205         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
44206         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
44208 2010-08-29  Bruno Haible  <bruno@clisp.org>
44210         Update modules list.
44211         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
44212         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
44213         (String handling <string.h>): Add astrxfrm.
44214         (File system functions): Add readlinkat.
44216 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44218         Tests for module 'realloc-gnu'.
44219         * modules/realloc-gnu-tests: New file.
44220         * tests/test-realloc-gnu.c: New file.
44222         Tests for module 'calloc-gnu'.
44223         * modules/calloc-gnu-tests: New file.
44224         * tests/test-calloc-gnu.c: New file.
44226         Tests for module 'malloc-gnu'.
44227         * modules/malloc-gnu-tests: New file.
44228         * tests/test-malloc-gnu.c: New file.
44230 2010-08-28  Bruno Haible  <bruno@clisp.org>
44232         Rename module 'realloc' -> 'realloc-gnu'.
44233         * modules/realloc-gnu: New file, copied from modules/realloc.
44234         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
44235         obsolete.
44236         * modules/mgetgroups (Depends-on): Update.
44237         * doc/posix-functions/realloc.texi: Update.
44238         * NEWS: Mention the change.
44240         Rename module 'calloc' -> 'calloc-gnu'.
44241         * modules/calloc-gnu: New file, copied from modules/calloc.
44242         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
44243         obsolete.
44244         * doc/posix-functions/calloc.texi: Update.
44245         * NEWS: Mention the change.
44247         Rename module 'malloc' -> 'malloc-gnu'.
44248         * modules/malloc-gnu: New file, copied from modules/malloc.
44249         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
44250         obsolete.
44251         * modules/argp (Depends-on): Update.
44252         * modules/regex (Depends-on): Update.
44253         * doc/posix-functions/malloc.texi: Update.
44254         * NEWS: Mention the change.
44256 2010-08-28  Eric Blake  <eblake@redhat.com>
44258         pread, pwrite: add missing dependency
44259         * modules/pread (Depends-on): Add extensions.
44260         * modules/pwrite (Depends-on): Likewise.
44262 2010-08-28  Bruno Haible  <bruno@clisp.org>
44264         unistr/u*-strchr: Fix tests dependencies.
44265         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
44266         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
44267         Reported by Ian Beckwith <ianb@erislabs.net>.
44269 2010-08-28  Bruno Haible  <bruno@clisp.org>
44271         read-file: Don't occupy too much unused memory.
44272         * lib/read-file.c (fread_file): Shrink the buffer at the end.
44274 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
44275             Eric Blake  <eblake@redhat.com>
44276             Bruno Haible  <bruno@clisp.org>
44278         read-file: Avoid memory reallocations with regular files.
44279         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
44280         (fread_file): With regular files, use the remaining length as the
44281         initial buffer size.  Check against overflow.
44282         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
44283         sys_stat.
44285 2010-08-28  Bruno Haible  <bruno@clisp.org>
44287         ftello: Relax license.
44288         * modules/ftello (License): Relax to LGPLv2+.
44289         Reported by Eric Blake.
44291 2010-08-28  Bruno Haible  <bruno@clisp.org>
44293         Avoid relocwrapper link errors due to gnulib replacement functions.
44294         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
44295         function.
44296         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44298 2010-08-28  Bruno Haible  <bruno@clisp.org>
44300         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
44301         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
44302         defined.
44303         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
44304         Suggested by Eric Blake.
44306 2010-08-28  Bruno Haible  <bruno@clisp.org>
44308         sys_socket, netdb: Ensure socklen_t gets defined.
44309         * modules/sys_socket (Depends-on): Add socklen.
44310         * modules/netdb (Depends-on): Likewise.
44311         * modules/getaddrinfo (Depends-on): Remove socklen.
44312         * modules/getsockopt (Depends-on): Likewise.
44313         * modules/setsockopt (Depends-on): Likewise.
44314         * tests/test-sys_socket.c: Check that socklen_t is defined.
44315         * tests/test-netdb.c: Likewise.
44316         * m4/socklen.m4: Update comments.
44317         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44319 2010-08-27  Eric Blake  <eblake@redhat.com>
44321         login_tty: add missing dependency
44322         * modules/login_tty (Depends-on): Add pty.
44324 2010-08-26  Eric Blake  <eblake@redhat.com>
44326         lib-symbol-versions: fix m4 quoting
44327         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
44328         format for AC_LINK_IFELSE.
44330         glob: fix compile test
44331         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
44333         btowc: fix missing file
44334         * modules/btowc (Files): Also ship locale-fr.m4.
44336         lseek: fix link test
44337         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
44338         AC_LINK_IFELSE.
44340         include_next: silence autoconf 2.68 warning
44341         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
44342         AC_COMPILE_IFELSE as special.
44343         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
44344         autoconf < 2.68.
44346         acl: fix compilation test
44347         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
44348         AC_COMPILE_IFELSE.
44350 2010-08-26  Bruno Haible  <bruno@clisp.org>
44352         Modernize AC_TRY_RUN invocations.
44353         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
44354         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
44355         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
44356         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
44357         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
44358         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
44359         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
44360         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
44361         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
44362         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
44363         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
44364         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
44365         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
44366         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
44367         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
44368         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
44369         gl_MBRLEN_NUL_RETVAL): Likewise.
44370         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
44371         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
44372         Likewise.
44373         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
44374         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
44375         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
44376         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
44377         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
44378         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
44379         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
44380         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
44381         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
44382         Likewise.
44383         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
44384         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
44385         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
44386         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44387         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
44388         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
44389         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
44390         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
44391         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
44392         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44394 2010-08-26  Bruno Haible  <bruno@clisp.org>
44396         Modernize AC_TRY_LINK invocations.
44397         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
44398         AC_TRY_LINK.
44399         * m4/argp.m4 (gl_ARGP): Likewise.
44400         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
44401         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
44402         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
44403         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44404         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44405         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
44406         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
44407         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
44408         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44409         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44410         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44411         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
44412         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
44413         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
44414         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
44415         * m4/hostent.m4 (gl_HOSTENT): Likewise.
44416         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
44417         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
44418         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
44419         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
44420         Likewise.
44421         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
44422         Likewise.
44423         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
44424         Likewise.
44425         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
44426         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
44427         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
44428         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
44429         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
44430         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
44431         * m4/servent.m4 (gl_SERVENT): Likewise.
44432         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
44433         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
44434         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
44435         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
44436         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
44437         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
44438         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
44439         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
44440         * modules/tsearch-tests (configure.ac): Likewise.
44442 2010-08-26  Bruno Haible  <bruno@clisp.org>
44444         Modernize AC_TRY_COMPILE invocations.
44445         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
44446         AC_TRY_COMPILE.
44447         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
44448         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
44449         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
44450         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
44451         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
44452         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
44453         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
44454         * m4/lock.m4 (gl_LOCK): Likewise.
44455         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
44456         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44457         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
44458         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
44459         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
44460         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
44461         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
44463         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
44464         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
44465         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
44466         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44467         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
44468         extraneous semicolon.
44470 2010-08-26  Jim Meyering  <meyering@redhat.com>
44472         stat-time: relax license LGPL
44473         * modules/stat-time (License): Change from GPL to LGPL,
44474         with consent from all contributors, for use in libguile.
44475         Requested by Ludovic Courtès.
44477 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
44479         poll: return immediately on POLLHUP.
44480         * lib/poll.c (poll): Always set timeout before wait_timeout is
44481         computed.
44483 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44485         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
44486         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
44487         rmdir ("dir/.//"), unlinkat.
44489 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
44491         stdbool: avoid spurious failure with modern xlc
44492         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
44494 2010-08-24  Bruno Haible  <bruno@clisp.org>
44496         getloadavg: simplify code
44497         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
44498         gl_have_func. Update comments.
44500 2010-08-24  Eric Blake  <eblake@redhat.com>
44502         getloadavg: don't define SVR4 on cygwin
44503         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
44504         only define SVR4 when -lkvm is required.
44505         Reported by Yaakov Selkowitz.
44507 2010-08-24  Bruno Haible  <bruno@clisp.org>
44509         priv-set: fix comment
44510         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
44512 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
44514         priv-set: fix comments
44515         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
44516         to match code, as suggested by David Bartley in:
44517         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
44519 2010-08-23  Eric Blake  <eblake@redhat.com>
44521         stdbool: avoid rejecting clang
44522         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
44523         * tests/test-stdbool.c: Enable more tests if using the system
44524         <stdbool.h> instead of the gnulib replacement.
44525         (main): Move xlc bug test to a runtime test for all compilers.
44526         Reported by Anders Kaseorg.
44528         argz: fix shell quoting issue
44529         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
44530         Reported by Charles Wilson.
44532 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
44533             Erik Faye-Lund <kusmabite@gmail.com>
44535         poll, select: handle ERROR_BROKEN_PIPE.
44536         * lib/poll.c (win32_compute_revents): Return POLLHUP when
44537         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
44538         * lib/select.c (win32_compute_revents): Do not mark a pipe
44539         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
44541 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
44543         fts: allow compilation with C++
44544         * lib/fts_.h: Specify extern "C" linkage with C++.
44546 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44548         Fix gnulib-tool sed script de-commentation for AIX sed.
44549         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
44550         sed.
44552 2010-08-17  Eric Blake  <eblake@redhat.com>
44554         test-stddef: test for (some) offsetof bugs
44555         * tests/test-stddef.c: Enhance test to ensure correct type of
44556         offsetof.
44557         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
44558         that we are not fixing at this time.
44560 2010-08-15  Bruno Haible  <bruno@clisp.org>
44562         stpncpy: Allow stpncpy to be defined as a macro.
44563         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
44564         if it's already correctly declared.
44565         * lib/string.in.h (stpncpy): Undefine before redefining.
44566         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
44568 2010-08-14  Bruno Haible  <bruno@clisp.org>
44570         Rename module 'memxfrm' to 'amemxfrm'.
44571         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
44572         (amemxfrm): Renamed from memxfrm.
44573         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
44574         (amemxfrm): Renamed from memxfrm.
44575         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
44576         * NEWS: Mention the change.
44577         * MODULES.html.sh (String handling <string.h>): Update.
44578         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
44579         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
44580         * lib/unicase/u16-casexfrm.c: Likewise.
44581         * lib/unicase/u32-casexfrm.c: Likewise.
44582         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
44583         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
44584         * lib/uninorm/u16-normxfrm.c: Likewise.
44585         * lib/uninorm/u32-normxfrm.c: Likewise.
44586         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
44587         memxfrm.
44588         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
44589         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
44590         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
44591         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
44592         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
44593         Suggested by Paul Eggert.
44595 2010-08-14  Bruno Haible  <bruno@clisp.org>
44597         Tests for module 'astrxfrm'.
44598         * modules/astrxfrm-tests: New file.
44599         * tests/test-astrxfrm.c: New file.
44601         New module 'astrxfrm'.
44602         * lib/astrxfrm.h: New file.
44603         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
44604         * modules/astrxfrm: New file.
44606 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
44608         regex: Tweak doc.
44609         * doc/regex.texi (Overview): Don't mention regex.c.
44610         (GNU Regular Expression Compiling): Likewise.
44611         (Match-end-of-line Operator): Mention 'not_eol'.
44613 2010-08-14  Brian Gough  <bjg@gnu.org>
44614             Bruno Haible  <bruno@clisp.org>
44616         git-merge-changelog: add doc relating to use with bzr and hg.
44617         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
44619 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
44621         pthread: fix pthread.h creation for srcdir != builddir
44622         * modules/pthread (Makefile.am): Fix the rule to work also in a
44623         non-srcdir build.
44625 2010-08-13  Karl Berry  <karl@gnu.org>
44627         * doc/regex.texi (Predefined Syntaxes): @smallexample.
44628         * doc/posix-*/*: force line break before @url of POSIX
44629         specifications.
44630         Suggested by Werner Lemberg.
44632 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
44634         strtod: fix const diagnostic
44635         * lib/strtod.c (strtod): Don't assign const char * to char *,
44636         as this elicits a warning from GCC when warnings are enabled.
44638 2010-08-10  Pádraig Brady  <P@draigbrady.com>
44639         and Eric Blake  <eblake@redhat.com>
44641         copy-acl: ignore ENOTSUP on HP-UX
44642         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
44643         so that it is available for HP-UX.
44644         * lib/copy-acl.c (qcopy_acl): Use it.
44645         Reported by Patrick M. Callahan.
44647 2010-08-10  Eric Blake  <eblake@redhat.com>
44649         open, chown: relax license
44650         * modules/open (License): Change to LGPLv2+, with consent by all
44651         authors, for use in augeas.
44652         * modules/chown (License): Likewise.
44653         * modules/lchown (Likewise): Likewise.
44654         Requested by Adam Stokes.
44656 2010-08-09  Karl Berry  <karl@gnu.org>
44658         * build-aux/ar-lib: new file, import from Automake.
44659         * config/srclist.txt: autocheck for updates.
44661 2010-08-09  Eric Blake  <eblake@redhat.com>
44663         readlinkat: adjust client modules
44664         * modules/areadlinkat (Depends-on): Use readlinkat, not
44665         symlinkat.
44666         * modules/areadlinkat-with-size (Depends-on): Likewise.
44668         mknod: be more vocal about danger of running tests as root
44669         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
44670         root, since that is just asking for problems.
44671         Suggested by Bruno Haible, based on a report by Rainer Tammer.
44673         readlinkat: split into its own module
44674         * modules/symlinkat: Split readlinkat...
44675         * modules/readlinkat: ...into separate module.
44676         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
44677         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
44678         * lib/symlinkat.c (readlinkat): Move...
44679         * lib/readlinkat.c: ...into new file.
44680         * modules/symlinkat-tests: Split readlinkat test...
44681         * modules/readlinkat-tests: ...into separate module.
44682         * tests/test-symlinkat.c: Split...
44683         * tests/test-readlinkat.c: ...into new file.
44684         * NEWS: Document the split.
44685         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44686         * lib/unistd.in.h (readlinkat): Likewise.
44687         Suggested by Bruno Haible.
44689 2010-08-08  Bruno Haible  <bruno@clisp.org>
44691         memxfrm: Speed up.
44692         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
44693         that usually only one call to strxfrm is necessary for each string
44694         part.
44695         Reported by Paul Eggert <eggert@cs.ucla.edu>.
44697 2010-08-07  Karl Berry  <karl@gnu.org>
44699         * doc/posix-headers/limits.texi,
44700         * doc/posix-functions/malloc.texi,
44701         * doc/posix-functions/strsignal.texi: missing @item.
44702         * doc/ld-version-script.texi: spurious leading i.
44703         * doc/regex.texi (Interval Operators): no commas inside @var.
44705 2010-08-01  Bruno Haible  <bruno@clisp.org>
44707         Integrate the regex documentation.
44708         * doc/gnulib.texi: Define 'cn' index.
44709         (Regular expressions): New a chapter that includes regex.texi and
44710         regexprops-generic.texi.
44711         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
44712         syntax.
44714         Whitespace cleanup.
44715         * doc/regex.texi: Remove trailing spaces.
44717         Add regex documentation.
44718         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
44719         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
44720         Written by Kathy A. Hargreaves and Karl Berry.
44722 2010-08-01  Bruno Haible  <bruno@clisp.org>
44724         link: Update documentation.
44725         * doc/posix-functions/link.texi: Update regarding Solaris.
44727 2010-07-31  Bruno Haible  <bruno@clisp.org>
44729         Update modules list.
44730         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
44731         (String handling <string.h>): Add memcmp2, memxfrm.
44732         (Container data structures): Add xlist, xsublist, xoset.
44733         (Core language properties): Add alignof, unused-parameter.
44734         (Process control, Numeric conversion functions <stdlib.h>): Renamed
44735         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
44736         (Unibyte characters <ctype.h>): New section.
44737         (String handling <string.h>): New section.
44738         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
44739         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
44740         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
44741         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
44742         tan, tanh, tanl, y0, y1, yn.
44743         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
44744         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
44745         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
44746         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
44747         unlockpt, vdprintf, vdprintf-posix.
44748         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
44749         (File system functions): Add concat-filename, sys_file, sys_ioctl,
44750         xconcat-filename.
44751         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
44752         getdtablesize, pipe2, pipe2-safer.
44753         (Security): New section.
44754         (Networking functions): Add accept4.
44755         (Signal handling): Add sigpipe.
44756         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
44757         mbmemcasecoll.
44758         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
44759         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
44760         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
44761         pipe-filter-ii.
44762         (Misc): Add argp-version-etc, login_tty, parse-duration.
44764 2010-07-31  Bruno Haible  <bruno@clisp.org>
44766         Improve doc in MODULES.html.
44767         * modules/linkat (Description): Add the word "function".
44768         * modules/mkfifo (Description): Likewise.
44769         * modules/mknod (Description): Likewise.
44770         * modules/remove (Description): Likewise.
44771         * modules/renameat (Description): Likewise.
44772         * modules/stat (Description): Likewise.
44773         * modules/symlink (Description): Likewise.
44774         * modules/unlink (Description): Likewise.
44776 2010-07-31  Bruno Haible  <bruno@clisp.org>
44778         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
44779         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
44780         option --enable/disable-c++ instead of --enable/disable-cxx.
44781         * NEWS: Mention the change.
44783 2010-07-31  Bruno Haible  <bruno@clisp.org>
44785         readlink, areadlink: Relax test a bit.
44786         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
44787         alternative to ENOTDIR.
44788         * tests/test-areadlink.h (test_areadlink): Likewise.
44789         Reported by Rainer Tammer.
44791 2010-07-31  Bruno Haible  <bruno@clisp.org>
44793         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
44794         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
44795         character, perform the search using U_STRCHR.
44796         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
44797         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
44798         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
44799         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
44800         Suggested by Paolo Bonzini.
44802 2010-07-31  Bruno Haible  <bruno@clisp.org>
44804         unistr/u*-strstr: Fix dependencies.
44805         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
44806         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
44807         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
44809 2010-07-31  Bruno Haible  <bruno@clisp.org>
44811         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
44812         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
44813         the beginning of the loop.
44814         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
44815         cases in 'switch' statement.
44817         unistr/u8-strchr: Fix several bugs.
44818         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
44819         the string. When not found, return NULL, not a pointer near the end.
44821         More tests for unistr/u8-strchr.
44822         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
44823         that the function does not read past the first occurrence of the byte
44824         being searched.
44825         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
44826         * tests/unistr/test-u16-strchr.c (main): New function.
44827         * tests/unistr/test-u32-strchr.c (main): New function.
44829 2010-07-31  Bruno Haible  <bruno@clisp.org>
44831         posix-modules: Ignore backup files of documentation files.
44832         * posix-modules: grep only through files named *.texi.
44834 2010-07-31  Bruno Haible  <bruno@clisp.org>
44836         symlinkat: Fix documentation.
44837         * doc/posix-functions/readlinkat.texi: Fix module name.
44839 2010-07-31  Bruno Haible  <bruno@clisp.org>
44841         fchownat: Replace also when chown has the trailing slash bug.
44842         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
44843         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
44844         introduced on 2010-04-10.
44845         Reported by Rainer Tammer.
44847 2010-07-31  Bruno Haible  <bruno@clisp.org>
44849         linkat: Work around AIX 7.1 bug.
44850         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
44851         whether linkat handles trailing slash correctly. If not, replace linkat
44852         and define LINKAT_TRAILING_SLASH_BUG.
44853         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
44854         check whether (fd1,file1) points to a directory if file1 or file2 ends
44855         in a slash. Code taken from lib/link.c.
44856         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
44857         Reported by Rainer Tammer.
44859 2010-07-31  Bruno Haible  <bruno@clisp.org>
44861         Correctly determine whether pow is available in libc on AIX 7 with xlc.
44862         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
44863         This disables an xlc optimization that was causing wrong test results.
44864         Reported by Rainer Tammer.
44866 2010-07-31  Bruno Haible  <bruno@clisp.org>
44868         iconv: Work around AIX 6.1..7.1 bug.
44869         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
44870         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
44871         cross-compiling, guess no on all versions of AIX.
44872         Reported by Rainer Tammer.
44874 2010-07-31  Bruno Haible  <bruno@clisp.org>
44876         readlink: Relax test a bit.
44877         * tests/test-readlink.h (test_readlink): Allow different errno value
44878         when readlink is called with a file name that ends in / and refers to
44879         a file.
44880         Suggested by Eric Blake.
44881         Reported by Rainer Tammer.
44883 2010-07-31  Bruno Haible  <bruno@clisp.org>
44885         copysign: Does not require -lm on glibc systems.
44886         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
44887         gl_COMMON_DOUBLE_MATHFUNC.
44888         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
44890 2010-07-31  Bruno Haible  <bruno@clisp.org>
44892         duplocale: Work around AIX 7.1 bug.
44893         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
44894         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
44895         * lib/duplocale.c (rpl_duplocale): Update comment.
44896         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
44897         Reported by Rainer Tammer.
44899 2010-07-30  Bruno Haible  <bruno@clisp.org>
44901         dirfd: Avoid link error on AIX 7.1.
44902         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
44903         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
44904         exist, set REPLACE_DIRFD.
44905         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
44906         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
44907         * doc/posix-functions/dirfd.texi: Update.
44908         Reported by Rainer Tammer.
44910 2010-07-30  Eric Blake  <eblake@redhat.com>
44912         strtod: next round of AIX fixes
44913         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
44914         exponent.
44915         * tests/test-strtod.c (main): Enhance tests.
44916         * doc/posix-functions/strtod.texi (strtod): Document next bug.
44917         Reported by Rainer Tammer.
44919         futimens: fix configure check
44920         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
44921         Reported by Bruno Haible.
44923 2010-07-30  Bruno Haible  <bruno@clisp.org>
44925         getline: Update regarding AIX.
44926         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
44927         Reported by Rainer Tammer.
44929 2010-07-30  Bruno Haible  <bruno@clisp.org>
44931         wcwidth: Drop replacement on AIX 7.
44932         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
44933         AIX 7.
44934         Reported by Rainer Tammer.
44936 2010-07-30  Bruno Haible  <bruno@clisp.org>
44938         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
44939         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
44940         a 'char *'.
44941         Reported by Rainer Tammer.
44943 2010-07-30  Bruno Haible  <bruno@clisp.org>
44945         unlink: Update regarding AIX.
44946         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
44947         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
44948         Reported by Rainer Tammer.
44950 2010-07-30  Bruno Haible  <bruno@clisp.org>
44952         symlink: Update regarding AIX.
44953         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
44954         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
44955         Reported by Rainer Tammer.
44957 2010-07-30  Bruno Haible  <bruno@clisp.org>
44959         strndup: Update regarding AIX.
44960         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
44961         AIX 7.
44962         Reported by Rainer Tammer.
44964 2010-07-30  Bruno Haible  <bruno@clisp.org>
44966         stat: Update regarding AIX.
44967         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
44968         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
44969         Reported by Rainer Tammer.
44971 2010-07-30  Bruno Haible  <bruno@clisp.org>
44973         truncl: Fix autoconf test.
44974         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
44975         whether truncl works.
44976         Reported by Rainer Tammer.
44978 2010-07-30  Bruno Haible  <bruno@clisp.org>
44980         round: Update regarding AIX.
44981         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
44982         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
44983         Reported by Rainer Tammer.
44985 2010-07-30  Bruno Haible  <bruno@clisp.org>
44987         rename: Update regarding AIX.
44988         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
44989         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
44990         Reported by Rainer Tammer.
44992 2010-07-30  Bruno Haible  <bruno@clisp.org>
44994         printf.m4: Update regarding AIX.
44995         * m4/printf.m4: Update comments regarding AIX.
44996         Reported by Rainer Tammer.
44998 2010-07-30  Bruno Haible  <bruno@clisp.org>
45000         iconv: Update regarding AIX.
45001         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
45002         AIX 7.
45003         Reported by Rainer Tammer.
45005 2010-07-30  Bruno Haible  <bruno@clisp.org>
45007         getopt: Update regarding AIX.
45008         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
45009         no on AIX.
45010         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
45011         Reported by Rainer Tammer.
45013 2010-07-30  Bruno Haible  <bruno@clisp.org>
45015         ldexpl; Update regarding AIX.
45016         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
45017         on AIX 7.
45018         Reported by Rainer Tammer.
45020 2010-07-30  Bruno Haible  <bruno@clisp.org>
45022         frexpl: Update regarding AIX.
45023         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
45024         on AIX 7.
45025         Reported by Rainer Tammer.
45027 2010-07-30  Bruno Haible  <bruno@clisp.org>
45029         open, fopen: Update regarding AIX.
45030         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
45031         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
45032         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
45033         * doc/posix-functions/fopen.texi: Likewise.
45034         Reported by Rainer Tammer.
45036 2010-07-30  Bruno Haible  <bruno@clisp.org>
45038         chown: Update doc regarding AIX.
45039         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
45040         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
45041         Reported by Rainer Tammer.
45043 2010-07-30  Eric Blake  <eblake@redhat.com>
45045         strtod: fix bug in replacement function on AIX
45046         * lib/strtod.c (strtod): Special case broken "0x" parse in
45047         underlying strtod.
45048         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
45049         * doc/posix-functions/strtod.texi (strtod): Likewise.
45050         Reported by Rainer Tammer.
45052 2010-07-30  Bruno Haible  <bruno@clisp.org>
45054         mbrlen: Fix cross-compilation guess for AIX.
45055         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
45056         guess. Leftover from 2008-12-22.
45058 2010-07-30  Bruno Haible  <bruno@clisp.org>
45060         mbrtowc: Fix cross-compilation guess for AIX.
45061         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
45062         guess. Leftover from 2008-12-21.
45064 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
45066         init.sh: work around trap limitation of some shells
45067         * tests/init.sh (setup_): Move exit trap outside of shell function.
45069 2010-07-29  Eric Blake  <eblake@redhat.com>
45071         strtod: aid debugging
45072         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
45073         understanding why strtod is rejected.
45075 2010-07-28  Bruno Haible  <bruno@clisp.org>
45077         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
45078         * lib/unistr/u8-chr.c: Include <string.h>.
45079         * tests/unistr/test-u8-chr.c: Likewise.
45080         * tests/unistr/test-u16-chr.c: Likewise.
45081         * tests/unistr/test-u32-chr.c: Likewise.
45082         * tests/unistr/test-u8-strchr.c: Likewise.
45083         * tests/unistr/test-u16-strchr.c: Likewise.
45084         * tests/unistr/test-u32-strchr.c: Likewise.
45085         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
45086         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
45087         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
45088         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
45090 2010-07-28  Bruno Haible  <bruno@clisp.org>
45092         Use spaces for indentation, not tabs.
45093         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
45095 2010-07-27  Bruno Haible  <bruno@clisp.org>
45097         mbspcasecmp: Fix function specification.
45098         * lib/string.in.h (mbspcasecmp): Fix specification comment.
45099         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
45100         Reported by Eric Blake <eblake@redhat.com>.
45102 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
45104         timespec: use cast and not conditional, as truncation isn't possible
45105         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
45106         instead of a conditional.  Comment about the situation in more detail.
45107         This undoes most of the 2009-10-29 patch.
45109 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
45111         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
45112         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
45113         * lib/unistr/u8-strchr.c: Likewise.
45114         * modules/unistr/u8-chr: Depend on memchr.
45116         unistr/u*-strchr: add tests
45117         * modules/unistr/u8-strchr-tests: New file.
45118         * modules/unistr/u16-strchr-tests: New file.
45119         * modules/unistr/u32-strchr-tests: New file.
45120         * tests/unistr/test-strchr.h: New file.
45121         * tests/unistr/test-u8-strchr.c: New file.
45122         * tests/unistr/test-u16-strchr.c: New file.
45123         * tests/unistr/test-u32-strchr.c: New file.
45125         unistr/u*-chr: test multibyte sequences more
45126         * tests/unistr/test-chr.h: Do complete testing of the characters in the
45127         test vector.
45128         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
45129         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
45130         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
45132         unistr/u*-chr: test multibyte sequences
45133         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
45135         unistr/u*-chr: prepare for multibyte tests
45136         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
45137         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
45138         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
45139         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
45140         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
45141         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
45143 2010-07-18  Bruno Haible  <bruno@clisp.org>
45145         unistr/u8-strchr: Optimize non-ASCII argument case.
45146         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
45147         because the first byte often matches anyway.
45148         Reported by Pádraig Brady <P@draigbrady.com>.
45150 2010-07-15  Karl Berry  <karl@gnu.org>
45152         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
45154 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
45156         getcwd: on Solaris, work better if ancestors are inaccessible
45157         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
45158         buffer and size, try again with a large buffer.  This works better
45159         on Solaris, since its getcwd succeeds even if the path to the root
45160         is inaccessible, and this is helpful in common cases such as .zfs
45161         hidden directories.  Problem reported by J Chapman Flack in
45162         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
45163         Use system getcwd if it's declared, not merely if it's partly
45164         working; use the partly-working test only to avoid needless effort
45165         if the system getcwd fails.
45166         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
45167         comment that was already obsolete and is now even more obsolete.
45168         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
45169         now might call strdup.
45171 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
45173         pthread: Add enough so that coreutils/src/sort.c compiles.
45174         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
45175         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
45176         gnulib. Include <sched.h> and <time.h>, as per POSIX.
45177         Include <sys/types.h>, in case it defines pthread_t.
45178         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
45179         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
45180         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
45181         (pthread_rwlockattr_t, pthread_spinlock_t):
45182         New typedefs, if HAVE_PTHREAD_T is not defined.
45183         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
45184         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
45185         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
45186         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
45187         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
45188         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
45189         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
45190         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
45191         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
45192         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
45193         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
45194         New macros.
45195         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
45196         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
45197         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
45198         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
45199         (pthread_spin_unlock): New dummy functions.
45200         (pthread_create): Return EAGAIN; don't set errno.
45201         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
45202         require AC_C_INLINE.
45203         * modules/pthread (Depends-on): Add sched, time.
45204         (pthread.h): Use AM_V_GEN.
45206 2010-07-13  Bruno Haible  <bruno@clisp.org>
45208         striconveh: Don't malloc memory if the result buffer is sufficient.
45209         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
45210         buffer if its size is sufficient.
45211         Reported by Ludovic Courtès <ludo@gnu.org>.
45213 2010-07-13  Bruno Haible  <bruno@clisp.org>
45215         strtod: Add safety check.
45216         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
45218 2010-07-12  Bruno Haible  <bruno@clisp.org>
45220         Unify tests that set gl_cv_func_ldexpl_no_libm.
45221         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
45222         gl_FUNC_LDEXPL.
45223         (gl_FUNC_LDEXPL): Invoke it.
45224         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
45226 2010-07-12  Bruno Haible  <bruno@clisp.org>
45228         Unify tests that set gl_cv_func_ldexp_no_libm.
45229         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
45230         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
45231         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
45232         (configure.ac): Simply invoke gl_FUNC_LDEXP.
45233         * modules/strtod (Files): Add m4/ldexp.m4.
45235 2010-07-12  Bruno Haible  <bruno@clisp.org>
45237         Unify tests that set gl_cv_func_frexpl_no_libm.
45238         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
45239         gl_FUNC_FREXPL_NO_LIBM.
45240         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
45241         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
45243 2010-07-12  Bruno Haible  <bruno@clisp.org>
45245         Unify tests that set gl_cv_func_frexp_no_libm.
45246         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
45247         gl_FUNC_FREXP_NO_LIBM.
45248         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
45249         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
45251 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
45253         memcoll: clarify sizes versus lengths, document better, and tweak perf
45254         * lib/memcoll.c (strcoll_loop, memcoll0):
45255         Improve quality of descriptive comments.  Name variables
45256         consistently as to whether they are lengths (which do not include
45257         terminating null) versus sizes (which do).
45258         * lib/xmemcoll.c (xmemcoll0): Likewise.
45259         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
45260         returned when s1size == 0; this is easier to compile and saves
45261         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
45263 2010-07-12  Bruno Haible  <bruno@clisp.org>
45265         Tests for module '_Exit'.
45266         * modules/_Exit-tests: New file.
45267         * tests/test-_Exit.sh: New file.
45268         * tests/test-_Exit.c: New file.
45270         New module '_Exit'.
45271         * lib/stdlib.in.h (__attribute__): New macro.
45272         (_Exit): New declaration.
45273         * lib/_Exit.c: New file.
45274         * m4/_Exit.m4: New file.
45275         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
45276         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
45277         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
45278         * modules/_Exit: New file.
45279         * tests/test-stdlib-c++.cc (_Exit): Check signature.
45280         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
45282 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
45284         strtod: make it more-accurate typically, and don't require libm
45285         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
45286         Include limits.h.  Don't include string.h.
45287         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
45288         (locale_isspace): New function, so that no casts are needed to
45289         check whether *s is a space.
45290         (ldexp): Provide an unused dummy if not available.
45291         (scale_radix_exp, parse_number, underlying_strtod): New functions.
45292         (strtod): Use them.  This implementation prefers to use the
45293         underlying strtod if available, falling back on our own code
45294         only to fix known bugs.  This is more likely to produce an
45295         accurate result.  Also, it avoids the use of libm functions.
45296         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
45297         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
45298         was absent, but it caused a test failure with coreutils.
45299         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
45300         with libm.
45301         * modules/strtod (Makefile.am, Link): libm is no longer needed.
45302         * modules/strtod-tests (Makefile.am): Likewise.
45304 2010-07-11  Pádraig Brady  <P@draigBrady.com>
45305             Bruno Haible  <bruno@clisp.org>
45307         unistr/u8-strchr: Optimize ASCII argument case.
45308         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
45310 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
45312         (x)memcoll: minor tweaks
45313         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
45314         is after the type that it qualifies.
45315         (memcoll0): Likewise.
45316         * lib/memcoll.h (memcoll0): Likewise.
45317         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
45318         * lib/xmemcoll.h (xmemcoll0): Likewise.
45319         * lib/memcoll.c (memcoll0): Correct the comment.  This function
45320         differs from memcoll in that the NUL byte is part of the argument.
45321         Omit the abort-checks, as performance is a real issue here.  Plus,
45322         the checks were wrong anyway (an off-by-one error).  Omit local
45323         variable 'diff', as it's a bit clearer that way.
45324         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
45325         no longer needed.
45327 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
45329         (x)memcoll: speedup when input is known to be NUL delimited
45330         * lib/memcoll.c: Include stdlib.
45331         (memcoll0): New function.
45332         (strcoll_loop): New function, refactored for use in both memcoll
45333         and memcoll0.
45334         * lib/memcoll.h (memcoll0): Add prototype.
45335         * lib/xmemcoll.c (xmemcoll0): New function.
45336         (collate_error): New function, refactored for use in both xmemcoll
45337         and xmemcoll0.
45338         * lib/xmemcoll.h (xmemcoll0): Add prototype.
45339         * m4/memcoll.m4: add inline invocation.
45341 2010-07-06  Pádraig Brady  <P@draigBrady.com>
45343         * build-aux/bootstrap: Remove any local translations
45344         from the translation project synchronization directory,
45345         so that local only translations are not distributed.
45347 2010-07-04  Bruno Haible  <bruno@clisp.org>
45349         fsusage: Clarify which code applies to which platforms.
45350         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
45351         platform.
45352         * lib/fsusage.c (get_fs_usage): Likewise.
45354 2010-07-04  Bruno Haible  <bruno@clisp.org>
45356         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
45357         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
45358         Reported by Martin Lambers <marlam@marlam.de>.
45360 2010-07-04  Jim Meyering  <meyering@redhat.com>
45362         hash: once again explicitly disallow insertion of NULL
45363         * lib/hash.c (hash_insert0): Reinstate just-removed test:
45364         inserting a NULL pointer cannot work with these functions.
45365         Add a comment with details.
45366         This reverts part of the 2010-07-01 commit, 5bef1a35
45367         "hash: extend module to deal with non-pointer keys".
45369 2010-07-01  Bruno Haible  <bruno@clisp.org>
45371         stdbool: Update doc.
45372         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
45373         Info from Christian Weisgerber <naddy@mips.inka.de>.
45375 2010-07-01  Jim Meyering  <meyering@redhat.com>
45377         hash: extend module to deal with non-pointer keys
45378         * lib/hash.c (hash_insert0): New interface, much like hash_insert
45379         but that allows insertion of non-pointer entries.
45380         Do not disallow an ENTRY value of NULL.
45381         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
45382         * lib/hash.h (hash_insert0): Declare.
45384 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
45386         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
45387         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
45388         not present (i.e. with autoconf 2.59 and when using gettextize, not
45389         gnulib), require AC_GNU_SOURCE instead.
45391 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
45393         idpriv-drop: Fix tests.
45394         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
45395         not to the test-idpriv-droptemp program.
45397 2010-06-29  Bruno Haible  <bruno@clisp.org>
45399         string: Fix syntax error with g++ 2.96.
45400         * lib/string.in.h (__pure__): Remove definition.
45401         (_GL_ATTRIBUTE_PURE): New macro.
45402         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
45403         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
45404         Reported by Christian Weisgerber <naddy@mips.inka.de>.
45406 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
45408         unitypes: Fix bug introduced on 2010-05-18.
45409         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
45411 2010-06-22  Eric Blake  <eblake@redhat.com>
45413         memmem: slight optimization
45414         * lib/str-two-way.h (critical_factorization): Update comments.
45415         Reduce work during factorization phase.
45416         Reported by Carlos Bueno <carlos@bueno.org>.
45418 2010-06-21  Bruno Haible  <bruno@clisp.org>
45420         Fix HAVE_CALLOC_POSIX misnomer.
45421         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
45422         !HAVE_CALLOC_POSIX.
45423         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
45424         HAVE_CALLOC_POSIX.
45425         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
45426         instead of HAVE_CALLOC_POSIX.
45427         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
45428         HAVE_CALLOC_POSIX.
45430         Use modern idiom for calloc() replacement.
45431         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
45432         AC_FUNC_CALLOC.
45433         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
45434         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
45435         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
45436         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
45437         (gl_REPLACE_CALLOC): New macro.
45439 2010-06-21  Bruno Haible  <bruno@clisp.org>
45441         Fix HAVE_REALLOC_POSIX misnomer.
45442         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
45443         !HAVE_REALLOC_POSIX.
45444         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
45445         HAVE_REALLOC_POSIX.
45446         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
45447         instead of HAVE_REALLOC_POSIX.
45448         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
45449         HAVE_REALLOC_POSIX.
45451         Use modern idiom for realloc() replacement.
45452         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
45453         AC_FUNC_REALLOC.
45454         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
45455         Autoconf's AC_FUNC_REALLOC.
45456         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
45457         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
45458         (gl_REPLACE_REALLOC): New macro.
45459         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
45461 2010-06-21  Bruno Haible  <bruno@clisp.org>
45463         Fix HAVE_MALLOC_POSIX misnomer.
45464         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
45465         !HAVE_MALLOC_POSIX.
45466         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
45467         HAVE_MALLOC_POSIX.
45468         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
45469         instead of HAVE_MALLOC_POSIX.
45470         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
45471         HAVE_MALLOC_POSIX.
45473         Use modern idiom for malloc() replacement.
45474         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
45475         AC_FUNC_MALLOC.
45476         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
45477         Autoconf's AC_FUNC_MALLOC.
45478         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
45479         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
45480         (gl_REPLACE_MALLOC): New macro.
45481         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
45483 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
45485         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
45486         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
45487         This macro takes 3 arguments, not 4.
45489 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
45491         ipv6: fix detection under mingw
45492         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
45493         in6_addr.
45495 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
45497         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
45498         that strtod() works when cross-compiling to a glibc version known
45499         to work.
45501 2010-06-15  Bruno Haible  <bruno@clisp.org>
45503         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
45505 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
45507         select: Correct timeout.
45508         * lib/select.c (rpl_select): Compute wait_timeout correctly.
45510 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
45512         git-version-gen: init shell var to avoid env var influence
45513         * build-aux/git-version-gen (v): Init shell var to empty.
45515 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
45517         priv-set: Don't assume that priv.h exists merely because getppriv does.
45518         See Jan Andersen's bug report about AIX 5L in
45519         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
45520         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
45521         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
45522         * lib/priv-set.h: Likewise.
45523         * tests/test-priv-set.c: Likewise.
45525 2010-06-13  Bruno Haible  <bruno@clisp.org>
45527         relocatable: Make it easier to test whether to install wrappers.
45528         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
45529         RELOCATABLE_VIA_WRAPPER.
45531 2010-06-13  Bruno Haible  <bruno@clisp.org>
45533         gnulib-tool: Display specified modules and dependencies differently.
45534         * gnulib-tool (func_show_module_list): New function.
45535         (func_import, func_create_testdir): Invoke it.
45536         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
45538 2010-06-13  Bruno Haible  <bruno@clisp.org>
45540         gnulib-tool: Align code of func_import and func_create_testdir.
45541         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
45542         specified_modules.
45544 2010-06-12  Jim Meyering  <meyering@redhat.com>
45546         test-inttostr: avoid spurious failure on Solaris 9
45547         * tests/test-inttostr.c (main): Skip the test when snprintf fails
45548         to accept "%ju".  Reported by Bruno Haible.
45550 2010-06-11  Jim Meyering  <meyering@redhat.com>
45552         test-sys_socket: mark variables as used more readably
45553         * tests/test-sys_socket.c (main): Mark otherwise unused variables
45554         as "used" explicitly via (void) statement casts.  This is more
45555         readable than using them in an artificial return expression.
45556         Suggestion from Bruno Haible.
45558 2010-06-11  Bruno Haible  <bruno@clisp.org>
45560         Avoid some more warnings from "gcc -Wwrite-strings".
45561         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
45562         to 'const char *'.
45563         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
45564         * tests/test-c-strcasestr.c (main): Likewise.
45565         * tests/test-mbscasestr1.c (main): Likewise.
45566         * tests/test-mbscasestr2.c (main): Likewise.
45567         * tests/test-memmem.c (main): Likewise.
45568         * tests/test-strstr.c (main): Likewise.
45569         * tests/test-strcasestr.c (main): Likewise.
45571 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45573         init.sh: change framework_failure_ to fail with status 99, not 1
45574         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
45575         automake's parallel-tests rule that this is an unexpected failure,
45576         even if the test is listed in XFAIL_TESTS.
45578 2010-06-11  Jim Meyering  <meyering@redhat.com>
45580         test-inttostr: avoid warnings about 4-6KB literal strings
45581         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
45582         Include "macros.h", for its definition of ASSERT.
45583         (CK): s/assert/ASSERT/
45584         * modules/inttostr-tests (Files): Add macros.h.
45586         init.sh: don't use $ME_ or skip_ before they are defined
45587         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
45588         their first uses.  Also hoist their companions: warn_, fail_,
45589         framework_failure_, $stderr_fileno.  Prompted by a patch from
45590         Stefano Lattarini.
45592         test-sys_socket: avoid set-but-not-used warnings from gcc
45593         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
45594         avoid warning about set-but-not-used variables.
45596         test-xvasprintf: avoid 'const' discard warnings
45597         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
45598         "const" when assigning from literal strings.
45599         (test_xasprintf): Add "void" in function argument list to placate
45600         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
45602         tests: avoid compilation warnings in argmatch and exclude tests...
45603         in packages that define ARGMATCH_DIE_DECL, like coreutils.
45604         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
45605         Since it always exits, declare with the "noreturn" attribute.
45606         * tests/test-argmatch.c: Likewise.
45608         tests: avoid 'const' discard warnings in mbsstr tests
45609         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
45610         * tests/test-mbsstr2.c (main): Likewise.
45612         test-verify: avoid warning from gcc's -Wmissing-declarations
45613         * tests/test-verify.c (function): Declare to be static.
45615         test-inttostr.c: include <string.h> for use of strcmp
45616         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
45618         test-linkat: avoid failed assertion on "other" architectures
45619         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
45620         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
45621         sparc: https://bugs.launchpad.net/bugs/591968
45623 2010-06-11  Jim Meyering  <meyering@redhat.com>
45625         printf.m4: avoid autoconf's "Expanded Before Required" warning
45626         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
45627         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
45628         autoconf warning.
45630 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
45632         Replacement header templates are now named with ".in", not "_".
45633         * doc/gnulib-intro.texi: Correct.
45635 2010-06-10  Jim Meyering  <meyering@redhat.com>
45637         inttostr-tests: depend on snprintf, not snprintf-posix
45638         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
45639         snprintf-posix, to avoid this aclocal failure:
45640           missing file gnulib-tests/vasnprintf.c
45641           configure.ac:45: error: expected source file, required through \
45642           AC_LIBSOURCES, not found
45644 2010-06-10  Jim Meyering  <meyering@redhat.com>
45646         inttostr: add a new function, inttostr, and tests
45647         The namesake function was not available.  The existence of the
45648         template file, inttostr.c makes its addition nontrivial.
45649         * lib/anytostr.c: Rename from inttostr.c.
45650         (anytostr): Rename from inttostr.
45651         * lib/inttostr.c: New file.
45652         * modules/inttostr (Files): Add anytostr.c.
45653         (Makefile.am): Set lib_SOURCES instead of ...
45654         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
45655         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
45656         * lib/offtostr.c: Likewise.
45657         * lib/uinttostr.c: Likewise.
45658         * lib/umaxtostr.c: Likewise.
45659         * modules/inttostr-tests: New file.
45660         * tests/test-inttostr.c: New file.  Test these functions.
45662 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
45663             Bruno Haible  <bruno@clisp.org>
45665         Add "Extending Gnulib" chapter to manual.
45666         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
45667         chapter.
45668         (Extending Gnulib): New chapter.
45669         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
45670         chapter.
45672 2010-06-09  Bruno Haible  <bruno@clisp.org>
45674         Avoid relocwrapper link errors due to gnulib replacement functions.
45675         * lib/areadlink.c: Use the system's malloc, realloc functions.
45676         (areadlink): Set errno to ENOMEM explicitly.
45677         * modules/areadlink (Depends-on): Remove malloc-posix.
45678         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45680 2010-06-09  Bruno Haible  <bruno@clisp.org>
45682         Avoid relocwrapper link errors due to gnulib replacement functions.
45683         * lib/canonicalize-lgpl.c: Use the system's malloc function.
45684         * lib/malloca.c: Likewise.
45685         * lib/relocatable.c: Likewise.
45686         * lib/progreloc.c: Use the system's malloc, sprintf functions.
45687         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
45688         * lib/setenv.c: Use the system's malloc, realloc functions.
45689         * lib/strerror.c: Use the system's sprintf function.
45690         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45692 2010-06-04  Bruno Haible  <bruno@clisp.org>
45694         Prefer documented low-level autoconf macro names.
45695         * m4/lib-link.m4: Use m4_translit instead of translit.
45696         * m4/environ.m4: Likewise.
45697         * m4/mathfunc.m4: Likewise.
45698         * m4/onceonly.m4: Likewise.
45699         * m4/stdint.m4: Likewise.
45700         Suggested by Eric Blake.
45702 2010-06-04  Martin Lambers  <marlam@marlam.de>
45703             Bruno Haible  <bruno@clisp.org>
45705         havelib: Allow library names with '+' characters.
45706         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45707         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
45709 2010-06-09  Bruno Haible  <bruno@clisp.org>
45711         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
45712         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
45713         realloc failed.
45715 2010-06-08  Peter Simons  <simons@cryp.to>
45717         maint.mk: make the news-check rule more configurable
45718         * top/maint.mk (news-check-lines-spec): New variable.
45719         (news-check): Use "sed -n 1,10p" in place of "head".
45721 2010-06-07  Jim Meyering  <meyering@redhat.com>
45723         do-release-commit-and-tag: fix typo in --help
45724         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
45726         regex: avoid new dead-code warning with gcc-4.6.0
45727         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
45728         if-block containing a while-loop.  It's been unused for at least
45729         5 years.
45731 2010-06-05  Bruno Haible  <bruno@clisp.org>
45733         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
45734         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
45736 2010-06-04  Bruno Haible  <bruno@clisp.org>
45738         Update to GNU gettext 0.18.1.
45739         * modules/gettext (configure.ac): Require gettext infrastructure from
45740         version 0.18.1.
45742 2010-06-03  Bruno Haible  <bruno@clisp.org>
45744         Don't use AC_LIBOBJ with file names in subdirectories.
45745         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
45746         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
45747         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
45748         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
45749         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
45750         gl_LIBUNISTRING_LIBSOURCE.
45751         (Makefile.am): Augment lib_SOURCES here, conditionally.
45752         * NEWS: Drop requirement for Automake option 'subdir-objects'.
45754 2010-06-03  Bruno Haible  <bruno@clisp.org>
45756         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
45757         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
45758         expansion does not end with a newline.
45759         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
45760         unnecessary newline.
45762 2010-06-03  Bruno Haible  <bruno@clisp.org>
45764         Reduce dependencies.
45765         * tests/test-quotearg.h: New file, extracted from
45766         tests/test-quotearg.c.
45767         * tests/test-quotearg-simple.c: New file, extracted from
45768         tests/test-quotearg.c.
45769         * tests/test-quotearg.c: Don't include <ctype.h>.
45770         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
45771         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
45772         use_quote_double_quotes, use_quotearg_colon): Moved to
45773         tests/test-quotearg.h.
45774         (results_g, flag_results, custom_quotes, custom_results): Moved
45775         to tests/test-quotearg-simple.c.
45776         (main): Moved the part that does not depend on gettext to
45777         tests/test-quotearg-simple.c. Return 77 if the test cannot be
45778         performed.
45779         * modules/quotearg-simple: New file.
45780         * modules/quotearg-simple-tests: New file.
45781         * modules/quotearg (Depends-on): Add quotearg-simple.
45782         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
45783         (Files): Add tests/test-quotearg.h.
45784         Reported by Paolo Bonzini.
45786 2010-06-03  Bruno Haible  <bruno@clisp.org>
45788         Reduce dependencies.
45789         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
45791 2010-06-03  Bruno Haible  <bruno@clisp.org>
45793         time: Undefine more broken macros.
45794         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
45795         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
45796         Reported by Eric Blake.
45798 2010-06-03  Bruno Haible  <bruno@clisp.org>
45800         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
45801         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
45802         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
45803         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
45804         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
45805         Reported by Ludovic Courtès <ludo@gnu.org>.
45807 2010-06-02  Eric Blake  <eblake@redhat.com>
45809         time: work with mingw + pthreads-win32 library
45810         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
45811         if timespec is defined only in pthread.h.
45812         * modules/time (Makefile.am): Substitute it.
45813         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
45814         <pthread.h>, when needed.
45815         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
45816         from the library.
45818 2010-05-31  Bruno Haible  <bruno@clisp.org>
45820         Avoid expanding two macros in the wrong order.
45821         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
45822         gl_LIBUNISTRING if it is defined.
45823         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
45824         autoconf >= 2.64.
45825         Reported by Ludovic Courtès <ludo@gnu.org>.
45827 2010-05-27  Jim Meyering  <meyering@redhat.com>
45829         maint.mk: also prohibit "#undef" of always-defined symbols
45830         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
45831         Allow more than one space before the symbol name.
45832         (sc_prohibit_always-defined_macros): Use grep's -E, now that
45833         the regexp uses alternation.
45835 2010-05-26  Eric Blake  <eblake@redhat.com>
45837         maint.mk: avoid echo -e
45838         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
45839         Convert all uses of echo -* to printf.
45840         Reported by Matthias Bolte.
45842 2010-05-25  Bruno Haible  <bruno@clisp.org>
45844         Update to GNU gettext 0.18, part 2.
45845         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
45846         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
45848 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45850         Add missing include in test-pwrite.c.
45851         * tests/test-pwrite.c: Include string.h, for strcmp.
45853 2010-05-24  Bruno Haible  <bruno@clisp.org>
45855         * NEWS: Mention requirement for Automake option 'subdir-objects'.
45857 2010-05-24  Bruno Haible  <bruno@clisp.org>
45859         Don't use conversion with transliteration in u{8,16,32}_strcoll.
45860         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
45861         iconveh_error argument.
45862         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
45863         U_STRCONV_TO_LOCALE.
45864         * lib/unistr/u16-strcoll.c: Likewise.
45865         * lib/unistr/u32-strcoll.c: Likewise.
45866         * modules/unistr/u8-strcoll (Depends-on): Add
45867         uniconv/u8-strconv-to-enc, localcharset. Remove
45868         uniconv/u8-strconv-to-locale.
45869         (configure.ac): Bump version number.
45870         * modules/unistr/u16-strcoll (Depends-on): Add
45871         uniconv/u16-strconv-to-enc, localcharset. Remove
45872         uniconv/u16-strconv-to-locale.
45873         (configure.ac): Bump version number.
45874         * modules/unistr/u32-strcoll (Depends-on): Add
45875         uniconv/u32-strconv-to-enc, localcharset. Remove
45876         uniconv/u32-strconv-to-locale.
45877         (configure.ac): Bump version number.
45879 2010-05-24  Bruno Haible  <bruno@clisp.org>
45881         Avoid a test failure on NetBSD 5.0.
45882         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
45883         an iconv() bug.
45885 2010-05-24  Bruno Haible  <bruno@clisp.org>
45887         Adjust #include directive style.
45888         * modules/regex (Includes): Recommend to write <regex.h>.
45890 2010-05-24  Bruno Haible  <bruno@clisp.org>
45892         regex: Don't require alloca.
45893         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
45894         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
45895         only inside if (0).
45897 2010-05-23  Jim Meyering  <meyering@redhat.com>
45899         test-renameat.c: include <sys/stat.h>
45900         * tests/test-renameat.c: Include <sys/stat.h>; required for
45901         definition of S_IS* macros.
45903 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
45905         Update maintainer documentation for 'relocatable-prog' module.
45906         * doc/relocatable-maint.texi: Update.
45907         Comments by Bruno Haible.
45909 2010-05-23  Bruno Haible  <bruno@clisp.org>
45911         git-merge-changelog: Enable --split-merged-entry by default.
45912         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
45913         (usage): Don't mention this option any more.
45914         Reported by Ralf Wildenhues.
45916 2010-05-23  Jim Meyering  <meyering@redhat.com>
45918         test-pwrite: do not leave behind a test file named "out"
45919         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
45920         The trivial-looking use of init.sh is really necessary.
45921         It ensures that the temporary file, "out", is created in
45922         a temporary directory, and removed upon termination.
45923         * tests/test-pwrite.sh: Re-add file.
45924         * modules/pwrite-tests: Reference it.
45926 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45928         Fix output redirection buglet in init.sh.
45929         * tests/init.sh: Fix redirection of stderr.
45931 2010-05-20  Simon Josefsson  <simon@josefsson.org>
45933         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
45935 2010-05-17  Simon Josefsson  <simon@josefsson.org>
45937         * modules/valgrind-tests: New file.
45938         * m4/valgrind-tests.m4: New file.
45939         * doc/valgrind-tests.texi: New file.
45940         * doc/gnulib.texi (Running self-tests under valgrind): New
45941         section.
45943 2010-05-19  Bruno Haible  <bruno@clisp.org>
45945         Clean up dead code in recent commit.
45946         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
45947         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
45948         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
45949         Suggested by Paolo Bonzini.
45951 2010-05-19  Bruno Haible  <bruno@clisp.org>
45953         Avoid valgrind error reports from libunistring.
45954         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
45955         * modules/libunistring (Files): Add it.
45956         * modules/libunistring-optional (Files): Likewise.
45958 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
45959             Bruno Haible  <bruno@clisp.org>
45961         New module 'libunistring-optional'.
45962         * modules/libunistring-optional: New file.
45963         * m4/libunistring-base.m4: New file.
45964         * m4/libunistring-optional.m4: New file.
45965         * lib/unicase.in.h: Renamed from lib/unicase.h.
45966         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
45967         * lib/unictype.in.h: Renamed from lib/unictype.h.
45968         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
45969         * lib/uniname.in.h: Renamed from lib/uniname.h.
45970         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
45971         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
45972         * lib/unistr.in.h: Renamed from lib/unistr.h.
45973         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
45974         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
45975         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
45976         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
45977         gl_LIBUNISTRING. If the library was found, determine the installed
45978         version and set LIBUNISTRING_VERSION.
45979         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
45980         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
45981         handle a configuration option --with-included-libunistring.
45982         * modules/libunistring (Files): Add m4/absolute-header.m4.
45983         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
45984         Add m4/libunistring-base.m4.
45985         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
45986         (Makefile.am): Build unicase.h from unicase.in.h.
45987         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
45988         Add m4/libunistring-base.m4.
45989         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
45990         (Makefile.am): Build uniconv.h from uniconv.in.h.
45991         * modules/unictype/base (Files): Use unictype.in.h instead of
45992         unictype.h. Add m4/libunistring-base.m4.
45993         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
45994         (Makefile.am): Build unictype.h from unictype.in.h.
45995         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
45996         Add m4/libunistring-base.m4.
45997         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
45998         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
45999         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
46000         Add m4/libunistring-base.m4.
46001         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46002         (Makefile.am): Build uniname.h from uniname.in.h.
46003         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
46004         Add m4/libunistring-base.m4.
46005         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46006         (Makefile.am): Build uninorm.h from uninorm.in.h.
46007         * modules/unistdio/base (Files): Use unistdio.in.h instead of
46008         unistdio.h. Add m4/libunistring-base.m4.
46009         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46010         (Makefile.am): Build unistdio.h from unistdio.in.h.
46011         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
46012         Add m4/libunistring-base.m4.
46013         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46014         (Makefile.am): Build unistr.h from unistr.in.h.
46015         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
46016         Add m4/libunistring-base.m4.
46017         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46018         (Makefile.am): Build unitypes.h from unitypes.in.h.
46019         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
46020         Add m4/libunistring-base.m4.
46021         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46022         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
46023         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
46024         uniwidth.h. Add m4/libunistring-base.m4.
46025         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
46026         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
46027         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
46028         instead of augmenting lib_SOURCES.
46029         * modules/unicase/empty-suffix-context: Likewise.
46030         * modules/unicase/locale-language: Likewise.
46031         * modules/unicase/tolower: Likewise.
46032         * modules/unicase/totitle: Likewise.
46033         * modules/unicase/toupper: Likewise.
46034         * modules/unicase/u8-casecmp: Likewise.
46035         * modules/unicase/u8-casecoll: Likewise.
46036         * modules/unicase/u8-casefold: Likewise.
46037         * modules/unicase/u8-casexfrm: Likewise.
46038         * modules/unicase/u8-ct-casefold: Likewise.
46039         * modules/unicase/u8-ct-tolower: Likewise.
46040         * modules/unicase/u8-ct-totitle: Likewise.
46041         * modules/unicase/u8-ct-toupper: Likewise.
46042         * modules/unicase/u8-is-cased: Likewise.
46043         * modules/unicase/u8-is-casefolded: Likewise.
46044         * modules/unicase/u8-is-lowercase: Likewise.
46045         * modules/unicase/u8-is-titlecase: Likewise.
46046         * modules/unicase/u8-is-uppercase: Likewise.
46047         * modules/unicase/u8-prefix-context: Likewise.
46048         * modules/unicase/u8-suffix-context: Likewise.
46049         * modules/unicase/u8-tolower: Likewise.
46050         * modules/unicase/u8-totitle: Likewise.
46051         * modules/unicase/u8-toupper: Likewise.
46052         * modules/unicase/u16-casecmp: Likewise.
46053         * modules/unicase/u16-casecoll: Likewise.
46054         * modules/unicase/u16-casefold: Likewise.
46055         * modules/unicase/u16-casexfrm: Likewise.
46056         * modules/unicase/u16-ct-casefold: Likewise.
46057         * modules/unicase/u16-ct-tolower: Likewise.
46058         * modules/unicase/u16-ct-totitle: Likewise.
46059         * modules/unicase/u16-ct-toupper: Likewise.
46060         * modules/unicase/u16-is-cased: Likewise.
46061         * modules/unicase/u16-is-casefolded: Likewise.
46062         * modules/unicase/u16-is-lowercase: Likewise.
46063         * modules/unicase/u16-is-titlecase: Likewise.
46064         * modules/unicase/u16-is-uppercase: Likewise.
46065         * modules/unicase/u16-prefix-context: Likewise.
46066         * modules/unicase/u16-suffix-context: Likewise.
46067         * modules/unicase/u16-tolower: Likewise.
46068         * modules/unicase/u16-totitle: Likewise.
46069         * modules/unicase/u16-toupper: Likewise.
46070         * modules/unicase/u32-casecmp: Likewise.
46071         * modules/unicase/u32-casecoll: Likewise.
46072         * modules/unicase/u32-casefold: Likewise.
46073         * modules/unicase/u32-casexfrm: Likewise.
46074         * modules/unicase/u32-ct-casefold: Likewise.
46075         * modules/unicase/u32-ct-tolower: Likewise.
46076         * modules/unicase/u32-ct-totitle: Likewise.
46077         * modules/unicase/u32-ct-toupper: Likewise.
46078         * modules/unicase/u32-is-cased: Likewise.
46079         * modules/unicase/u32-is-casefolded: Likewise.
46080         * modules/unicase/u32-is-lowercase: Likewise.
46081         * modules/unicase/u32-is-titlecase: Likewise.
46082         * modules/unicase/u32-is-uppercase: Likewise.
46083         * modules/unicase/u32-prefix-context: Likewise.
46084         * modules/unicase/u32-suffix-context: Likewise.
46085         * modules/unicase/u32-tolower: Likewise.
46086         * modules/unicase/u32-totitle: Likewise.
46087         * modules/unicase/u32-toupper: Likewise.
46088         * modules/unicase/ulc-casecmp: Likewise.
46089         * modules/unicase/ulc-casecoll: Likewise.
46090         * modules/unicase/ulc-casexfrm: Likewise.
46091         * modules/uniconv/u8-conv-from-enc: Likewise.
46092         * modules/uniconv/u8-conv-to-enc: Likewise.
46093         * modules/uniconv/u8-strconv-from-enc: Likewise.
46094         * modules/uniconv/u8-strconv-from-locale: Likewise.
46095         * modules/uniconv/u8-strconv-to-enc: Likewise.
46096         * modules/uniconv/u8-strconv-to-locale: Likewise.
46097         * modules/uniconv/u16-conv-from-enc: Likewise.
46098         * modules/uniconv/u16-conv-to-enc: Likewise.
46099         * modules/uniconv/u16-strconv-from-enc: Likewise.
46100         * modules/uniconv/u16-strconv-from-locale: Likewise.
46101         * modules/uniconv/u16-strconv-to-enc: Likewise.
46102         * modules/uniconv/u16-strconv-to-locale: Likewise.
46103         * modules/uniconv/u32-conv-from-enc: Likewise.
46104         * modules/uniconv/u32-conv-to-enc: Likewise.
46105         * modules/uniconv/u32-strconv-from-enc: Likewise.
46106         * modules/uniconv/u32-strconv-from-locale: Likewise.
46107         * modules/uniconv/u32-strconv-to-enc: Likewise.
46108         * modules/uniconv/u32-strconv-to-locale: Likewise.
46109         * modules/unictype/bidicategory-byname: Likewise.
46110         * modules/unictype/bidicategory-name: Likewise.
46111         * modules/unictype/bidicategory-of: Likewise.
46112         * modules/unictype/bidicategory-test: Likewise.
46113         * modules/unictype/block-list: Likewise.
46114         * modules/unictype/block-test: Likewise.
46115         * modules/unictype/category-C: Likewise.
46116         * modules/unictype/category-Cc: Likewise.
46117         * modules/unictype/category-Cf: Likewise.
46118         * modules/unictype/category-Cn: Likewise.
46119         * modules/unictype/category-Co: Likewise.
46120         * modules/unictype/category-Cs: Likewise.
46121         * modules/unictype/category-L: Likewise.
46122         * modules/unictype/category-Ll: Likewise.
46123         * modules/unictype/category-Lm: Likewise.
46124         * modules/unictype/category-Lo: Likewise.
46125         * modules/unictype/category-Lt: Likewise.
46126         * modules/unictype/category-Lu: Likewise.
46127         * modules/unictype/category-M: Likewise.
46128         * modules/unictype/category-Mc: Likewise.
46129         * modules/unictype/category-Me: Likewise.
46130         * modules/unictype/category-Mn: Likewise.
46131         * modules/unictype/category-N: Likewise.
46132         * modules/unictype/category-Nd: Likewise.
46133         * modules/unictype/category-Nl: Likewise.
46134         * modules/unictype/category-No: Likewise.
46135         * modules/unictype/category-P: Likewise.
46136         * modules/unictype/category-Pc: Likewise.
46137         * modules/unictype/category-Pd: Likewise.
46138         * modules/unictype/category-Pe: Likewise.
46139         * modules/unictype/category-Pf: Likewise.
46140         * modules/unictype/category-Pi: Likewise.
46141         * modules/unictype/category-Po: Likewise.
46142         * modules/unictype/category-Ps: Likewise.
46143         * modules/unictype/category-S: Likewise.
46144         * modules/unictype/category-Sc: Likewise.
46145         * modules/unictype/category-Sk: Likewise.
46146         * modules/unictype/category-Sm: Likewise.
46147         * modules/unictype/category-So: Likewise.
46148         * modules/unictype/category-Z: Likewise.
46149         * modules/unictype/category-Zl: Likewise.
46150         * modules/unictype/category-Zp: Likewise.
46151         * modules/unictype/category-Zs: Likewise.
46152         * modules/unictype/category-and: Likewise.
46153         * modules/unictype/category-and-not: Likewise.
46154         * modules/unictype/category-byname: Likewise.
46155         * modules/unictype/category-name: Likewise.
46156         * modules/unictype/category-none: Likewise.
46157         * modules/unictype/category-of: Likewise.
46158         * modules/unictype/category-or: Likewise.
46159         * modules/unictype/category-test: Likewise.
46160         * modules/unictype/combining-class: Likewise.
46161         * modules/unictype/ctype-alnum: Likewise.
46162         * modules/unictype/ctype-alpha: Likewise.
46163         * modules/unictype/ctype-blank: Likewise.
46164         * modules/unictype/ctype-cntrl: Likewise.
46165         * modules/unictype/ctype-digit: Likewise.
46166         * modules/unictype/ctype-graph: Likewise.
46167         * modules/unictype/ctype-lower: Likewise.
46168         * modules/unictype/ctype-print: Likewise.
46169         * modules/unictype/ctype-punct: Likewise.
46170         * modules/unictype/ctype-space: Likewise.
46171         * modules/unictype/ctype-upper: Likewise.
46172         * modules/unictype/ctype-xdigit: Likewise.
46173         * modules/unictype/decimal-digit: Likewise.
46174         * modules/unictype/digit: Likewise.
46175         * modules/unictype/mirror: Likewise.
46176         * modules/unictype/numeric: Likewise.
46177         * modules/unictype/property-alphabetic: Likewise.
46178         * modules/unictype/property-ascii-hex-digit: Likewise.
46179         * modules/unictype/property-bidi-arabic-digit: Likewise.
46180         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
46181         * modules/unictype/property-bidi-block-separator: Likewise.
46182         * modules/unictype/property-bidi-boundary-neutral: Likewise.
46183         * modules/unictype/property-bidi-common-separator: Likewise.
46184         * modules/unictype/property-bidi-control: Likewise.
46185         * modules/unictype/property-bidi-embedding-or-override: Likewise.
46186         * modules/unictype/property-bidi-eur-num-separator: Likewise.
46187         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
46188         * modules/unictype/property-bidi-european-digit: Likewise.
46189         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
46190         * modules/unictype/property-bidi-left-to-right: Likewise.
46191         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
46192         * modules/unictype/property-bidi-other-neutral: Likewise.
46193         * modules/unictype/property-bidi-pdf: Likewise.
46194         * modules/unictype/property-bidi-segment-separator: Likewise.
46195         * modules/unictype/property-bidi-whitespace: Likewise.
46196         * modules/unictype/property-byname: Likewise.
46197         * modules/unictype/property-combining: Likewise.
46198         * modules/unictype/property-composite: Likewise.
46199         * modules/unictype/property-currency-symbol: Likewise.
46200         * modules/unictype/property-dash: Likewise.
46201         * modules/unictype/property-decimal-digit: Likewise.
46202         * modules/unictype/property-default-ignorable-code-point: Likewise.
46203         * modules/unictype/property-deprecated: Likewise.
46204         * modules/unictype/property-diacritic: Likewise.
46205         * modules/unictype/property-extender: Likewise.
46206         * modules/unictype/property-format-control: Likewise.
46207         * modules/unictype/property-grapheme-base: Likewise.
46208         * modules/unictype/property-grapheme-extend: Likewise.
46209         * modules/unictype/property-grapheme-link: Likewise.
46210         * modules/unictype/property-hex-digit: Likewise.
46211         * modules/unictype/property-hyphen: Likewise.
46212         * modules/unictype/property-id-continue: Likewise.
46213         * modules/unictype/property-id-start: Likewise.
46214         * modules/unictype/property-ideographic: Likewise.
46215         * modules/unictype/property-ids-binary-operator: Likewise.
46216         * modules/unictype/property-ids-trinary-operator: Likewise.
46217         * modules/unictype/property-ignorable-control: Likewise.
46218         * modules/unictype/property-iso-control: Likewise.
46219         * modules/unictype/property-join-control: Likewise.
46220         * modules/unictype/property-left-of-pair: Likewise.
46221         * modules/unictype/property-line-separator: Likewise.
46222         * modules/unictype/property-logical-order-exception: Likewise.
46223         * modules/unictype/property-lowercase: Likewise.
46224         * modules/unictype/property-math: Likewise.
46225         * modules/unictype/property-non-break: Likewise.
46226         * modules/unictype/property-not-a-character: Likewise.
46227         * modules/unictype/property-numeric: Likewise.
46228         * modules/unictype/property-other-alphabetic: Likewise.
46229         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
46230         * modules/unictype/property-other-grapheme-extend: Likewise.
46231         * modules/unictype/property-other-id-continue: Likewise.
46232         * modules/unictype/property-other-id-start: Likewise.
46233         * modules/unictype/property-other-lowercase: Likewise.
46234         * modules/unictype/property-other-math: Likewise.
46235         * modules/unictype/property-other-uppercase: Likewise.
46236         * modules/unictype/property-paired-punctuation: Likewise.
46237         * modules/unictype/property-paragraph-separator: Likewise.
46238         * modules/unictype/property-pattern-syntax: Likewise.
46239         * modules/unictype/property-pattern-white-space: Likewise.
46240         * modules/unictype/property-private-use: Likewise.
46241         * modules/unictype/property-punctuation: Likewise.
46242         * modules/unictype/property-quotation-mark: Likewise.
46243         * modules/unictype/property-radical: Likewise.
46244         * modules/unictype/property-sentence-terminal: Likewise.
46245         * modules/unictype/property-soft-dotted: Likewise.
46246         * modules/unictype/property-space: Likewise.
46247         * modules/unictype/property-terminal-punctuation: Likewise.
46248         * modules/unictype/property-test: Likewise.
46249         * modules/unictype/property-titlecase: Likewise.
46250         * modules/unictype/property-unassigned-code-value: Likewise.
46251         * modules/unictype/property-unified-ideograph: Likewise.
46252         * modules/unictype/property-uppercase: Likewise.
46253         * modules/unictype/property-variation-selector: Likewise.
46254         * modules/unictype/property-white-space: Likewise.
46255         * modules/unictype/property-xid-continue: Likewise.
46256         * modules/unictype/property-xid-start: Likewise.
46257         * modules/unictype/property-zero-width: Likewise.
46258         * modules/unictype/scripts: Likewise.
46259         * modules/unictype/syntax-c-ident: Likewise.
46260         * modules/unictype/syntax-c-whitespace: Likewise.
46261         * modules/unictype/syntax-java-ident: Likewise.
46262         * modules/unictype/syntax-java-whitespace: Likewise.
46263         * modules/unilbrk/u8-possible-linebreaks: Likewise.
46264         * modules/unilbrk/u8-width-linebreaks: Likewise.
46265         * modules/unilbrk/u16-possible-linebreaks: Likewise.
46266         * modules/unilbrk/u16-width-linebreaks: Likewise.
46267         * modules/unilbrk/u32-possible-linebreaks: Likewise.
46268         * modules/unilbrk/u32-width-linebreaks: Likewise.
46269         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
46270         * modules/unilbrk/ulc-width-linebreaks: Likewise.
46271         * modules/uniname/uniname: Likewise.
46272         * modules/uninorm/canonical-decomposition: Likewise.
46273         * modules/uninorm/composition: Likewise.
46274         * modules/uninorm/decomposing-form: Likewise.
46275         * modules/uninorm/decomposition: Likewise.
46276         * modules/uninorm/filter: Likewise.
46277         * modules/uninorm/nfc: Likewise.
46278         * modules/uninorm/nfd: Likewise.
46279         * modules/uninorm/nfkc: Likewise.
46280         * modules/uninorm/nfkd: Likewise.
46281         * modules/uninorm/u8-normalize: Likewise.
46282         * modules/uninorm/u8-normcmp: Likewise.
46283         * modules/uninorm/u8-normcoll: Likewise.
46284         * modules/uninorm/u8-normxfrm: Likewise.
46285         * modules/uninorm/u16-normalize: Likewise.
46286         * modules/uninorm/u16-normcmp: Likewise.
46287         * modules/uninorm/u16-normcoll: Likewise.
46288         * modules/uninorm/u16-normxfrm: Likewise.
46289         * modules/uninorm/u32-normalize: Likewise.
46290         * modules/uninorm/u32-normcmp: Likewise.
46291         * modules/uninorm/u32-normcoll: Likewise.
46292         * modules/uninorm/u32-normxfrm: Likewise.
46293         * modules/unistdio/u8-asnprintf: Likewise.
46294         * modules/unistdio/u8-asprintf: Likewise.
46295         * modules/unistdio/u8-snprintf: Likewise.
46296         * modules/unistdio/u8-sprintf: Likewise.
46297         * modules/unistdio/u8-u8-asnprintf: Likewise.
46298         * modules/unistdio/u8-u8-asprintf: Likewise.
46299         * modules/unistdio/u8-u8-snprintf: Likewise.
46300         * modules/unistdio/u8-u8-sprintf: Likewise.
46301         * modules/unistdio/u8-u8-vasnprintf: Likewise.
46302         * modules/unistdio/u8-u8-vasprintf: Likewise.
46303         * modules/unistdio/u8-u8-vsnprintf: Likewise.
46304         * modules/unistdio/u8-u8-vsprintf: Likewise.
46305         * modules/unistdio/u8-vasnprintf: Likewise.
46306         * modules/unistdio/u8-vasprintf: Likewise.
46307         * modules/unistdio/u8-vsnprintf: Likewise.
46308         * modules/unistdio/u8-vsprintf: Likewise.
46309         * modules/unistdio/u16-asnprintf: Likewise.
46310         * modules/unistdio/u16-asprintf: Likewise.
46311         * modules/unistdio/u16-snprintf: Likewise.
46312         * modules/unistdio/u16-sprintf: Likewise.
46313         * modules/unistdio/u16-u16-asnprintf: Likewise.
46314         * modules/unistdio/u16-u16-asprintf: Likewise.
46315         * modules/unistdio/u16-u16-snprintf: Likewise.
46316         * modules/unistdio/u16-u16-sprintf: Likewise.
46317         * modules/unistdio/u16-u16-vasnprintf: Likewise.
46318         * modules/unistdio/u16-u16-vasprintf: Likewise.
46319         * modules/unistdio/u16-u16-vsnprintf: Likewise.
46320         * modules/unistdio/u16-u16-vsprintf: Likewise.
46321         * modules/unistdio/u16-vasnprintf: Likewise.
46322         * modules/unistdio/u16-vasprintf: Likewise.
46323         * modules/unistdio/u16-vsnprintf: Likewise.
46324         * modules/unistdio/u16-vsprintf: Likewise.
46325         * modules/unistdio/u32-asnprintf: Likewise.
46326         * modules/unistdio/u32-asprintf: Likewise.
46327         * modules/unistdio/u32-snprintf: Likewise.
46328         * modules/unistdio/u32-sprintf: Likewise.
46329         * modules/unistdio/u32-u32-asnprintf: Likewise.
46330         * modules/unistdio/u32-u32-asprintf: Likewise.
46331         * modules/unistdio/u32-u32-snprintf: Likewise.
46332         * modules/unistdio/u32-u32-sprintf: Likewise.
46333         * modules/unistdio/u32-u32-vasnprintf: Likewise.
46334         * modules/unistdio/u32-u32-vasprintf: Likewise.
46335         * modules/unistdio/u32-u32-vsnprintf: Likewise.
46336         * modules/unistdio/u32-u32-vsprintf: Likewise.
46337         * modules/unistdio/u32-vasnprintf: Likewise.
46338         * modules/unistdio/u32-vasprintf: Likewise.
46339         * modules/unistdio/u32-vsnprintf: Likewise.
46340         * modules/unistdio/u32-vsprintf: Likewise.
46341         * modules/unistdio/ulc-asnprintf: Likewise.
46342         * modules/unistdio/ulc-asprintf: Likewise.
46343         * modules/unistdio/ulc-fprintf: Likewise.
46344         * modules/unistdio/ulc-snprintf: Likewise.
46345         * modules/unistdio/ulc-sprintf: Likewise.
46346         * modules/unistdio/ulc-vasnprintf: Likewise.
46347         * modules/unistdio/ulc-vasprintf: Likewise.
46348         * modules/unistdio/ulc-vfprintf: Likewise.
46349         * modules/unistdio/ulc-vsnprintf: Likewise.
46350         * modules/unistdio/ulc-vsprintf: Likewise.
46351         * modules/unistr/u8-check: Likewise.
46352         * modules/unistr/u8-chr: Likewise.
46353         * modules/unistr/u8-cmp: Likewise.
46354         * modules/unistr/u8-cmp2: Likewise.
46355         * modules/unistr/u8-cpy: Likewise.
46356         * modules/unistr/u8-cpy-alloc: Likewise.
46357         * modules/unistr/u8-endswith: Likewise.
46358         * modules/unistr/u8-mblen: Likewise.
46359         * modules/unistr/u8-mbsnlen: Likewise.
46360         * modules/unistr/u8-mbtouc: Likewise.
46361         * modules/unistr/u8-mbtouc-unsafe: Likewise.
46362         * modules/unistr/u8-mbtoucr: Likewise.
46363         * modules/unistr/u8-move: Likewise.
46364         * modules/unistr/u8-next: Likewise.
46365         * modules/unistr/u8-prev: Likewise.
46366         * modules/unistr/u8-set: Likewise.
46367         * modules/unistr/u8-startswith: Likewise.
46368         * modules/unistr/u8-stpcpy: Likewise.
46369         * modules/unistr/u8-stpncpy: Likewise.
46370         * modules/unistr/u8-strcat: Likewise.
46371         * modules/unistr/u8-strchr: Likewise.
46372         * modules/unistr/u8-strcmp: Likewise.
46373         * modules/unistr/u8-strcoll: Likewise.
46374         * modules/unistr/u8-strcpy: Likewise.
46375         * modules/unistr/u8-strcspn: Likewise.
46376         * modules/unistr/u8-strdup: Likewise.
46377         * modules/unistr/u8-strlen: Likewise.
46378         * modules/unistr/u8-strmblen: Likewise.
46379         * modules/unistr/u8-strmbtouc: Likewise.
46380         * modules/unistr/u8-strncat: Likewise.
46381         * modules/unistr/u8-strncmp: Likewise.
46382         * modules/unistr/u8-strncpy: Likewise.
46383         * modules/unistr/u8-strnlen: Likewise.
46384         * modules/unistr/u8-strpbrk: Likewise.
46385         * modules/unistr/u8-strrchr: Likewise.
46386         * modules/unistr/u8-strspn: Likewise.
46387         * modules/unistr/u8-strstr: Likewise.
46388         * modules/unistr/u8-strtok: Likewise.
46389         * modules/unistr/u8-to-u16: Likewise.
46390         * modules/unistr/u8-to-u32: Likewise.
46391         * modules/unistr/u8-uctomb: Likewise.
46392         * modules/unistr/u16-check: Likewise.
46393         * modules/unistr/u16-chr: Likewise.
46394         * modules/unistr/u16-cmp: Likewise.
46395         * modules/unistr/u16-cmp2: Likewise.
46396         * modules/unistr/u16-cpy: Likewise.
46397         * modules/unistr/u16-cpy-alloc: Likewise.
46398         * modules/unistr/u16-endswith: Likewise.
46399         * modules/unistr/u16-mblen: Likewise.
46400         * modules/unistr/u16-mbsnlen: Likewise.
46401         * modules/unistr/u16-mbtouc: Likewise.
46402         * modules/unistr/u16-mbtouc-unsafe: Likewise.
46403         * modules/unistr/u16-mbtoucr: Likewise.
46404         * modules/unistr/u16-move: Likewise.
46405         * modules/unistr/u16-next: Likewise.
46406         * modules/unistr/u16-prev: Likewise.
46407         * modules/unistr/u16-set: Likewise.
46408         * modules/unistr/u16-startswith: Likewise.
46409         * modules/unistr/u16-stpcpy: Likewise.
46410         * modules/unistr/u16-stpncpy: Likewise.
46411         * modules/unistr/u16-strcat: Likewise.
46412         * modules/unistr/u16-strchr: Likewise.
46413         * modules/unistr/u16-strcmp: Likewise.
46414         * modules/unistr/u16-strcoll: Likewise.
46415         * modules/unistr/u16-strcpy: Likewise.
46416         * modules/unistr/u16-strcspn: Likewise.
46417         * modules/unistr/u16-strdup: Likewise.
46418         * modules/unistr/u16-strlen: Likewise.
46419         * modules/unistr/u16-strmblen: Likewise.
46420         * modules/unistr/u16-strmbtouc: Likewise.
46421         * modules/unistr/u16-strncat: Likewise.
46422         * modules/unistr/u16-strncmp: Likewise.
46423         * modules/unistr/u16-strncpy: Likewise.
46424         * modules/unistr/u16-strnlen: Likewise.
46425         * modules/unistr/u16-strpbrk: Likewise.
46426         * modules/unistr/u16-strrchr: Likewise.
46427         * modules/unistr/u16-strspn: Likewise.
46428         * modules/unistr/u16-strstr: Likewise.
46429         * modules/unistr/u16-strtok: Likewise.
46430         * modules/unistr/u16-to-u32: Likewise.
46431         * modules/unistr/u16-to-u8: Likewise.
46432         * modules/unistr/u16-uctomb: Likewise.
46433         * modules/unistr/u32-check: Likewise.
46434         * modules/unistr/u32-chr: Likewise.
46435         * modules/unistr/u32-cmp: Likewise.
46436         * modules/unistr/u32-cmp2: Likewise.
46437         * modules/unistr/u32-cpy: Likewise.
46438         * modules/unistr/u32-cpy-alloc: Likewise.
46439         * modules/unistr/u32-endswith: Likewise.
46440         * modules/unistr/u32-mblen: Likewise.
46441         * modules/unistr/u32-mbsnlen: Likewise.
46442         * modules/unistr/u32-mbtouc: Likewise.
46443         * modules/unistr/u32-mbtouc-unsafe: Likewise.
46444         * modules/unistr/u32-mbtoucr: Likewise.
46445         * modules/unistr/u32-move: Likewise.
46446         * modules/unistr/u32-next: Likewise.
46447         * modules/unistr/u32-prev: Likewise.
46448         * modules/unistr/u32-set: Likewise.
46449         * modules/unistr/u32-startswith: Likewise.
46450         * modules/unistr/u32-stpcpy: Likewise.
46451         * modules/unistr/u32-stpncpy: Likewise.
46452         * modules/unistr/u32-strcat: Likewise.
46453         * modules/unistr/u32-strchr: Likewise.
46454         * modules/unistr/u32-strcmp: Likewise.
46455         * modules/unistr/u32-strcoll: Likewise.
46456         * modules/unistr/u32-strcpy: Likewise.
46457         * modules/unistr/u32-strcspn: Likewise.
46458         * modules/unistr/u32-strdup: Likewise.
46459         * modules/unistr/u32-strlen: Likewise.
46460         * modules/unistr/u32-strmblen: Likewise.
46461         * modules/unistr/u32-strmbtouc: Likewise.
46462         * modules/unistr/u32-strncat: Likewise.
46463         * modules/unistr/u32-strncmp: Likewise.
46464         * modules/unistr/u32-strncpy: Likewise.
46465         * modules/unistr/u32-strnlen: Likewise.
46466         * modules/unistr/u32-strpbrk: Likewise.
46467         * modules/unistr/u32-strrchr: Likewise.
46468         * modules/unistr/u32-strspn: Likewise.
46469         * modules/unistr/u32-strstr: Likewise.
46470         * modules/unistr/u32-strtok: Likewise.
46471         * modules/unistr/u32-to-u16: Likewise.
46472         * modules/unistr/u32-to-u8: Likewise.
46473         * modules/unistr/u32-uctomb: Likewise.
46474         * modules/uniwbrk/u8-wordbreaks: Likewise.
46475         * modules/uniwbrk/u16-wordbreaks: Likewise.
46476         * modules/uniwbrk/u32-wordbreaks: Likewise.
46477         * modules/uniwbrk/ulc-wordbreaks: Likewise.
46478         * modules/uniwbrk/wordbreak-property: Likewise.
46479         * modules/uniwidth/u8-strwidth: Likewise.
46480         * modules/uniwidth/u8-width: Likewise.
46481         * modules/uniwidth/u16-strwidth: Likewise.
46482         * modules/uniwidth/u16-width: Likewise.
46483         * modules/uniwidth/u32-strwidth: Likewise.
46484         * modules/uniwidth/u32-width: Likewise.
46485         * modules/uniwidth/width: Likewise.
46486         * modules/unicase/cased-tests (Makefile.am): Link all test programs
46487         with $(LIBUNISTRING).
46488         * modules/unicase/ignorable-tests: Likewise.
46489         * modules/unicase/locale-language-tests: Likewise.
46490         * modules/unicase/tolower-tests: Likewise.
46491         * modules/unicase/totitle-tests: Likewise.
46492         * modules/unicase/toupper-tests: Likewise.
46493         * modules/unicase/u8-casecmp-tests: Likewise.
46494         * modules/unicase/u8-casecoll-tests: Likewise.
46495         * modules/unicase/u8-casefold-tests: Likewise.
46496         * modules/unicase/u8-is-cased-tests: Likewise.
46497         * modules/unicase/u8-is-casefolded-tests: Likewise.
46498         * modules/unicase/u8-is-lowercase-tests: Likewise.
46499         * modules/unicase/u8-is-titlecase-tests: Likewise.
46500         * modules/unicase/u8-is-uppercase-tests: Likewise.
46501         * modules/unicase/u8-tolower-tests: Likewise.
46502         * modules/unicase/u8-totitle-tests: Likewise.
46503         * modules/unicase/u8-toupper-tests: Likewise.
46504         * modules/unicase/u16-casecmp-tests: Likewise.
46505         * modules/unicase/u16-casecoll-tests: Likewise.
46506         * modules/unicase/u16-casefold-tests: Likewise.
46507         * modules/unicase/u16-is-cased-tests: Likewise.
46508         * modules/unicase/u16-is-casefolded-tests: Likewise.
46509         * modules/unicase/u16-is-lowercase-tests: Likewise.
46510         * modules/unicase/u16-is-titlecase-tests: Likewise.
46511         * modules/unicase/u16-is-uppercase-tests: Likewise.
46512         * modules/unicase/u16-tolower-tests: Likewise.
46513         * modules/unicase/u16-totitle-tests: Likewise.
46514         * modules/unicase/u16-toupper-tests: Likewise.
46515         * modules/unicase/u32-casecmp-tests: Likewise.
46516         * modules/unicase/u32-casecoll-tests: Likewise.
46517         * modules/unicase/u32-casefold-tests: Likewise.
46518         * modules/unicase/u32-is-cased-tests: Likewise.
46519         * modules/unicase/u32-is-casefolded-tests: Likewise.
46520         * modules/unicase/u32-is-lowercase-tests: Likewise.
46521         * modules/unicase/u32-is-titlecase-tests: Likewise.
46522         * modules/unicase/u32-is-uppercase-tests: Likewise.
46523         * modules/unicase/u32-tolower-tests: Likewise.
46524         * modules/unicase/u32-totitle-tests: Likewise.
46525         * modules/unicase/u32-toupper-tests: Likewise.
46526         * modules/unicase/ulc-casecmp-tests: Likewise.
46527         * modules/unicase/ulc-casecoll-tests: Likewise.
46528         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
46529         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
46530         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
46531         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
46532         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
46533         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
46534         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
46535         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
46536         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
46537         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
46538         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
46539         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
46540         * modules/unictype/bidicategory-byname-tests: Likewise.
46541         * modules/unictype/bidicategory-name-tests: Likewise.
46542         * modules/unictype/bidicategory-of-tests: Likewise.
46543         * modules/unictype/bidicategory-test-tests: Likewise.
46544         * modules/unictype/block-list-tests: Likewise.
46545         * modules/unictype/block-of-tests: Likewise.
46546         * modules/unictype/block-test-tests: Likewise.
46547         * modules/unictype/category-C-tests: Likewise.
46548         * modules/unictype/category-Cc-tests: Likewise.
46549         * modules/unictype/category-Cf-tests: Likewise.
46550         * modules/unictype/category-Cn-tests: Likewise.
46551         * modules/unictype/category-Co-tests: Likewise.
46552         * modules/unictype/category-Cs-tests: Likewise.
46553         * modules/unictype/category-L-tests: Likewise.
46554         * modules/unictype/category-Ll-tests: Likewise.
46555         * modules/unictype/category-Lm-tests: Likewise.
46556         * modules/unictype/category-Lo-tests: Likewise.
46557         * modules/unictype/category-Lt-tests: Likewise.
46558         * modules/unictype/category-Lu-tests: Likewise.
46559         * modules/unictype/category-M-tests: Likewise.
46560         * modules/unictype/category-Mc-tests: Likewise.
46561         * modules/unictype/category-Me-tests: Likewise.
46562         * modules/unictype/category-Mn-tests: Likewise.
46563         * modules/unictype/category-N-tests: Likewise.
46564         * modules/unictype/category-Nd-tests: Likewise.
46565         * modules/unictype/category-Nl-tests: Likewise.
46566         * modules/unictype/category-No-tests: Likewise.
46567         * modules/unictype/category-P-tests: Likewise.
46568         * modules/unictype/category-Pc-tests: Likewise.
46569         * modules/unictype/category-Pd-tests: Likewise.
46570         * modules/unictype/category-Pe-tests: Likewise.
46571         * modules/unictype/category-Pf-tests: Likewise.
46572         * modules/unictype/category-Pi-tests: Likewise.
46573         * modules/unictype/category-Po-tests: Likewise.
46574         * modules/unictype/category-Ps-tests: Likewise.
46575         * modules/unictype/category-S-tests: Likewise.
46576         * modules/unictype/category-Sc-tests: Likewise.
46577         * modules/unictype/category-Sk-tests: Likewise.
46578         * modules/unictype/category-Sm-tests: Likewise.
46579         * modules/unictype/category-So-tests: Likewise.
46580         * modules/unictype/category-Z-tests: Likewise.
46581         * modules/unictype/category-Zl-tests: Likewise.
46582         * modules/unictype/category-Zp-tests: Likewise.
46583         * modules/unictype/category-Zs-tests: Likewise.
46584         * modules/unictype/category-and-not-tests: Likewise.
46585         * modules/unictype/category-and-tests: Likewise.
46586         * modules/unictype/category-byname-tests: Likewise.
46587         * modules/unictype/category-name-tests: Likewise.
46588         * modules/unictype/category-none-tests: Likewise.
46589         * modules/unictype/category-of-tests: Likewise.
46590         * modules/unictype/category-or-tests: Likewise.
46591         * modules/unictype/category-test-withtable-tests: Likewise.
46592         * modules/unictype/combining-class-tests: Likewise.
46593         * modules/unictype/ctype-alnum-tests: Likewise.
46594         * modules/unictype/ctype-alpha-tests: Likewise.
46595         * modules/unictype/ctype-blank-tests: Likewise.
46596         * modules/unictype/ctype-cntrl-tests: Likewise.
46597         * modules/unictype/ctype-digit-tests: Likewise.
46598         * modules/unictype/ctype-graph-tests: Likewise.
46599         * modules/unictype/ctype-lower-tests: Likewise.
46600         * modules/unictype/ctype-print-tests: Likewise.
46601         * modules/unictype/ctype-punct-tests: Likewise.
46602         * modules/unictype/ctype-space-tests: Likewise.
46603         * modules/unictype/ctype-upper-tests: Likewise.
46604         * modules/unictype/ctype-xdigit-tests: Likewise.
46605         * modules/unictype/decimal-digit-tests: Likewise.
46606         * modules/unictype/digit-tests: Likewise.
46607         * modules/unictype/mirror-tests: Likewise.
46608         * modules/unictype/numeric-tests: Likewise.
46609         * modules/unictype/property-alphabetic-tests: Likewise.
46610         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
46611         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
46612         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
46613         * modules/unictype/property-bidi-block-separator-tests: Likewise.
46614         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
46615         * modules/unictype/property-bidi-common-separator-tests: Likewise.
46616         * modules/unictype/property-bidi-control-tests: Likewise.
46617         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
46618         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
46619         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
46620         * modules/unictype/property-bidi-european-digit-tests: Likewise.
46621         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
46622         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
46623         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
46624         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
46625         * modules/unictype/property-bidi-pdf-tests: Likewise.
46626         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
46627         * modules/unictype/property-bidi-whitespace-tests: Likewise.
46628         * modules/unictype/property-byname-tests: Likewise.
46629         * modules/unictype/property-combining-tests: Likewise.
46630         * modules/unictype/property-composite-tests: Likewise.
46631         * modules/unictype/property-currency-symbol-tests: Likewise.
46632         * modules/unictype/property-dash-tests: Likewise.
46633         * modules/unictype/property-decimal-digit-tests: Likewise.
46634         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
46635         * modules/unictype/property-deprecated-tests: Likewise.
46636         * modules/unictype/property-diacritic-tests: Likewise.
46637         * modules/unictype/property-extender-tests: Likewise.
46638         * modules/unictype/property-format-control-tests: Likewise.
46639         * modules/unictype/property-grapheme-base-tests: Likewise.
46640         * modules/unictype/property-grapheme-extend-tests: Likewise.
46641         * modules/unictype/property-grapheme-link-tests: Likewise.
46642         * modules/unictype/property-hex-digit-tests: Likewise.
46643         * modules/unictype/property-hyphen-tests: Likewise.
46644         * modules/unictype/property-id-continue-tests: Likewise.
46645         * modules/unictype/property-id-start-tests: Likewise.
46646         * modules/unictype/property-ideographic-tests: Likewise.
46647         * modules/unictype/property-ids-binary-operator-tests: Likewise.
46648         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
46649         * modules/unictype/property-ignorable-control-tests: Likewise.
46650         * modules/unictype/property-iso-control-tests: Likewise.
46651         * modules/unictype/property-join-control-tests: Likewise.
46652         * modules/unictype/property-left-of-pair-tests: Likewise.
46653         * modules/unictype/property-line-separator-tests: Likewise.
46654         * modules/unictype/property-logical-order-exception-tests: Likewise.
46655         * modules/unictype/property-lowercase-tests: Likewise.
46656         * modules/unictype/property-math-tests: Likewise.
46657         * modules/unictype/property-non-break-tests: Likewise.
46658         * modules/unictype/property-not-a-character-tests: Likewise.
46659         * modules/unictype/property-numeric-tests: Likewise.
46660         * modules/unictype/property-other-alphabetic-tests: Likewise.
46661         * modules/unictype/property-other-default-ignorable-code-point-tests:
46662         Likewise.
46663         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
46664         * modules/unictype/property-other-id-continue-tests: Likewise.
46665         * modules/unictype/property-other-id-start-tests: Likewise.
46666         * modules/unictype/property-other-lowercase-tests: Likewise.
46667         * modules/unictype/property-other-math-tests: Likewise.
46668         * modules/unictype/property-other-uppercase-tests: Likewise.
46669         * modules/unictype/property-paired-punctuation-tests: Likewise.
46670         * modules/unictype/property-paragraph-separator-tests: Likewise.
46671         * modules/unictype/property-pattern-syntax-tests: Likewise.
46672         * modules/unictype/property-pattern-white-space-tests: Likewise.
46673         * modules/unictype/property-private-use-tests: Likewise.
46674         * modules/unictype/property-punctuation-tests: Likewise.
46675         * modules/unictype/property-quotation-mark-tests: Likewise.
46676         * modules/unictype/property-radical-tests: Likewise.
46677         * modules/unictype/property-sentence-terminal-tests: Likewise.
46678         * modules/unictype/property-soft-dotted-tests: Likewise.
46679         * modules/unictype/property-space-tests: Likewise.
46680         * modules/unictype/property-terminal-punctuation-tests: Likewise.
46681         * modules/unictype/property-test-tests: Likewise.
46682         * modules/unictype/property-titlecase-tests: Likewise.
46683         * modules/unictype/property-unassigned-code-value-tests: Likewise.
46684         * modules/unictype/property-unified-ideograph-tests: Likewise.
46685         * modules/unictype/property-uppercase-tests: Likewise.
46686         * modules/unictype/property-variation-selector-tests: Likewise.
46687         * modules/unictype/property-white-space-tests: Likewise.
46688         * modules/unictype/property-xid-continue-tests: Likewise.
46689         * modules/unictype/property-xid-start-tests: Likewise.
46690         * modules/unictype/property-zero-width-tests: Likewise.
46691         * modules/unictype/scripts-tests: Likewise.
46692         * modules/unictype/syntax-c-ident-tests: Likewise.
46693         * modules/unictype/syntax-c-whitespace-tests: Likewise.
46694         * modules/unictype/syntax-java-ident-tests: Likewise.
46695         * modules/unictype/syntax-java-whitespace-tests: Likewise.
46696         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
46697         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
46698         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
46699         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
46700         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
46701         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
46702         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
46703         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
46704         * modules/uniname/uniname-tests: Likewise.
46705         * modules/uninorm/canonical-decomposition-tests: Likewise.
46706         * modules/uninorm/compat-decomposition-tests: Likewise.
46707         * modules/uninorm/composition-tests: Likewise.
46708         * modules/uninorm/decomposing-form-tests: Likewise.
46709         * modules/uninorm/decomposition-tests: Likewise.
46710         * modules/uninorm/filter-tests: Likewise.
46711         * modules/uninorm/nfc-tests: Likewise.
46712         * modules/uninorm/nfd-tests: Likewise.
46713         * modules/uninorm/nfkc-tests: Likewise.
46714         * modules/uninorm/nfkd-tests: Likewise.
46715         * modules/uninorm/u8-normcmp-tests: Likewise.
46716         * modules/uninorm/u8-normcoll-tests: Likewise.
46717         * modules/uninorm/u16-normcmp-tests: Likewise.
46718         * modules/uninorm/u16-normcoll-tests: Likewise.
46719         * modules/uninorm/u32-normcmp-tests: Likewise.
46720         * modules/uninorm/u32-normcoll-tests: Likewise.
46721         * modules/unistdio/u8-asnprintf-tests: Likewise.
46722         * modules/unistdio/u8-vasnprintf-tests: Likewise.
46723         * modules/unistdio/u8-vasprintf-tests: Likewise.
46724         * modules/unistdio/u8-vsnprintf-tests: Likewise.
46725         * modules/unistdio/u8-vsprintf-tests: Likewise.
46726         * modules/unistdio/u16-asnprintf-tests: Likewise.
46727         * modules/unistdio/u16-vasnprintf-tests: Likewise.
46728         * modules/unistdio/u16-vasprintf-tests: Likewise.
46729         * modules/unistdio/u16-vsnprintf-tests: Likewise.
46730         * modules/unistdio/u16-vsprintf-tests: Likewise.
46731         * modules/unistdio/u32-asnprintf-tests: Likewise.
46732         * modules/unistdio/u32-vasnprintf-tests: Likewise.
46733         * modules/unistdio/u32-vasprintf-tests: Likewise.
46734         * modules/unistdio/u32-vsnprintf-tests: Likewise.
46735         * modules/unistdio/u32-vsprintf-tests: Likewise.
46736         * modules/unistdio/ulc-asnprintf-tests: Likewise.
46737         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
46738         * modules/unistdio/ulc-vasprintf-tests: Likewise.
46739         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
46740         * modules/unistdio/ulc-vsprintf-tests: Likewise.
46741         * modules/unistr/u8-check-tests: Likewise.
46742         * modules/unistr/u8-chr-tests: Likewise.
46743         * modules/unistr/u8-cmp-tests: Likewise.
46744         * modules/unistr/u8-cmp2-tests: Likewise.
46745         * modules/unistr/u8-cpy-alloc-tests: Likewise.
46746         * modules/unistr/u8-cpy-tests: Likewise.
46747         * modules/unistr/u8-mblen-tests: Likewise.
46748         * modules/unistr/u8-mbsnlen-tests: Likewise.
46749         * modules/unistr/u8-mbtouc-tests: Likewise.
46750         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
46751         * modules/unistr/u8-mbtoucr-tests: Likewise.
46752         * modules/unistr/u8-move-tests: Likewise.
46753         * modules/unistr/u8-next-tests: Likewise.
46754         * modules/unistr/u8-prev-tests: Likewise.
46755         * modules/unistr/u8-set-tests: Likewise.
46756         * modules/unistr/u8-stpcpy-tests: Likewise.
46757         * modules/unistr/u8-stpncpy-tests: Likewise.
46758         * modules/unistr/u8-strcat-tests: Likewise.
46759         * modules/unistr/u8-strcmp-tests: Likewise.
46760         * modules/unistr/u8-strcoll-tests: Likewise.
46761         * modules/unistr/u8-strcpy-tests: Likewise.
46762         * modules/unistr/u8-strdup-tests: Likewise.
46763         * modules/unistr/u8-strlen-tests: Likewise.
46764         * modules/unistr/u8-strmblen-tests: Likewise.
46765         * modules/unistr/u8-strmbtouc-tests: Likewise.
46766         * modules/unistr/u8-strncat-tests: Likewise.
46767         * modules/unistr/u8-strncmp-tests: Likewise.
46768         * modules/unistr/u8-strncpy-tests: Likewise.
46769         * modules/unistr/u8-strnlen-tests: Likewise.
46770         * modules/unistr/u8-to-u16-tests: Likewise.
46771         * modules/unistr/u8-to-u32-tests: Likewise.
46772         * modules/unistr/u8-uctomb-tests: Likewise.
46773         * modules/unistr/u16-check-tests: Likewise.
46774         * modules/unistr/u16-chr-tests: Likewise.
46775         * modules/unistr/u16-cmp-tests: Likewise.
46776         * modules/unistr/u16-cmp2-tests: Likewise.
46777         * modules/unistr/u16-cpy-alloc-tests: Likewise.
46778         * modules/unistr/u16-cpy-tests: Likewise.
46779         * modules/unistr/u16-mblen-tests: Likewise.
46780         * modules/unistr/u16-mbsnlen-tests: Likewise.
46781         * modules/unistr/u16-mbtouc-tests: Likewise.
46782         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
46783         * modules/unistr/u16-mbtoucr-tests: Likewise.
46784         * modules/unistr/u16-move-tests: Likewise.
46785         * modules/unistr/u16-next-tests: Likewise.
46786         * modules/unistr/u16-prev-tests: Likewise.
46787         * modules/unistr/u16-set-tests: Likewise.
46788         * modules/unistr/u16-stpcpy-tests: Likewise.
46789         * modules/unistr/u16-stpncpy-tests: Likewise.
46790         * modules/unistr/u16-strcat-tests: Likewise.
46791         * modules/unistr/u16-strcmp-tests: Likewise.
46792         * modules/unistr/u16-strcoll-tests: Likewise.
46793         * modules/unistr/u16-strcpy-tests: Likewise.
46794         * modules/unistr/u16-strdup-tests: Likewise.
46795         * modules/unistr/u16-strlen-tests: Likewise.
46796         * modules/unistr/u16-strmblen-tests: Likewise.
46797         * modules/unistr/u16-strmbtouc-tests: Likewise.
46798         * modules/unistr/u16-strncat-tests: Likewise.
46799         * modules/unistr/u16-strncmp-tests: Likewise.
46800         * modules/unistr/u16-strncpy-tests: Likewise.
46801         * modules/unistr/u16-strnlen-tests: Likewise.
46802         * modules/unistr/u16-to-u32-tests: Likewise.
46803         * modules/unistr/u16-to-u8-tests: Likewise.
46804         * modules/unistr/u16-uctomb-tests: Likewise.
46805         * modules/unistr/u32-check-tests: Likewise.
46806         * modules/unistr/u32-chr-tests: Likewise.
46807         * modules/unistr/u32-cmp-tests: Likewise.
46808         * modules/unistr/u32-cmp2-tests: Likewise.
46809         * modules/unistr/u32-cpy-alloc-tests: Likewise.
46810         * modules/unistr/u32-cpy-tests: Likewise.
46811         * modules/unistr/u32-mblen-tests: Likewise.
46812         * modules/unistr/u32-mbsnlen-tests: Likewise.
46813         * modules/unistr/u32-mbtouc-tests: Likewise.
46814         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
46815         * modules/unistr/u32-mbtoucr-tests: Likewise.
46816         * modules/unistr/u32-move-tests: Likewise.
46817         * modules/unistr/u32-next-tests: Likewise.
46818         * modules/unistr/u32-prev-tests: Likewise.
46819         * modules/unistr/u32-set-tests: Likewise.
46820         * modules/unistr/u32-stpcpy-tests: Likewise.
46821         * modules/unistr/u32-stpncpy-tests: Likewise.
46822         * modules/unistr/u32-strcat-tests: Likewise.
46823         * modules/unistr/u32-strcmp-tests: Likewise.
46824         * modules/unistr/u32-strcoll-tests: Likewise.
46825         * modules/unistr/u32-strcpy-tests: Likewise.
46826         * modules/unistr/u32-strdup-tests: Likewise.
46827         * modules/unistr/u32-strlen-tests: Likewise.
46828         * modules/unistr/u32-strmblen-tests: Likewise.
46829         * modules/unistr/u32-strmbtouc-tests: Likewise.
46830         * modules/unistr/u32-strncat-tests: Likewise.
46831         * modules/unistr/u32-strncmp-tests: Likewise.
46832         * modules/unistr/u32-strncpy-tests: Likewise.
46833         * modules/unistr/u32-strnlen-tests: Likewise.
46834         * modules/unistr/u32-to-u16-tests: Likewise.
46835         * modules/unistr/u32-to-u8-tests: Likewise.
46836         * modules/unistr/u32-uctomb-tests: Likewise.
46837         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
46838         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
46839         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
46840         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
46841         * modules/uniwidth/u8-strwidth-tests: Likewise.
46842         * modules/uniwidth/u8-width-tests: Likewise.
46843         * modules/uniwidth/u16-strwidth-tests: Likewise.
46844         * modules/uniwidth/u16-width-tests: Likewise.
46845         * modules/uniwidth/u32-strwidth-tests: Likewise.
46846         * modules/uniwidth/u32-width-tests: Likewise.
46847         * modules/uniwidth/width-tests: Likewise.
46849 2010-05-18  Richard Jones  <rjones@redhat.com>
46851         doc: users.txt: list hivex
46852         * users.txt: Add hivex.
46854 2010-05-18  Richard Jones  <rjones@redhat.com>
46856         doc: users.txt: list febootstrap
46857         * users.txt: Add febootstrap.
46859 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
46861         bootstrap: fix an error when gnulib is not used as a git submodule
46862         * build-aux/bootstrap (gnulib_path): If its length is zero then
46863         assign "gnulib" to it.
46864         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
46866 2010-05-16  Bruno Haible  <bruno@clisp.org>
46868         Avoid autoconf warnings about AM_ICONV.
46869         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
46870         2.64.
46872 2010-05-16  Bruno Haible  <bruno@clisp.org>
46874         absolute-header: Make the macro usable in more situations.
46875         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
46876         from gl_ABSOLUTE_HEADER.
46877         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
46879 2010-05-16  James Youngman  <jay@gnu.org>
46881         doc: update users.txt
46882         * users.txt: Add CSSC.
46884 2010-05-16  Jim Meyering  <meyering@redhat.com>
46886         init.sh: fix an error in the previous change; add more comments
46887         * tests/init.sh: Compare exit code in loop against 9, not 2.
46888         Patch by Bruno Haible.
46889         Make the two tests more similar by adding an empty "then" clause.
46890         Add comments.
46892         init.sh: avoid unnecessary shell re-exec
46893         * tests/init.sh: Improve the re-exec-required check to first test the
46894         current shell.  If it passes the test, do not search for a shell that
46895         does pass, and do not re-exec.  This test is particularly contorted to
46896         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
46897         of $(...) evokes a syntax error and causes immediate shell exit with
46898         status 2.  Bruno Haible reported that the re-exec made it impossible
46899         to single-step through any init.sh-using script.
46901 2010-05-16  Bruno Haible  <bruno@clisp.org>
46903         Fix collision between gnulib's and libintl's printf replacements.
46904         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
46905         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
46906         (printf): When using GNU C, map the __printf__ function to rpl_printf
46907         via __asm__. When not using GNU C, define rpl_printf instead of
46908         __printf__.
46909         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
46910         commit.
46911         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
46912         commit.
46913         * m4/asm-underscore.m4: New file.
46914         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
46915         * modules/stdio (Files): Add m4/asm-underscore.m4.
46916         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
46917         Reported by Ben Pfaff.
46919 2010-05-16  Bruno Haible  <bruno@clisp.org>
46921         verify: Avoid skipping the test on openSUSE 11.0.
46922         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
46924 2010-05-13  Bruno Haible  <bruno@clisp.org>
46926         Avoid useless warnings from G++.
46927         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
46928         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
46929         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
46931 2010-05-11  Jim Meyering  <meyering@redhat.com>
46933         maint.mk: tweak preceding change
46934         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
46935         regexps tighter by anchoring at EOL, and make the new group "shy"
46936         for slightly decreased overhead.
46938 2010-05-11  Eric Blake  <eblake@redhat.com>
46940         maint.mk: gnulib doesn't guarantee NSIG
46941         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
46943 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
46945         test-pwrite.c: Remove unused variable declaration.
46946         * tests/test-pwrite.c (main): Remove read_buf declaration.
46948         Remove useless test-pwrite.sh file.
46949         * tests/test-pwrite.sh: Delete file.
46950         * modules/pwrite-tests: Remove references.
46951         Reported by Bruno Haible.
46953 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
46955         init.sh: fix a typo
46956         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
46958 2010-05-10  Jim Meyering  <meyering@redhat.com>
46960         maint.mk: avoid using a temporary file in the always-defined-macros check
46961         * top/maint.mk (.re-defmac): Remove rule.
46962         (gl_trap_): Remove definition.
46963         (sc_prohibit_always-defined_macros): Rewrite not to create and
46964         depend on a temporary file.  Instead, depend on GNU grep's ability
46965         to read a list of regular expressions from stdin when given "-f -".
46967 2010-05-09  Bruno Haible  <bruno@clisp.org>
46969         Update to GNU gettext 0.18, part 1.
46970         * m4/gettext.m4: Update to GNU gettext 0.18.
46971         * m4/intl.m4: Likewise.
46972         * m4/po.m4: Likewise.
46973         * modules/gettext (Files): Add m4/fcntl-o.m4.
46974         (configure.ac): Require gettext infrastructure from version 0.18.
46976 2010-05-09  Jim Meyering  <meyering@redhat.com>
46978         init.sh: enable MALLOC_PERTURB_
46979         * tests/init.sh: Enable glibc's malloc-perturbing option.
46981         maint.mk: improve sc_cross_check_PATH_usage_in_tests
46982         With my recent change in init.sh from the two-line form:
46983             -#   : ${srcdir=.}
46984             -#   . "$srcdir/init.sh"; path_prepend_ .
46985             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
46986         I noticed that using the one-line form would cause this test
46987         to fail with a false-positive, or to stop working altogether,
46988         depending on whether help-version changed or all the tests did.
46989         * top/maint.mk (_hv_regex): Remove this definition.
46990         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
46991         (_hv_regex_strong): Use a stronger regex to check for conformance.
46992         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
46993         Give a separate diagnostic for lack of conforming use.
46995         maint.mk: prohibit definition of symbols defined by gnulib
46996         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
46997         definition of symbols defined by gnulib.
46999 2010-05-09  Bruno Haible  <bruno@clisp.org>
47001         acl: Avoid test failure on Cygwin-hosted mingw.
47002         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
47004 2010-05-09  Bruno Haible  <bruno@clisp.org>
47006         error: Use system's fcntl function.
47007         * lib/error.c (fcntl): Undefine.
47009 2010-05-09  Jim Meyering  <meyering@redhat.com>
47011         verify: adjust formatting to be more consistent
47012         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
47013         argument-list '('s, and after one comma.
47015 2010-05-09  Bruno Haible  <bruno@clisp.org>
47017         error: More reliable output on mingw.
47018         * lib/error.c: Include <windows.h>.
47019         (is_open): New function.
47020         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
47021         defined.
47023 2010-05-09  Bruno Haible  <bruno@clisp.org>
47025         vasnprintf: Fix syntax errors in libintl build on mingw.
47026         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
47027         pad_ourselves and prec_ourselves after use.
47029 2010-05-08  Bruno Haible  <bruno@clisp.org>
47031         * lib/config.charset: Update comments for Cygwin 1.7.
47032         * lib/localcharset.c: Likewise.
47034 2010-05-07  Jim Meyering  <meyering@redhat.com>
47036         init.sh: improve comments
47037         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
47038         . "${srcdir=.}/init.sh"; path_prepend_ .
47039         Add a note about path_prepend_ and the alternative of using
47040         TESTS_ENVIRONMENT.
47042 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
47044         exclude: Unescape hashed patterns in wildcard mode.
47045         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
47046         to the hash list.
47047         * tests/test-exclude8.sh: New test case.
47048         * modules/exclude-tests: Add new test.
47050 2010-05-05  Eric Blake  <eblake@redhat.com>
47052         verify: automate tests
47053         * modules/verify-tests: New module.
47054         * tests/test-verify.sh: New file.
47055         * tests/test-verify.c: Guard each negative test with a unique id.
47056         Also avoid warning about unused left hand of comma expressions.
47058 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
47060         Further improvements to verify.h, suggested by Eric Blake.
47061         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
47062         the GL_* versions, to avoid collision with OpenGL.
47063         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
47064         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
47065         than testing merely whether it's defined.
47067         Modify verify.h to pacify gcc -Wredundant_decls.
47068         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
47069         These use the prefix "GL_" since they're likely to be useful elsewhere.
47070         We may need to break them out into a different .h file.
47071         (__COUNTER__): Define to 0 if the compiler doesn't support it.
47072         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
47073         of verify_function__.
47075 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
47077         Tests for module pwrite.
47078         * modules/pwrite-tests: New file.
47079         * tests/test-pwrite.sh: New file.
47080         * tests/test-pwrite.c: New file.
47082         New module pwrite.
47083         * lib/unistd.in.h (pwrite): New declaration.
47084         * lib/pwrite.c: New file, from glibc with modifications.
47085         * m4/pwrite.m4: New file.
47086         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
47087         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
47088         REPLACE_PWRITE.
47089         * modules/pwrite: New file.
47090         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
47091         REPLACE_PWRITE.
47092         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
47093         * doc/posix-functions/pwrite.texi: Mention the new module.
47095 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
47097         pread: Update documentation.
47098         * doc/posix-functions/pread.texi: Mention the 'pread' module.
47100 2010-05-04  Eric Blake  <eblake@redhat.com>
47102         docs: update cygwin progress
47103         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
47104         this bug.
47105         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
47106         Added in cygwin 1.7.2.
47107         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
47108         Likewise.
47109         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
47110         Likewise.
47111         * doc/glibc-functions/dup3.texi (dup3): Likewise.
47112         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
47113         * doc/glibc-functions/accept4.texi (accept4): Likewise.
47114         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
47115         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
47116         Mention nproc module.
47117         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
47118         bug in cygwin 1.7.5 addition.
47119         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
47120         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
47121         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
47122         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
47123         1.7.5.
47124         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
47125         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
47126         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
47127         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
47128         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
47129         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
47130         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
47131         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
47132         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
47133         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
47134         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
47135         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
47136         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
47137         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
47138         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
47139         Likewise.
47140         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
47141         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
47142         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
47143         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
47144         Likewise.
47145         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
47146         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
47147         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
47148         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
47149         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
47150         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
47151         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
47152         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
47153         Likewise.
47154         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
47155         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
47156         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
47157         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
47158         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
47159         Likewise.
47160         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
47161         Likewise.
47162         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
47163         Likewise.
47164         * doc/glibc-functions/xdrrec_endofrecord.texi
47165         (xdrrec_endofrecord): Likewise.
47166         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
47167         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
47168         Likewise.
47169         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
47170         Likewise.
47172 2010-05-04  Jim Meyering  <meyering@redhat.com>
47174         gendocs.sh: make its "-s FILE" option more useful
47175         * build-aux/gendocs.sh: When honoring the -s FILE option, update
47176         $PACKAGE to reflect the probably-different basename of "FILE".
47178 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
47180         bootstrap: don't ignore download_po_files failure
47181         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
47182         failure.
47184 2010-05-03  Jim Meyering  <meyering@redhat.com>
47186         maint.mk: allow to pass options to gendocs.sh
47187         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
47188         (gendocs_options_): New overridable variable.
47190         gnu-web-doc-update: don't ignore configure or build failure
47191         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
47193         announce-gen: backslash-escape '@'s in --help output
47194         * build-aux/announce-gen: Fix syntax errors.
47196         maint.mk, announce-gen: allow project-specific announcement mail headers
47197         * top/maint.mk (translation_project_): Define default.
47198         (announcement_Cc_, announcement_mail_headers_): Likewise.
47199         (announcement): Invoke announce-gen with new --mail-headers option.
47200         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
47202         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
47203         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
47204         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
47205         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
47206         line in the "err2" output file when running "make check" in verbose
47207         mode (i.e., with set -x enabled).
47209 2010-05-03  Bruno Haible  <bruno@clisp.org>
47211         wctob: Fix for weird platforms.
47212         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
47213         argument value.
47215 2010-05-03  Jim Meyering  <meyering@redhat.com>
47217         maint.mk: prohibit unwarranted use of <strings.h>
47218         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
47219         strings.h in a file that does not also use strcasecmp, strncasecmp,
47220         ffs or ffsll.
47222         maint.mk: remove obsolete comments
47223         * top/maint.mk: Remove stale, commented-out rules.
47225 2010-05-02  Bruno Haible  <bruno@clisp.org>
47227         wcwidth: Declare also when it's aliased.
47228         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
47229         macro.
47231 2010-05-02  Bruno Haible  <bruno@clisp.org>
47233         Fix regression from 2010-04-25.
47234         * gnulib-tool (func_modules_transitive_closure): Check the status of
47235         all modules, not only of the tests that are of the form foo-tests where
47236         foo is a module.
47238 2010-05-02  Bruno Haible  <bruno@clisp.org>
47240         wctob: Work around nasty Cygwin 1.7.2 bug.
47241         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
47242         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
47244 2010-05-01  Bruno Haible  <bruno@clisp.org>
47246         fpurge: Sharper test.
47247         * tests/test-fpurge.c (main): Add one more ftell check.
47248         * modules/fpurge-tests (Depends-on): Add ftell.
47249         Suggested by Eric Blake.
47251 2010-05-01  Bruno Haible  <bruno@clisp.org>
47253         ftello: Another test.
47254         * tests/test-ftello3.c: New file.
47255         * modules/ftello-tests (Files): Add it.
47256         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
47257         MOSTLYCLEANFILES.
47259         ftell: Another test.
47260         * tests/test-ftell3.c: New file.
47261         * modules/ftell-tests (Files): Add it.
47262         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
47263         MOSTLYCLEANFILES.
47265 2010-05-01  Bruno Haible  <bruno@clisp.org>
47267         ftell, ftello: Work around Solaris bug.
47268         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
47269         * lib/ftello.c: Include stdio-impl.h.
47270         (ftello): On Solaris, when _IOWRT is set, compute the result without
47271         looking at _IOREAD.
47272         * modules/ftello (Files): Add lib/stdio-impl.h.
47273         * doc/posix-functions/ftell.texi: Mention Solaris bug.
47274         * doc/posix-functions/ftello.texi: Likewise.
47275         Reported by Eric Blake.
47277 2010-05-01  Bruno Haible  <bruno@clisp.org>
47279         freading: Adapt to special meaning of _IOREAD flag on Solaris.
47280         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
47281         the _IOWRT flag is also set.
47283 2010-05-01  Bruno Haible  <bruno@clisp.org>
47285         Fix doc about a HP-UX stdio bug.
47286         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
47287         * doc/posix-functions/ftello.texi: Likewise.
47289 2010-05-01  Bruno Haible  <bruno@clisp.org>
47291         lseek test: Fix failure on Solaris.
47292         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
47293         output.
47295 2010-04-30  Jim Meyering  <meyering@redhat.com>
47297         bootstrap: don't ignore failure to generate po*/Makevars
47298         * build-aux/bootstrap (with_gettext): Don't ignore failure
47299         to create po/Makevars or runtime-po/Makevars.
47301 2010-04-29  Eric Blake  <eblake@redhat.com>
47303         headers: relax license to LGPLv2+
47304         * modules/fcntl-h (License): Relax license.
47305         * modules/getopt-posix (License): Likewise.
47306         * modules/locale (License): Likewise.
47307         * modules/math (License): Likewise.
47308         * modules/pty (License): Likewise.
47309         * modules/sched (License): Likewise.
47310         * modules/search (License): Likewise.
47311         * modules/spawn (License): Likewise.
47312         * modules/stdarg (License): Likewise.
47313         * modules/sysexits (License): Likewise.
47315 2010-04-29  Jim Meyering  <meyering@redhat.com>
47317         inttypes: relax license to LGPLv2+
47318         * modules/inttypes (License): Relax license.
47320 2010-04-29  Simon Josefsson  <simon@josefsson.org>
47322         * top/maint.mk (indent): Run twice to produce idempotent results.
47324 2010-04-28  Bruno Haible  <bruno@clisp.org>
47326         getdate: Generate getdate.c in the source directory.
47327         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
47328         MOSTLYCLEANFILES.
47329         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
47331 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
47333         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
47334         is not declared as a const *; avoid warnings in that case.
47336 2010-04-28  Eric Blake  <eblake@redhat.com>
47338         canonicalize-lgpl: avoid compiler warning
47339         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
47340         declaration' / 'extraneous semicolon' warning with some compilers.
47341         Reported by Andreas Gruenbacher.
47343 2010-04-28  Jim Meyering  <meyering@redhat.com>
47345         init.sh: ensure a more reliable exit status when exiting via trap
47346         * tests/init.sh (setup_): Don't rely on $? in signal handler.
47347         Inspired by patches from Dmitry V. Levin.
47348         Also trap on signal 3 (SIGQUIT).
47350 2010-04-27  Bruno Haible  <bruno@clisp.org>
47352         Update doc about utimes().
47353         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
47354         'utimens' module.
47355         Reported by Andreas Gruenbacher <agruen@suse.de>.
47357 2010-04-27  Eric Blake  <eblake@redhat.com>
47359         full-read, full-write: relax license
47360         * modules/full-read (License): Drop to LGPLv2+.
47361         * modules/full-write (License): Likewise.
47362         * modules/safe-read (License): Likewise.
47363         * modules/safe-write (License): Likewise.
47365         pthread: mention library for linking
47366         * modules/pthread (Link): Mention $(LIB_PTHREAD).
47368 2010-04-27  Jim Meyering  <meyering@redhat.com>
47370         maint.mk: fix a bug introduced in last change
47371         * top/maint.mk (gl_assured_headers_): Now that all names are on
47372         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
47373         is not anchored to end of word, it should be adequate.
47375         maint.mk: avoid side-effect in latest syntax-check
47376         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
47377         to run commands via $(shell...), and hence to incur cost only when
47378         the new rule is actually run.
47380         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
47381         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
47382         and use that to create a regexp used to detect all #if HAVE_..._H uses.
47383         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
47384         (gl_assured_headers_, az_, AZ_): Define.
47385         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
47387 2010-04-26  Jim Meyering  <jim@meyering.net>
47388             Bruno Haible  <bruno@clisp.org>
47390         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
47391         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
47392         Prompted by an exchange with Gilles Espinasse.
47394 2010-04-26  Jim Meyering  <meyering@redhat.com>
47396         git-version-gen: aesthetic tweak
47397         * build-aux/git-version-gen: Use "$nl" rather than a literal,
47398         so that the command remains on a single line.
47400 2010-04-26  Eric Blake  <eblake@redhat.com>
47402         git-version-gen: allow use on EBCDIC hosts
47403         * build-aux/git-version-gen (dirty): Use literal rather than tying
47404         ourselves to ascii.
47405         Reported by Steve Goetze.
47407 2010-04-25  Bruno Haible  <bruno@clisp.org>
47409         netdb: Add support for GNULIB_POSIXCHECK.
47410         * lib/netdb.in.h: Include warn-on-use.h.
47411         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
47412         functions are used when GNULIB_POSIXCHECK is defined and the
47413         getaddrinfo module is not in use.
47414         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
47415         freeaddrinfo, gai_strerror, getnameinfo are declared.
47416         * modules/netdb (Depends-on): Add warn-on-use.
47417         (Makefile.am): Include warn-on-use.h in netdb.h.
47419 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
47421         build: avoid "make check" failure without .git/ directory
47422         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
47423         there is no .git/ directory.
47425 2010-04-25  Bruno Haible  <bruno@clisp.org>
47427         ptsname: Fix misuse of ttyname_r.
47428         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
47429         of errno.
47431 2010-04-25  Bruno Haible  <bruno@clisp.org>
47433         ttyname_r: Make it work on Solaris 10.
47434         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
47435         if the system function has the POSIX declaration. Test whether the
47436         function fails if the buffer is less than 128 bytes large.
47437         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
47438         system's ttyname_r function. Provide a reasonably large buffer.
47439         * modules/ttyname_r (Depends-on): Add extensions.
47440         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
47442 2010-04-25  Bruno Haible  <bruno@clisp.org>
47444         Use the 'extensions' module for some more functions on Solaris.
47445         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
47446         module.
47447         * doc/posix-functions/ctime_r.texi: Likewise.
47448         * doc/posix-functions/getgrgid_r.texi: Likewise.
47449         * doc/posix-functions/getgrnam_r.texi: Likewise.
47450         * doc/posix-functions/getpwnam_r.texi: Likewise.
47451         * doc/posix-functions/getpwuid_r.texi: Likewise.
47452         * doc/posix-functions/readdir_r.texi: Likewise.
47453         * doc/posix-functions/sigwait.texi: Likewise.
47454         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
47455         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
47457 2010-04-25  Bruno Haible  <bruno@clisp.org>
47459         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
47460         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
47461         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
47462         * lib/ttyname_r.c: Include <limits.h>.
47463         (ttyname_r): Define using the system's ttyname_r function, if it exists
47464         and not on Solaris.
47465         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
47466         set.
47467         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
47468         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
47469         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
47470         Reported by Simon Josefsson.
47472 2010-04-25  Bruno Haible  <bruno@clisp.org>
47474         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
47475         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
47476         * doc/posix-functions/ctime_r.texi: Likewise.
47477         * doc/posix-functions/getgrgid_r.texi: Likewise.
47478         * doc/posix-functions/getgrnam_r.texi: Likewise.
47479         * doc/posix-functions/getlogin_r.texi: Likewise.
47480         * doc/posix-functions/getpwnam_r.texi: Likewise.
47481         * doc/posix-functions/getpwuid_r.texi: Likewise.
47482         * doc/posix-functions/readdir_r.texi: Likewise.
47483         * doc/posix-functions/sigwait.texi: Likewise.
47484         * doc/posix-functions/ttyname_r.texi: Likewise.
47485         Reported by Simon Josefsson.
47487 2010-04-25  Bruno Haible  <bruno@clisp.org>
47489         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
47490         * gnulib-tool (func_usage): Document that --with-*-tests options apply
47491         also to --create-testdir.
47492         (func_acceptable): Don't consider the status of *-tests modules here.
47493         (func_modules_transitive_closure): Consider it here, before including a
47494         test module.
47495         (func_import, func_create_testdir): Set inc_all_direct_tests,
47496         inc_all_indirect_tests.
47497         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
47498         --create-testdir and --create-megatestdir.
47500 2010-04-25  Bruno Haible  <bruno@clisp.org>
47502         gnulib-tool: Add --without-*-tests options.
47503         * gnulib-tool (func_usage): Document the --without-*-tests options.
47504         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
47505         excl_unportable_tests): New variables.
47506         Fail if they are specified with --import or --update.
47507         (func_acceptable): Respect the excl_*_tests variables.
47508         (func_import): Set the excl_*_tests variables to empty.
47510 2010-04-25  Simon Josefsson  <simon@josefsson.org>
47511             Bruno Haible  <bruno@clisp.org>
47513         Work around a MacOS X 10.4 bug with openpty.
47514         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
47515         * tests/test-openpty.c (main): Close the master side explicitly.
47517 2010-04-25  Bruno Haible  <bruno@clisp.org>
47519         strnlen: Fix a C++ test error on MacOS X and Solaris.
47520         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
47521         the function is not declared.
47522         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
47523         Simon Josefsson.
47525 2010-04-24  Bruno Haible  <bruno@clisp.org>
47527         Avoid a gcc warning.
47528         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
47529         of correct type for %08lx directive.
47530         Reported by Eric Blake.
47532 2010-04-24  Bruno Haible  <bruno@clisp.org>
47534         vasnprintf: Correct errno value in case of out-of-memory.
47535         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
47536         or sprintf. Use the errno value from SNPRINTF or sprintf.
47537         Reported by Ian Beckwith <ianb@erislabs.net>.
47539 2010-04-24  Bruno Haible  <bruno@clisp.org>
47541         ansi-c++-opt: Find correct compiler when cross-compiling.
47542         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
47543         AC_CHECK_PROGS.
47544         Reported by Simon Josefsson.
47546 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
47548         vc-list-files: Add support for subversion
47549         * build-aux/vc-list-files: Use "svn list" to generate the list of
47550         files controlled by subversion.
47552 2010-04-23  Jim Meyering  <meyering@redhat.com>
47554         vc-list-files tests: convert to use init.sh
47555         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
47556         path_prepend_.
47557         Use Exit, not exit.
47558         Use skip_ rather than open coding it.
47559         Remove trap set-up and compare definitions.
47560         * tests/test-vc-list-files-git.sh: Likewise.
47561         * modules/vc-list-files-tests (Files): Add tests/init.sh.
47563 2010-04-22  Simon Josefsson  <simon@josefsson.org>
47565         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
47566         backup files.
47568 2010-04-21  Simon Josefsson  <simon@josefsson.org>
47570         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
47572 2010-04-20  Eric Blake  <eblake@redhat.com>
47574         tests: be robust to ignored SIGPIPE
47575         * tests/test-select-in.sh: Consume all output.
47576         * tests/test-lseek.sh: Check correct exit status, while avoiding
47577         EPIPE.
47579 2010-04-20  Simon Josefsson  <simon@josefsson.org>
47580             Bruno Haible  <bruno@clisp.org>
47582         visibility: Don't use -fvisibility if it leads to a warning.
47583         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
47584         yes, don't pretend that visibility works if it leads to a warning.
47585         Reported by Mike Gran <spk121@yahoo.com>.
47587 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
47589         * build-aux/bootstrap: Use "git -h" for testing for supported options
47590         instead of "git --help".  The short-form option only shows a summary,
47591         and doesn't layout the full man page.  Grep for the full option name
47592         in the summary, too.
47594 2010-04-19  Bruno Haible  <bruno@clisp.org>
47596         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
47597         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
47598         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
47599         mention of RELOCATABLE_STRIP.
47600         Reported by Sylvain Beucler <beuc@beuc.net>.
47602 2010-04-19  Bruno Haible  <bruno@clisp.org>
47604         * lib/diffseq.h: Fix typo in comment.
47605         Reported by Eric Blake.
47607 2010-04-19  Bruno Haible  <bruno@clisp.org>
47609         ioctl: Move autoconf macro to a .m4 file.
47610         * m4/ioctl.m4: New file, extracted from modules/ioctl.
47611         * modules/ioctl (Files): Add it.
47612         (configure.ac): Simply invoke gl_FUNC_IOCTL.
47613         Reported by Ian Beckwith <ianb@erislabs.net>.
47615 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
47616             Bruno Haible  <bruno@clisp.org>
47618         diffseq: Accommodate use-case with abstract arrays.
47619         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
47620         is not defined.
47621         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
47622         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
47624 2010-04-18  Bruno Haible  <bruno@clisp.org>
47626         * doc/posix-headers/stdbool.texi: More precise wording.
47628 2010-04-17  Jim Meyering  <meyering@redhat.com>
47630         maint.mk: use gnu-style indentation in an embedded perl script
47631         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
47632         Rename variable: s/two/last_two_bytes/
47634 2010-04-16  Eric Blake  <eblake@redhat.com>
47636         test-stdbool: skip test that fails with Solaris CC
47637         * tests/test-stdbool.c (f): Skip test that causes compilation
47638         error under buggy C++ compiler.
47639         * lib/stdbool.in.h: Document the limitation.
47640         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
47642         setenv: allow compilation with C++
47643         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
47644         register keyword.
47646         stdint: allow test to pass with C++
47647         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
47649         getopt: allow compilation with C++
47650         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
47651         struct.
47652         * lib/getopt.c (_getopt_internal_r): Use correct type.
47653         Reported by Dagobert Michelson, via Joel E. Denny.
47655 2010-04-16  Bruno Haible  <bruno@clisp.org>
47657         Override netdb.h always.
47658         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
47659         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
47660         Reported by Ludovic Courtès <ludo@gnu.org>.
47662 2010-04-15  Bruno Haible  <bruno@clisp.org>
47664         openpty: Fix mistake from 2010-03-21.
47665         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
47666         Reported by Simon Josefsson.
47668 2010-04-15  Eric Blake  <eblake@redhat.com>
47670         test-forkpty: fix expected signature
47671         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
47672         Reported by Simon Josefsson.
47674 2010-04-15  Jim Meyering  <meyering@redhat.com>
47676         maint.mk: texinfo_suffix_re_: correct the default regexp
47677         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
47679         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
47680         make it configurable via texinfo_suffix_re_.
47682 2010-04-14  Eric Blake  <eblake@redhat.com>
47684         strtok_r: relax license to LGPLv2+
47685         * modules/strtok_r (License): Relax license.
47686         Reported by Matthias Bolte.
47688 2010-04-14  Simon Josefsson  <simon@josefsson.org>
47690         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
47691         version 1.4.4 by default instead of requiring the libgcrypt
47692         version used during build.  This makes it possible to use the
47693         application with older but still binary compatible libgcrypt
47694         versions.
47696 2010-04-13  Eric Blake  <eblake@redhat.com>
47698         getopt-gnu: match recent glibc fixes and posix ruling
47699         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
47700         '+' handling, when requesting extensions.
47701         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
47702         'W;' handling.
47703         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
47704         * doc/posix-functions/getopt.texi (getopt): Document this.
47705         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
47706         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
47707         Likewise.
47709         getopt: merge bug fixes from glibc
47710         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
47711         diagnostics.  Honor '+:' correctly.  Reject ';'.
47713         getopt-posix: detect MacOS bug
47714         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
47715         optind when missing a required argument.
47716         * doc/posix-functions/getopt.texi (getopt): Document the bug.
47717         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
47718         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
47719         Likewise.
47721         getopt-posix: avoid spurious failure on Solaris
47722         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
47723         an indicator that setting optind=1 is sufficient for reset.
47725         getopt-posix: avoid spurious failure on FreeBSD
47726         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
47727         in POSIX mode, since the m4 test uses it.
47729         gnulib-tool: silence warning on BSD sh
47730         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
47732 2010-04-13  Jim Meyering  <meyering@redhat.com>
47734         doc: users.txt: GNU patch now uses gnulib
47735         * users.txt: Add patch.
47737 2010-04-12  Jim Meyering  <meyering@redhat.com>
47739         maint.mk: generate more concise timing data for syntax-check rules
47740         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
47741         " done" from each line that reports a syntax-check test duration.
47743 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
47745         git-version-gen: use "git update-index..." rather than "git status"
47746         * build-aux/git-version-gen: Use git update-index --refresh, not
47747         "git status".  With some versions of git, "git status" would fail
47748         to update the index and result in an unwarranted "-dirty" suffix.
47750 2010-04-11  Jim Meyering  <meyering@redhat.com>
47752         openat: correct formatting (no semantic change)
47753         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
47754         Suggested by Bruno Haible.
47756 2010-04-11  Bruno Haible  <bruno@clisp.org>
47758         Stricter declaration checking in testdirs.
47759         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47760         If for_tests is true, augment AM_CPPFLAGS to define
47761         GNULIB_STRICT_CHECKING.
47762         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
47763         GNULIB_STRICT_CHECKING is defined, verify that the function is
47764         declared.
47766 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
47767             Bruno Haible  <bruno@clisp.org>
47769         libunistring: Improve configure output.
47770         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
47771         Don't say "consider installing GNU libunistring" when checking again
47772         with libiconv.
47774 2010-04-11  Bruno Haible  <bruno@clisp.org>
47776         libunistring: Correct value of $LTLIBUNISTRING.
47777         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
47778         correct the value of $LTLIBUNISTRING.
47780 2010-04-11  Bruno Haible  <bruno@clisp.org>
47782         havelib: Add static libraries to LIBS in the right order.
47783         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
47784         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
47786 2010-04-11  Bruno Haible  <bruno@clisp.org>
47788         libunistring: Detect libunistring also when it depends on libiconv.
47789         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
47790         the second AC_LIB_HAVE_LINKFLAGS invocation.
47792 2010-04-11  James Youngman  <jay@gnu.org>
47794         close-stream: declare local scalars to be "const"
47795         * lib/close-stream.c (close_stream): Make boolean variables const
47796         to document the fact that we set but do not change them.
47798 2010-04-11  Bruno Haible  <bruno@clisp.org>
47800         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
47802 2010-04-11  Jim Meyering  <meyering@redhat.com>
47804         maint.mk: don't include dist-check.mk
47805         * top/maint.mk: Remove bogus include directive.
47807         maint.mk: improve empty-line-at-EOF check
47808         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
47809         solution, rather than tail+Perl-based one.  The latter would read
47810         a few kilobytes from the end of each file, and did not handle empty
47811         files properly.
47813         maint.mk: print the elapsed time for each syntax-check rule
47814         * top/maint.mk (sc_m_rules_): Save start time in a file.
47815         (sc_z_rules_): New rules: remove temp file and print elapsed time.
47816         (local-check): Interpose the .z rules
47818 2010-04-11  Jim Meyering  <meyering@redhat.com>
47820         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
47821         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
47822         empty file with one that ends in an empty line.
47824 2010-04-10  Bruno Haible  <bruno@clisp.org>
47826         mkdir: Make it work on mingw64.
47827         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
47828         * lib/mkdir.c: Update comment.
47829         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
47831 2010-04-10  Bruno Haible  <bruno@clisp.org>
47833         Don't override improved macro from newer autoconf.
47834         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
47835         autoconf >= 2.62.
47836         Reported by Joel E. Denny <jdenny@clemson.edu>.
47838 2010-04-10  Jim Meyering  <meyering@redhat.com>
47840         maint.mk: new syntax-check rule: prohibit empty lines at end of file
47841         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
47843         maint.mk: correct a diagnostic
47844         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
47845         in diagnostic; now use $prohibit.
47847 2010-04-10  Bruno Haible  <address@hidden>
47849         fchownat: Fix a C++ test error on Solaris 8.
47850         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
47851         the function does not exist.
47853 2010-04-10  Bruno Haible  <bruno@clisp.org>
47855         vasnprintf: Add more tests.
47856         * tests/test-vasnprintf-posix.c: Include <errno.h>.
47857         (test_function): Test converting an invalid wide string.
47859         vasnprintf: Correct handling of unconvertible wide string arguments.
47860         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
47861         VASNPRINTF.
47862         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
47863         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
47864         smaller than the expected maximum need for the directive. Set errno to
47865         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
47866         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
47867         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
47868         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
47869         * modules/vasnprintf (Files): Add m4/printf.m4.
47870         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47872 2010-04-10  Bruno Haible  <bruno@clisp.org>
47874         vasnprintf: Fix crash in %ls directive.
47875         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
47876         string is passed as argument to %ls, with no precision and no width.
47877         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47879 2010-04-10  Bruno Haible  <bruno@clisp.org>
47881         vasnprintf: Fix multiple test failures on mingw.
47882         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
47883         _snprintf, or snwprintf, not _snwprintf.
47885 2010-04-10  Bruno Haible  <bruno@clisp.org>
47887         write: Fix a C++ test error on mingw.
47888         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
47890 2010-04-10  Bruno Haible  <bruno@clisp.org>
47892         vasnprintf test: Reduce code duplication.
47893         * tests/test-vasnprintf.c (test_function): New function, extracted from
47894         test_vasnprintf.
47895         (test_vasnprintf, test_asnprintf): Invoke it.
47897 2010-04-10  Bruno Haible  <bruno@clisp.org>
47899         strnlen: Fix warning in C++ mode on MacOS X.
47900         * lib/string.in.h (strnlen): Use the modern idiom.
47901         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
47902         defining strnlen as a macro already in <config.h>.
47903         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47904         REPLACE_STRNLEN.
47905         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
47906         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47908 2010-04-08  James Youngman  <jay@gnu.org>
47910         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
47911         the example.
47913 2010-04-09  Jim Meyering  <meyering@redhat.com>
47915         maint.mk: print better diagnostic when there is no $(_hv_file)
47916         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
47917         announce that when $(_hv_file) (aka help-version) does not exist.
47919         init.sh: run tr in the "C" locale to avoid multibyte interpretation
47920         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
47921         not try to interpret its random input bytes.  Jarno Rajahalme reported
47922         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
47923         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
47924         (mktempd_): Likewise, just in case.
47926         ftruncate: add two years to projected module removal date: 2012
47927         * m4/ftruncate.m4: Adjust comments.
47929         ftruncate: mark module as obsolete; even MinGW provides it, now
47930         * modules/ftruncate (Status): Obsolete.
47931         (Notice): Say that.
47932         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
47933         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
47935 2010-04-08  Bruno Haible  <bruno@clisp.org>
47937         Fix side effects from tests-related modules.
47938         * modules/dprintf-posix (Comment): New section.
47939         * modules/fprintf-posix (Comment): Likewise.
47940         * modules/obstack-printf-posix (Comment): Likewise.
47941         * modules/printf-posix (Comment): Likewise.
47942         * modules/snprintf-posix (Comment): Likewise.
47943         * modules/sprintf-posix (Comment): Likewise.
47944         * modules/vasnprintf-posix (Comment): Likewise.
47945         * modules/vasprintf-posix (Comment): Likewise.
47946         * modules/vdprintf-posix (Comment): Likewise.
47947         * modules/vfprintf-posix (Comment): Likewise.
47948         * modules/vprintf-posix (Comment): Likewise.
47949         * modules/vsnprintf-posix (Comment): Likewise.
47950         * modules/vsprintf-posix (Comment): Likewise.
47951         * modules/xprintf-posix (Comment): Likewise.
47952         * modules/xvasprintf-posix (Comment): Likewise.
47953         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
47954         * modules/floorf-tests (Depends-on): Likewise.
47955         * modules/round-tests (Depends-on): Likewise.
47956         * modules/roundf-tests (Depends-on): Likewise.
47957         * modules/trunc-tests (Depends-on): Likewise.
47958         * modules/truncf-tests (Depends-on): Likewise.
47959         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
47960         'fprintf-posix' module is not present.
47961         * tests/test-floorf2.c (check): Likewise.
47962         * tests/test-trunc2.c (check): Likewise.
47963         * tests/test-truncf2.c (check): Likewise.
47964         * tests/test-round2.c (equal): Likewise.
47965         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
47967 2010-04-07  Karl Berry  <karl@gnu.org>
47969         * config/srclist.txt,
47970         * config/srclistvars.sh,
47971         * config/srclist-update: doc fixes.
47973 2010-04-07  Jim Meyering  <meyering@redhat.com>
47975         maint.mk: add a PATH crosschecking syntax-check rule
47976         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
47977         Useful if you use a test like the one in help-version (coreutils,
47978         diffutils, grep, gzip) that ensures $(VERSION) matches what is
47979         printed by prog --version.
47981 2010-04-06  Bruno Haible  <bruno@clisp.org>
47983         Fix link error on mingw.
47984         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
47985         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
47987 2010-04-06  Bruno Haible  <bruno@clisp.org>
47989         Assume rmdir exists.
47990         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
47992 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
47994         doc: update users.txt
47995         * users.txt: Add gcal.
47997 2010-04-06  Jim Meyering  <meyering@redhat.com>
47999         init.sh: simply unset TMPDIR rather than risking env -i
48000         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
48001         although it probably works fine on all Unix-based systems, some
48002         systems (Cygwin?) cannot tolerate a totally cleared environment.
48003         Suggestion from Eric Blake.
48005 2010-04-06  Jim Meyering  <meyering@redhat.com>
48007         init.sh: portability fix: use env's POSIX-specified -i option not -u
48008         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
48009         than unportable env -u.  Solaris 5.11's env lacks support for -u.
48011 2010-04-05  Bruno Haible  <bruno@clisp.org>
48013         btowc: Work around Cygwin 1.7.2 bug.
48014         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
48015         does not map NUL to 0.
48016         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
48018 2010-04-05  Bruno Haible  <bruno@clisp.org>
48020         Make the multithread modules work on Cygwin 1.7.2.
48021         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
48022         imported symbols can be declared weak, so that it returns "no" on
48023         Cygwin 1.7.2.
48025 2010-04-05  Bruno Haible  <bruno@clisp.org>
48027         Use the module 'strncat'.
48028         * modules/unistr/u8-strncat (Depends-on): Add strncat.
48030         Tests for module 'strncat'.
48031         * modules/strncat-tests: New file.
48032         * tests/test-strncat.c: New file.
48034         New module 'strncat'.
48035         * lib/string.in.h (strncat): New declaration.
48036         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
48037         * m4/strncat.m4: New file, based on m4/memchr.m4.
48038         * modules/strncat: New file.
48039         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
48040         is declared.
48041         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
48042         REPLACE_STRNCAT.
48043         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
48044         REPLACE_STRNCAT.
48045         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
48046         module.
48047         * tests/test-string-c++.cc: Check signature of strncat.
48049 2010-04-05  Jim Meyering  <meyering@redhat.com>
48051         xstrtoumax-tests: convert to use init.sh
48052         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
48053         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
48054         Use Exit, not exit.
48055         Remove uses of $EXEEXT and "./" to run a program in the current dir.
48057         xstrtoimax-tests: convert to use init.sh
48058         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
48059         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
48060         Use Exit, not exit.
48061         Remove uses of $EXEEXT and "./" to run a program in the current dir.
48063 2010-04-05  Bruno Haible  <bruno@clisp.org>
48065         sys_socket: Avoid #define replacements in C++ mode.
48066         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
48067         warning to the function if possible, rather than #defining the symbol
48068         to a dysfunctional alias.
48070 2010-04-05  Bruno Haible  <bruno@clisp.org>
48072         fseeko: Fix C++ test error on mingw.
48073         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
48074         gl_FUNC_FSEEKO.
48075         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
48076         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
48077         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
48078         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
48080 2010-04-05  Bruno Haible  <bruno@clisp.org>
48082         duplocale: Improve test output.
48083         * tests/test-duplocale.c (main): Print reason for skipped test.
48085 2010-04-05  Bruno Haible  <bruno@clisp.org>
48087         Assume rmdir exists.
48088         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
48089         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
48091 2010-04-05  Bruno Haible  <bruno@clisp.org>
48093         Fix link error on Solaris 8 with cc.
48094         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
48096 2010-04-05  Bruno Haible  <bruno@clisp.org>
48098         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
48099         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
48101 2010-04-05  Bruno Haible  <bruno@clisp.org>
48103         vasprintf: Update documentation.
48104         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
48106 2010-04-05  Bruno Haible  <bruno@clisp.org>
48108         ptsname: Improve test.
48109         * tests/test-ptsname.c (main): Also try the various master names of BSD
48110         systems.
48112 2010-04-05  Bruno Haible  <bruno@clisp.org>
48114         memchr: Avoid a possible C++ test error.
48115         * lib/string.in.h (memchr): Provide declaration if function is missing.
48116         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
48117         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
48118         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
48119         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
48121 2010-04-05  Bruno Haible  <bruno@clisp.org>
48123         strtok_r: Improve idiom.
48124         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
48125         AC_LIBOBJ is used.
48127 2010-04-05  Bruno Haible  <bruno@clisp.org>
48129         strdup: Improve idiom.
48130         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
48131         AC_LIBOBJ is used.
48132         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
48133         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
48134         when AC_LIBOBJ is used.
48136 2010-04-05  Bruno Haible  <bruno@clisp.org>
48138         mbsinit, mbrtowc, wcrtomb: Improve idioms.
48139         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
48140         don't set REPLACE_MBSINIT to 1.
48141         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
48142         don't set REPLACE_MBRTOWC to 1.
48143         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
48144         exist, don't set REPLACE_MBSRTOWCS to 1.
48145         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
48146         exist, don't set REPLACE_MBSNRTOWCS to 1.
48147         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
48148         don't set REPLACE_WCRTOMB to 1.
48149         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
48150         exist, don't set REPLACE_WCSRTOMBS to 1.
48151         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
48152         exist, don't set REPLACE_WCSNRTOMBS to 1.
48154 2010-04-05  Bruno Haible  <bruno@clisp.org>
48156         ldexpl: Improve idiom.
48157         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
48158         make sure to set HAVE_DECL_LDEXPL to 0.
48160 2010-04-05  Jim Meyering  <meyering@redhat.com>
48162         xstrtol-tests: convert to use init.sh
48163         * modules/xstrtol-tests (Files): Add tests/init.sh.
48164         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
48165         Use Exit, not exit.
48166         Remove uses of $EXEEXT and "./" to run a program in the current dir.
48168         atexit-tests: convert to use init.sh
48169         * modules/atexit-tests (Files): Add tests/init.sh.
48170         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
48171         Use Exit, not exit.
48172         Remove uses of $EXEEXT and "./" to run a program in the current dir.
48174         init.sh: fix typo
48175         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
48177         init.sh: make it easier for a test script to write to the tty, ...
48178         when using automake's parallel-tests mode.
48179         * tests/init.sh (stderr_fileno_): Define overridable variable.
48180         (warn_): New function, to use it.
48181         (fail_, skip_, framework_failure_): Use warn_.
48183 2010-04-04  Bruno Haible  <bruno@clisp.org>
48185         btowc: Avoid warning.
48186         * lib/btowc.c: Include <stdlib.h>.
48187         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
48189 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
48190             Bruno Haible  <bruno@clisp.org>
48192         wchar: Port to NetBSD 1.5.
48193         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
48194         * lib/wctype.in.h (WEOF): Likewise.
48196 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
48197             Bruno Haible  <bruno@clisp.org>
48199         Port extended stdio to NetBSD 1.5.
48200         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
48201         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
48202         older.
48204 2010-04-04  Bruno Haible  <bruno@clisp.org>
48206         string: Remove unused substitution.
48207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
48208         HAVE_DECL_STRERROR.
48209         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
48211 2010-04-04  Bruno Haible  <bruno@clisp.org>
48213         strtod: Avoid a possible C++ test error.
48214         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
48215         set REPLACE_STRTOD.
48217 2010-04-04  Bruno Haible  <bruno@clisp.org>
48219         strerror: Update documentation.
48220         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
48222 2010-04-04  Bruno Haible  <bruno@clisp.org>
48224         stdio: Fix some C++ test errors on Solaris 8 with GCC.
48225         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
48226         _GL_CXXALIAS_SYS_CAST.
48228 2010-04-04  Bruno Haible  <bruno@clisp.org>
48230         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
48231         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
48232         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
48233         REPLACE_FREXPL to 1.
48234         * doc/posix-functions/frexpl.texi: Update documentation.
48236 2010-04-04  Bruno Haible  <bruno@clisp.org>
48238         math: Fix some C++ test errors on Solaris 8 and Cygwin.
48239         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
48241 2010-04-04  Bruno Haible  <bruno@clisp.org>
48243         Implement nanosleep for native Windows.
48244         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
48246 2010-04-04  Bruno Haible  <bruno@clisp.org>
48248         math: Fix some C++ test errors on Solaris 8.
48249         * lib/math.in.h (truncf, trunc): Use simpler idiom.
48251 2010-04-04  Bruno Haible  <bruno@clisp.org>
48253         math: Fix some C++ test errors on Cygwin.
48254         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
48255         truncl): Provide declaration if the system does not have it.
48256         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
48257         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
48258         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
48259         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
48260         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
48261         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
48262         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
48263         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
48264         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
48265         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
48266         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
48267         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
48268         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
48269         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
48270         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
48271         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
48272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
48273         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
48274         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
48275         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
48276         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
48277         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
48279 2010-04-04  Bruno Haible  <bruno@clisp.org>
48281         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
48282         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
48283         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
48284         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48285         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48286         * m4/isinf.m4 (gl_ISINF): Likewise.
48287         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48289 2010-04-04  Bruno Haible  <bruno@clisp.org>
48291         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
48292         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48294 2010-04-04  Bruno Haible  <bruno@clisp.org>
48296         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
48297         * modules/tmpfile (configure.ac): Update.
48299         tmpfile: Fix C++ test error on mingw.
48300         * lib/stdio.in.h (tmpfile): New declaration.
48301         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
48302         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
48303         * modules/tmpfile (Depends-on): Add stdio.
48304         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
48305         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
48306         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
48307         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
48308         REPLACE_TMPFILE.
48309         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
48311 2010-04-04  Bruno Haible  <bruno@clisp.org>
48313         ioctl: Fix C++ test error on mingw.
48314         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
48315         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
48316         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
48318 2010-04-03  Bruno Haible  <bruno@clisp.org>
48320         wcwidth: Fix C++ test error on mingw.
48321         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
48322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
48323         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
48325 2010-04-03  Bruno Haible  <bruno@clisp.org>
48327         nanosleep: Fix C++ test error on mingw.
48328         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
48329         * lib/time.in.h (nanosleep): Use modern idiom.
48330         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
48331         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
48332         REPLACE_NANOSLEEP to 1.
48333         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
48334         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
48336 2010-04-03  Bruno Haible  <bruno@clisp.org>
48338         strptime: Fix C++ test error on mingw.
48339         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
48340         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
48341         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
48342         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
48343         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
48344         not REPLACE_STRPTIME.
48345         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
48346         REPLACE_STRPTIME.
48348 2010-04-03  Bruno Haible  <bruno@clisp.org>
48350         timegm: Fix C++ test error on mingw.
48351         * lib/time.in.h (timegm): Use modern idiom.
48352         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
48353         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
48354         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
48355         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
48357 2010-04-03  Bruno Haible  <bruno@clisp.org>
48359         timegm: Assume declaration if function exists.
48360         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
48361         if it exists. Don't clobber ac_cv_func_timegm.
48363 2010-04-03  Bruno Haible  <bruno@clisp.org>
48365         time_r: Fix C++ test error on mingw.
48366         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
48367         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
48368         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
48369         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
48370         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
48372 2010-04-03  Bruno Haible  <bruno@clisp.org>
48374         time_r: Minor updates.
48375         * modules/time_r (Description): Mention the provided functions.
48376         * lib/time_r.c: Don't include <string.h>.
48377         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
48378         * doc/posix-functions/localtime_r.texi: Likewise.
48380 2010-04-03  Bruno Haible  <bruno@clisp.org>
48382         time: Fix regression introduced on 2010-03-08.
48383         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
48384         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
48386 2010-04-03  Jim Meyering  <meyering@redhat.com>
48388         maint.mk: don't silently disable project-specific syntax-check rules
48389         * top/maint.mk (_prohibit_regexp): Define, to help people realize
48390         that they need to convert their project-specific syntax-check rules
48391         to use the new _sc_search_regexp.
48393 2010-04-03  Bruno Haible  <bruno@clisp.org>
48395         fchdir: Fix regression introduced on 2010-03-08.
48396         * lib/unistd.in.h (fchdir): Fix declaration.
48397         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
48398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
48399         REPLACE_FCHDIR.
48400         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
48401         REPLACE_FCHDIR.
48403 2010-04-03  Bruno Haible  <bruno@clisp.org>
48405         getpagesize: Fix C++ test error on mingw.
48406         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
48407         system does not declare the function.
48408         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
48409         declared.
48410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
48411         HAVE_DECL_GETPAGESIZE.
48412         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
48414 2010-04-03  Bruno Haible  <bruno@clisp.org>
48416         stdio: Make C++ tests work on mingw.
48417         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
48418         does not declare the function.
48420 2010-04-03  Bruno Haible  <bruno@clisp.org>
48422         ftello: Fix C++ test error on mingw.
48423         * lib/stdio.in.h (ftello): Use modern idiom.
48424         * lib/ftello.c (ftello): Renamed from rpl_ftello.
48425         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
48426         is missing and that it needs to be replaced.
48427         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
48428         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
48429         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
48431 2010-04-03  Bruno Haible  <bruno@clisp.org>
48433         fseeko: Fix C++ test error on mingw.
48434         * lib/stdio.in.h (fseeko): Use modern idiom.
48435         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
48436         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
48437         is missing and that it needs to be replaced.
48438         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
48439         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
48440         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
48442 2010-04-03  Bruno Haible  <bruno@clisp.org>
48444         mkstemp: Fix C++ test error on mingw.
48445         * lib/stdlib.in.h (mkstemp): Use modern idiom.
48446         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
48447         function is missing and that it needs to be replaced.
48448         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
48449         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
48451 2010-04-03  Bruno Haible  <bruno@clisp.org>
48453         stpncpy: Fix C++ test error on mingw.
48454         * lib/string.in.h (stpncpy): Use modern idiom.
48455         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
48456         function is missing and that it needs to be replaced.
48457         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
48458         REPLACE_STPNCPY.
48459         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
48461 2010-04-03  Bruno Haible  <bruno@clisp.org>
48463         sys_stat: Fix C++ test error on mingw.
48464         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
48465         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
48467 2010-04-03  Bruno Haible  <bruno@clisp.org>
48469         pty: Update doc.
48470         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
48472 2010-04-03  Bruno Haible  <bruno@clisp.org>
48474         unistd: Fix C++ test error on mingw.
48475         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
48477 2010-04-03  Bruno Haible  <bruno@clisp.org>
48479         Update doc regarding mingw.
48480         * doc/glibc-functions/openpty.texi: Update regarding mingw.
48481         * doc/glibc-functions/login_tty.texi: Likewise.
48482         * doc/glibc-functions/forkpty.texi: Likewise.
48484 2010-04-03  Bruno Haible  <bruno@clisp.org>
48486         stdlib: Avoid compilation failure of c-strtold on mingw.
48487         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
48489 2010-04-03  Bruno Haible  <bruno@clisp.org>
48491         locale: Make C++ tests work on Cygwin and mingw.
48492         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
48493         cannot provide the function.
48494         Reported by Simon Josefsson.
48496 2010-04-03  Bruno Haible  <bruno@clisp.org>
48498         localename: Port to MacOS X 10.6.
48499         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
48500         memory layout of the locales in MacOS X 10.6 as well.
48501         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
48503 2010-04-02  Bruno Haible  <bruno@clisp.org>
48505         gnulib-tool: Ensure that long-running tests are executed last.
48506         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
48507         running tests after the one for the other tests.
48509 2010-04-02  Bruno Haible  <bruno@clisp.org>
48511         gnulib-tool: Ensure the tests in the main directory are executed first.
48512         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
48513         start with the current directory.
48515 2010-04-02  Bruno Haible  <bruno@clisp.org>
48517         Tests for module 'havelib', moved here from GNU gettext.
48518         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
48519         modifications.
48520         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
48521         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
48522         with modifications.
48523         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
48524         modifications.
48525         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
48526         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
48527         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
48528         with modifications.
48529         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
48530         with modifications.
48531         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
48532         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
48533         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
48534         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
48535         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
48536         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
48537         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
48538         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
48539         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
48540         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
48541         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
48542         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
48543         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
48544         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
48545         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
48546         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
48547         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
48548         with modifications.
48549         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
48550         with modifications.
48551         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
48552         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
48553         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
48554         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
48555         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
48556         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
48557         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
48558         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
48559         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
48560         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
48561         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
48562         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
48563         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
48564         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
48565         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
48566         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
48567         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
48568         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
48569         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
48570         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
48571         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
48572         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
48573         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
48574         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
48575         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
48576         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
48577         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
48578         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
48579         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
48580         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
48581         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
48582         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
48583         * tests/havelib/rpathx/rpathx.c: New file, from
48584         gettext/autoconf-lib-link.
48585         * tests/havelib/rpathx/Makefile.am: New file, from
48586         gettext/autoconf-lib-link.
48587         * tests/havelib/rpathx/configure.ac: New file, from
48588         gettext/autoconf-lib-link with modifications.
48589         * tests/havelib/rpathy/rpathy.c: New file, from
48590         gettext/autoconf-lib-link.
48591         * tests/havelib/rpathy/Makefile.am: New file, from
48592         gettext/autoconf-lib-link.
48593         * tests/havelib/rpathy/configure.ac: New file, from
48594         gettext/autoconf-lib-link with modifications.
48595         * tests/havelib/rpathz/rpathz.c: New file, from
48596         gettext/autoconf-lib-link.
48597         * tests/havelib/rpathz/Makefile.am: New file, from
48598         gettext/autoconf-lib-link.
48599         * tests/havelib/rpathz/configure.ac: New file, from
48600         gettext/autoconf-lib-link with modifications.
48601         * tests/havelib/rpathlx/usex.c: New file, from
48602         gettext/autoconf-lib-link.
48603         * tests/havelib/rpathlx/Makefile.am: New file, from
48604         gettext/autoconf-lib-link.
48605         * tests/havelib/rpathlx/configure.ac: New file, from
48606         gettext/autoconf-lib-link with modifications.
48607         * tests/havelib/rpathly/usey.c: New file, from
48608         gettext/autoconf-lib-link.
48609         * tests/havelib/rpathly/Makefile.am: New file, from
48610         gettext/autoconf-lib-link.
48611         * tests/havelib/rpathly/configure.ac: New file, from
48612         gettext/autoconf-lib-link with modifications.
48613         * tests/havelib/rpathlz/usez.c: New file, from
48614         gettext/autoconf-lib-link.
48615         * tests/havelib/rpathlz/Makefile.am: New file, from
48616         gettext/autoconf-lib-link.
48617         * tests/havelib/rpathlz/configure.ac: New file, from
48618         gettext/autoconf-lib-link with modifications.
48619         * tests/havelib/rpathlyx/usey.c: New file, from
48620         gettext/autoconf-lib-link.
48621         * tests/havelib/rpathlyx/Makefile.am: New file, from
48622         gettext/autoconf-lib-link.
48623         * tests/havelib/rpathlyx/configure.ac: New file, from
48624         gettext/autoconf-lib-link with modifications.
48625         * tests/havelib/rpathlzyx/usez.c: New file, from
48626         gettext/autoconf-lib-link.
48627         * tests/havelib/rpathlzyx/Makefile.am: New file, from
48628         gettext/autoconf-lib-link.
48629         * tests/havelib/rpathlzyx/configure.ac: New file, from
48630         gettext/autoconf-lib-link with modifications.
48631         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
48632         with modifications.
48634 2010-04-02  Bruno Haible  <bruno@clisp.org>
48636         gnulib-tool: Create distributed built sources also for the tests.
48637         * gnulib-tool (func_create_testdir): Also generate distributed built
48638         sources in the tests directory.
48640 2010-04-02  Bruno Haible  <bruno@clisp.org>
48642         gnulib-tool: Obey user's environment variables.
48643         * gnulib-tool (func_create_testdir): When creating built sources,
48644         respect the environment variables for autoconf, automake, etc. given by
48645         the user.
48647 2010-04-02  Bruno Haible  <bruno@clisp.org>
48649         gnulib-tool: Provide the value of --m4-base to modules.
48650         * gnulib-tool (func_import, func_create_testdir): Emit a definition
48651         of gl_m4_base.
48653 2010-04-02  Eric Blake  <eblake@redhat.com>
48655         maint.mk: fix some fallout
48656         * NEWS: Document the incompatible change, and its effect on cfg.mk.
48657         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
48659 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
48661         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
48662         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
48663         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
48664         (sc_cast_of_x_alloc_return_value): Likewise.
48665         (sc_cast_of_alloca_return_value): Likewise.
48666         (sc_space_tab): Likewise.
48667         (sc_prohibit_atoi_atof): Likewise.
48668         (sc_prohibit_magic_number_exit): Likewise.
48669         (sc_error_exit_success): Likewise.
48670         (sc_file_system): Likewise.
48671         (sc_prohibit_have_config_h): Likewise.
48672         (sc_require_config_h): Likewise.
48673         (sc_prohibit_HAVE_MBRTOWC): Likewise.
48674         (sc_obsolete_symbols): Likewise.
48675         (sc_changelog): Likewise.
48676         (sc_program_name): Likewise.
48677         (sc_the_the): Likewise.
48678         (sc_trailing_blank): Likewise.
48679         (sc_two_space_separator_in_usage): Likewise.
48680         (sc_useless_cpp_parens): Likewise.
48681         (sc_GPL_version): Likewise.
48682         (sc_GFDL_version): Likewise.
48683         (sc_texinfo_acronym): Likewise.
48684         (sc_prohibit_cvs_keyword): Likewise.
48685         (sc_prohibit_stat_st_blocks): Likewise.
48686         (sc_prohibit_S_IS_definition): Likewise.
48687         (sc_redundant_const): Likewise.
48688         (sc_makefile_TAB_only_indentation): Likewise.
48689         (sc_m4_quote_check): Likewise.
48690         (sc_makefile_path_separator_check): Likewise.
48691         (sc_copyright_check): Likewise.
48692         (sc_Wundef_boolean): Likewise.
48693         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
48695         maint.mk: match 0 or more whitespace-before-function-call '('
48696         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
48697         that have zero or two-and-more spaces between the function name
48698         and the open parenthesis.
48699         (sc_error_message_warn_fatal): Likewise.
48700         (sc_error_message_uppercase): Likewise.
48701         (sc_error_message_period): Likewise.
48703 2010-03-31  Eric Blake  <eblake@redhat.com>
48705         maint.mk: check for [ as well as test
48706         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
48707         Based on a libvirt report by Matthias Bolte.
48709         gnumakefile: don't squelch _version output
48710         * top/GNUmakefile (_version): Create one-shot dependency rather
48711         than using $(shell) when version must be regenerated.
48712         (_autoreconf): Run verbosely, by default.
48714         sys_time: avoid compiler warnings
48715         * lib/sys_time.in.h (includes): Ensure gcc pragma is
48716         unconditional, fixing regression from 2010-03-29.
48717         Reported by Simon Josefsson.
48719 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
48721         maint.mk: s/_header_without_use/_sc_header_without_use/
48722         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
48723         (sc_prohibit_assert_without_use): Use the new name.
48724         (sc_prohibit_close_stream_without_use): Likewise.
48725         (sc_prohibit_getopt_without_use): Likewise.
48726         (sc_prohibit_quotearg_without_use): Likewise.
48727         (sc_prohibit_quote_without_use): Likewise.
48728         (sc_prohibit_long_options_without_use): Likewise.
48729         (sc_prohibit_inttostr_without_use): Likewise.
48730         (sc_prohibit_ignore_value_without_use): Likewise.
48731         (sc_prohibit_error_without_use): Likewise.
48732         (sc_prohibit_xalloc_without_use): Likewise.
48733         (sc_prohibit_hash_without_use): Likewise.
48734         (sc_prohibit_hash_pjw_without_use): Likewise.
48735         (sc_prohibit_safe_read_without_use): Likewise.
48736         (sc_prohibit_argmatch_without_use): Likewise.
48737         (sc_prohibit_canonicalize_without_use): Likewise.
48738         (sc_prohibit_root_dev_ino_without_use): Likewise.
48739         (sc_prohibit_openat_without_use): Likewise.
48740         (sc_prohibit_c_ctype_without_use): Likewise.
48741         (sc_prohibit_signal_without_use): Likewise.
48742         (sc_prohibit_intprops_without_use): Likewise.
48744 2010-03-30  Eric Blake  <eblake@redhat.com>
48746         maint: improve module indicators
48747         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
48748         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
48749         columns, and avoid extra macro expansion.
48751         fdopendir: work around FreeBSD bug
48752         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
48753         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
48754         * modules/dirent (Makefile.am): Substitute it.
48755         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
48756         declaration.
48757         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
48758         fix.
48759         Reported by Christian Weisgerber <naddy@mips.inka.de>.
48761 2010-03-29  Bruno Haible  <bruno@clisp.org>
48763         Emit #pragma system_header after the inclusion guard, not before.
48764         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
48765         guard that spans the entire file, not before. This enables an
48766         optimization in GCC's preprocessor.
48767         * lib/ctype.in.h: Likewise.
48768         * lib/dirent.in.h: Likewise.
48769         * lib/errno.in.h: Likewise.
48770         * lib/float.in.h: Likewise.
48771         * lib/getopt.in.h: Likewise.
48772         * lib/iconv.in.h: Likewise.
48773         * lib/langinfo.in.h: Likewise.
48774         * lib/locale.in.h: Likewise.
48775         * lib/math.in.h: Likewise.
48776         * lib/netdb.in.h: Likewise.
48777         * lib/netinet_in.in.h: Likewise.
48778         * lib/pty.in.h: Likewise.
48779         * lib/sched.in.h: Likewise.
48780         * lib/se-selinux.in.h: Likewise.
48781         * lib/search.in.h: Likewise.
48782         * lib/spawn.in.h: Likewise.
48783         * lib/stdarg.in.h: Likewise.
48784         * lib/stdint.in.h: Likewise.
48785         * lib/string.in.h: Likewise.
48786         * lib/strings.in.h: Likewise.
48787         * lib/sys_file.in.h: Likewise.
48788         * lib/sys_ioctl.in.h: Likewise.
48789         * lib/sys_time.in.h: Likewise.
48790         * lib/sys_times.in.h: Likewise.
48791         * lib/sys_utsname.in.h: Likewise.
48792         * lib/sys_wait.in.h: Likewise.
48793         * lib/sysexits.in.h: Likewise.
48794         * lib/wctype.in.h: Likewise.
48796 2010-03-28  James Youngman  <jay@gnu.org>
48798         save-cwd: don't leak a file descriptor when the caller execs.
48799         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
48800         saved file descriptor.
48801         * modules/save-cwd (Depends-on): Depend on cloexec.
48803 2010-03-29  Bruno Haible  <bruno@clisp.org>
48805         Remove vestiges of fts-lgpl module.
48806         * lib/fts_.h: Assume GNULIB_FTS is 1.
48807         * lib/fts.c: Likewise.
48808         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
48810 2010-03-28  Bruno Haible  <bruno@clisp.org>
48812         Fix definition of tests witness macro.
48813         * gnulib-tool (func_import): Fix definition of witness macro.
48815 2010-03-28  Bruno Haible  <bruno@clisp.org>
48817         Fix ioctl's protoype on glibc systems.
48818         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
48819         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
48820         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
48821         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
48822         signature. If not, arrange to replace the ioctl function.
48823         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
48824         REPLACE_IOCTL.
48825         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
48826         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
48827         Reported by Ludovic Courtès <ludo@gnu.org>.
48829 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
48831         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
48832         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
48833         made it so grep -r --include=GLOB* ... did not work.
48835 2010-03-26  Jim Meyering  <meyering@redhat.com>
48836             Eric Blake  <eblake@redhat.com>
48838         maint.mk: prohibit use of test's -o and -a operators
48839         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
48841 2010-03-28  Bruno Haible  <bruno@clisp.org>
48843         Remove unused GNULIB_XYZ macro definitions.
48844         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
48845         invocation.
48847 2010-03-28  Bruno Haible  <bruno@clisp.org>
48849         Mark privileged tests modules.
48850         * modules/idpriv-drop-tests (Status): New section.
48851         * modules/idpriv-droptemp-tests (Status): New section.
48853 2010-03-28  Bruno Haible  <bruno@clisp.org>
48855         Split C++ tests into separate tests modules.
48856         * modules/dirent-c++-tests: New file, extracted from
48857         modules/dirent-tests.
48858         * modules/dirent-tests: Depend on it.
48859         * modules/fcntl-h-c++-tests: New file, extracted from
48860         modules/fcntl-h-tests.
48861         * modules/fcntl-h-tests: Depend on it.
48862         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
48863         * modules/glob-tests: Depend on it.
48864         * modules/iconv-h-c++-tests: New file, extracted from
48865         modules/iconv-h-tests.
48866         * modules/iconv-h-tests: Depend on it.
48867         * modules/langinfo-c++-tests: New file, extracted from
48868         modules/langinfo-tests.
48869         * modules/langinfo-tests: Depend on it.
48870         * modules/locale-c++-tests: New file, extracted from
48871         modules/locale-tests.
48872         * modules/locale-tests: Depend on it.
48873         * modules/math-c++-tests: New file, extracted from modules/math-tests.
48874         * modules/math-tests: Depend on it.
48875         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
48876         * modules/pty-tests: Depend on it.
48877         * modules/search-c++-tests: New file, extracted from
48878         modules/search-tests.
48879         * modules/search-tests: Depend on it.
48880         * modules/signal-c++-tests: New file, extracted from
48881         modules/signal-tests.
48882         * modules/signal-tests: Depend on it.
48883         * modules/spawn-c++-tests: New file, extracted from
48884         modules/spawn-tests.
48885         * modules/spawn-tests: Depend on it.
48886         * modules/stdio-c++-tests: New file, extracted from
48887         modules/stdio-tests.
48888         * modules/stdio-tests: Depend on it.
48889         * modules/stdlib-c++-tests: New file, extracted from
48890         modules/stdlib-tests.
48891         * modules/stdlib-tests: Depend on it.
48892         * modules/string-c++-tests: New file, extracted from
48893         modules/string-tests.
48894         * modules/string-tests: Depend on it.
48895         * modules/sys_ioctl-c++-tests: New file, extracted from
48896         modules/sys_ioctl-tests.
48897         * modules/sys_ioctl-tests: Depend on it.
48898         * modules/sys_select-c++-tests: New file, extracted from
48899         modules/sys_select-tests.
48900         * modules/sys_select-tests: Depend on it.
48901         * modules/sys_socket-c++-tests: New file, extracted from
48902         modules/sys_socket-tests.
48903         * modules/sys_socket-tests: Depend on it.
48904         * modules/sys_stat-c++-tests: New file, extracted from
48905         modules/sys_stat-tests.
48906         * modules/sys_stat-tests: Depend on it.
48907         * modules/sys_time-c++-tests: New file, extracted from
48908         modules/sys_time-tests.
48909         * modules/sys_time-tests: Depend on it.
48910         * modules/time-c++-tests: New file, extracted from modules/time-tests.
48911         * modules/time-tests: Depend on it.
48912         * modules/unistd-c++-tests: New file, extracted from
48913         modules/unistd-tests.
48914         * modules/unistd-tests: Depend on it.
48915         * modules/wchar-c++-tests: New file, extracted from
48916         modules/wchar-tests.
48917         * modules/wchar-tests: Depend on it.
48918         * modules/wctype-c++-tests: New file, extracted from
48919         modules/wctype-tests.
48920         * modules/wctype-tests: Depend on it.
48921         Reported by Simon Josefsson.
48923 2010-03-28  Bruno Haible  <bruno@clisp.org>
48925         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
48926         * gnulib-tool (func_exists_module): New function, extracted from
48927         func_verify_module.
48928         (func_verify_module): Use it.
48929         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
48930         'foo' only if 'foo' exists.
48931         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
48932         module.
48934 2010-03-28  Bruno Haible  <bruno@clisp.org>
48936         gnulib-tool: Add support for special categories of tests.
48937         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
48938         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
48939         (func_usage): Document them.
48940         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
48941         inc_unportable_tests, inc_all_tests): New variables.
48942         (func_acceptable): Consider these variables.
48943         (func_modules_transitive_closure): Make it work when the 'Status' field
48944         consists of multiple words.
48945         (func_import): Store and restore the values of inc_cxx_tests,
48946         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
48947         inc_all_tests in gnulib-comp.m4.
48948         (func_create_testdir): Set inc_all_tests to true.
48949         * doc/gnulib.texi (Extra tests modules): New section.
48950         Suggested by Jim Meyering.
48952 2010-03-28  Bruno Haible  <bruno@clisp.org>
48954         ansi-c++-opt: Allow turning off the C++ build by default.
48955         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
48956         gl_CXX_CHOICE_DEFAULT_NO is defined.
48957         Requested by Eric Blake.
48959 2010-03-28  Bruno Haible  <bruno@clisp.org>
48961         unistd: Avoid #define replacements in C++ mode.
48962         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
48963         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
48964         setsockopt, shutdown, select): In C++, attach a warning to the function
48965         if possible, rather than #defining the symbol to a dysfunctional alias.
48966         Reported by John W. Eaton <jwe@gnu.org>.
48968 2010-03-28  Bruno Haible  <bruno@clisp.org>
48970         Fix link errors on mingw.
48971         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
48972         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
48973         $(LIBSOCKET).
48974         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
48975         $(LIBSOCKET).
48977 2010-03-28  Bruno Haible  <bruno@clisp.org>
48978             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48980         lib-ignore: Determine different options for different compilers.
48981         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
48982         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
48983         Add comments.
48984         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
48985         * NEWS: Mention the change.
48987 2010-03-27  Bruno Haible  <bruno@clisp.org>
48989         Remove unused GNULIB_XYZ macro definitions.
48990         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
48991         * modules/fseek (configure.ac): Likewise.
48992         * modules/ioctl (configure.ac): Likewise.
48993         * modules/open (configure.ac): Likewise.
48994         * modules/stdlib-safer (configure.ac): Likewise.
48996 2010-03-27  Bruno Haible  <bruno@clisp.org>
48998         Add a remark about certain modules.
48999         * modules/malloc (Comment): New section.
49000         * modules/realloc (Comment): Likewise.
49001         * modules/sigpipe (Comment): Likewise.
49003 2010-03-27  Bruno Haible  <bruno@clisp.org>
49005         Resolve conflict between the two kinds of module indicators.
49006         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
49007         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
49008         * modules/canonicalize (configure.ac): Invoke
49009         gl_MODULE_INDICATOR_FOR_TESTS.
49010         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
49011         GNULIB_XYZ.
49012         * tests/test-dirent-c++.cc: Likewise.
49013         * tests/test-dirent-safer.c: Likewise.
49014         * tests/test-dup2.c: Likewise.
49015         * tests/test-fchdir.c: Likewise.
49016         * tests/test-fcntl-h-c++.cc: Likewise.
49017         * tests/test-getopt.c: Likewise.
49018         * tests/test-getopt.h: Likewise.
49019         * tests/test-langinfo-c++.cc: Likewise.
49020         * tests/test-locale-c++.cc: Likewise.
49021         * tests/test-math-c++.cc: Likewise.
49022         * tests/test-pty-c++.cc: Likewise.
49023         * tests/test-search-c++.cc: Likewise.
49024         * tests/test-signal-c++.cc: Likewise.
49025         * tests/test-spawn-c++.cc: Likewise.
49026         * tests/test-stdio-c++.cc: Likewise.
49027         * tests/test-stdlib-c++.cc: Likewise.
49028         * tests/test-string-c++.cc: Likewise.
49029         * tests/test-sys_ioctl-c++.cc: Likewise.
49030         * tests/test-sys_select-c++.cc: Likewise.
49031         * tests/test-sys_socket-c++.cc: Likewise.
49032         * tests/test-sys_stat-c++.cc: Likewise.
49033         * tests/test-sys_time-c++.cc: Likewise.
49034         * tests/test-time-c++.cc: Likewise.
49035         * tests/test-unistd-c++.cc: Likewise.
49036         * tests/test-wchar-c++.cc: Likewise.
49037         * tests/uninorm/test-u8-nfc.c: Likewise.
49038         * tests/uninorm/test-u8-nfd.c: Likewise.
49039         * tests/uninorm/test-u8-nfkc.c: Likewise.
49040         * tests/uninorm/test-u8-nfkd.c: Likewise.
49041         * tests/uninorm/test-u16-nfc.c: Likewise.
49042         * tests/uninorm/test-u16-nfd.c: Likewise.
49043         * tests/uninorm/test-u16-nfkc.c: Likewise.
49044         * tests/uninorm/test-u16-nfkd.c: Likewise.
49045         * tests/uninorm/test-u32-nfc.c: Likewise.
49046         * tests/uninorm/test-u32-nfc-big.c: Likewise.
49047         * tests/uninorm/test-u32-nfd.c: Likewise.
49048         * tests/uninorm/test-u32-nfd-big.c: Likewise.
49049         * tests/uninorm/test-u32-nfkc.c: Likewise.
49050         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
49051         * tests/uninorm/test-u32-nfkd.c: Likewise.
49052         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
49053         * tests/uninorm/test-u32-normalize-big.c: Likewise.
49055 2010-03-27  Bruno Haible  <bruno@clisp.org>
49057         Distinguish two kinds of module indicators.
49058         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
49059         gl_MODULE_INDICATOR.
49060         (gl_MODULE_INDICATOR): New macro.
49061         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
49062         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
49063         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
49064         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
49065         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
49066         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
49067         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
49068         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
49069         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
49070         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
49071         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
49072         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
49073         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
49074         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
49075         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
49076         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
49077         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
49078         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
49079         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
49080         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
49081         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
49082         * modules/cloexec (configure.ac): Likewise.
49083         * modules/getopt-gnu (configure.ac): Likewise.
49084         * modules/uninorm/u8-normalize (configure.ac): Likewise.
49085         * modules/uninorm/u16-normalize (configure.ac): Likewise.
49086         * modules/uninorm/u32-normalize (configure.ac): Likewise.
49087         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
49089 2010-03-27  Bruno Haible  <bruno@clisp.org>
49091         New module description field 'Comment'.
49092         * gnulib-tool: New option --extract-comment.
49093         (func_usage): Document it.
49094         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
49095         (func_get_comment): New function.
49096         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
49098 2010-03-27  Bruno Haible  <bruno@clisp.org>
49100         Addendum to 2010-02-07 commit.
49101         * gnulib-tool (func_usage): Document --extract-applicability option.
49103 2010-03-27  Bruno Haible  <bruno@clisp.org>
49105         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
49106         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
49107         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
49108         rather than link errors.
49110 2010-03-27  Bruno Haible  <bruno@clisp.org>
49112         Avoid side effects from tests-related modules on the compilation of lib.
49113         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
49114         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
49115         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
49116         parameter. Emit into AM_CPPFLAGS a definition of the designated C
49117         macro.
49118         (func_import): Define a witness macro. Assign it a value that depends
49119         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
49120         tests-related modules.
49121         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
49122         Reported by Jim Meyering.
49124 2010-03-27  Bruno Haible  <bruno@clisp.org>
49126         Factorize common .m4 code.
49127         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
49128         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
49129         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
49130         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
49131         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
49132         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
49133         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
49134         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
49135         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
49136         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
49137         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
49138         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
49139         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
49140         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
49141         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
49142         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
49143         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
49144         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
49145         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
49146         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
49147         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
49148         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
49149         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
49150         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
49151         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
49152         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
49153         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
49154         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
49155         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
49156         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
49157         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
49158         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
49160 2010-03-27  Bruno Haible  <bruno@clisp.org>
49162         Fix a compilation error on Cygwin with g++ >= 4.3.
49163         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
49164         if it is undefined or if we alias it to chmod.
49165         (lstat): Don't warn about the use of this function if it is undefined
49166         or if we alias it to stat.
49167         Reported by Simon Josefsson.
49169 2010-03-27  Bruno Haible  <bruno@clisp.org>
49171         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
49172         * modules/getlogin (configure.ac): Update.
49174         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
49175         * modules/getlogin_r (configure.ac): Update.
49177         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
49178         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
49179         * modules/inet_ntop (configure.ac): Update.
49181         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
49182         * modules/inet_pton (configure.ac): Update.
49184         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
49185         * modules/mbslen (configure.ac): Update.
49187         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
49188         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
49189         * modules/forkpty (configure.ac): Update.
49190         * modules/openpty (configure.ac): Update.
49192 2010-03-26  Simon Josefsson  <simon@josefsson.org>
49194         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
49195         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
49197 2010-03-25  Eric Blake  <eblake@redhat.com>
49199         maint: use pragma consistently across replacement headers
49200         * lib/ctype.in.h (system_header): Hoist for consistent placement.
49201         * lib/dirent.in.h (system_header): Likewise.
49202         * lib/errno.in.h (system_header): Likewise.
49203         * lib/float.in.h (system_header): Likewise.
49204         * lib/getopt.in.h (system_header): Likewise.
49205         * lib/iconv.in.h (system_header): Likewise.
49206         * lib/inttypes.in.h (system_header): Likewise.
49207         * lib/langinfo.in.h (system_header): Likewise.
49208         * lib/locale.in.h (system_header): Likewise.
49209         * lib/math.in.h (system_header): Likewise.
49210         * lib/netdb.in.h (system_header): Likewise.
49211         * lib/netinet_in.in.h (system_header): Likewise.
49212         * lib/pty.in.h (system_header): Likewise.
49213         * lib/sched.in.h (system_header): Likewise.
49214         * lib/se-selinux.in.h (system_header): Likewise.
49215         * lib/search.in.h (system_header): Likewise.
49216         * lib/spawn.in.h (system_header): Likewise.
49217         * lib/stdarg.in.h (system_header): Likewise.
49218         * lib/stdint.in.h (system_header): Likewise.
49219         * lib/string.in.h (system_header): Likewise.
49220         * lib/strings.in.h (system_header): Likewise.
49221         * lib/sys_file.in.h (system_header): Likewise.
49222         * lib/sys_ioctl.in.h (system_header): Likewise.
49223         * lib/sys_socket.in.h (system_header): Likewise.
49224         * lib/sys_times.in.h (system_header): Likewise.
49225         * lib/sys_utsname.in.h (system_header): Likewise.
49226         * lib/sys_wait.in.h (system_header): Likewise.
49227         * lib/sysexits.in.h (system_header): Likewise.
49228         * lib/unistd.in.h (system_header): Likewise.
49229         * lib/wctype.in.h (system_header): Likewise.
49231         arpa/inet: fix mingw compilation warning
49232         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
49233         Reported by Matthew Bolte.
49235 2010-03-25  Bruno Haible  <bruno@clisp.org>
49237         Avoid collision between gnulib wrapper and libintl wrapper.
49238         * lib/printf.c (printf): Don't define if a printf wrapper is already
49239         defined in intl/printf.c.
49240         Reported by Michel Boaventura <michel@michelboaventura.com>.
49242 2010-03-25  Bruno Haible  <bruno@clisp.org>
49244         Use ANSI C.
49245         * lib/readutmp.h (getutent): Provide ANSI C prototype.
49247 2010-03-25  Bruno Haible  <bruno@clisp.org>
49249         Minor formatting changes.
49250         * lib/acosl.c: Insert space before function argument list.
49251         * lib/argz.c: Likewise.
49252         * lib/asinl.c: Likewise.
49253         * lib/expl.c: Likewise.
49254         * lib/gen-uni-tables.c: Likewise.
49255         * lib/gettext.h: Likewise.
49256         * lib/glthread/lock.h: Likewise.
49257         * lib/tanl.c: Likewise.
49258         * lib/uniname/uniname.c: Likewise.
49259         * tests/test-idpriv-drop.c: Likewise.
49260         * tests/test-idpriv-droptemp.c: Likewise.
49261         * tests/test-lock.c: Likewise.
49262         * tests/test-tls.c: Likewise.
49263         * lib/argp-help.c: Insert space before function-like macro argument
49264         list.
49265         * lib/memcmp.c: Likewise.
49266         * tests/test-base64.c: Likewise.
49267         * lib/localename.c: Insert space before sizeof's argument list.
49268         * lib/safe-alloc.h: Likewise.
49269         * lib/file-set.h: Insert space before macro argument list.
49270         * tests/test-argp.c: Likewise.
49271         * lib/argp-namefrob.h: Insert space before function parameter list.
49272         * lib/getaddrinfo.c: Likewise.
49273         * lib/netdb.in.h: Likewise.
49274         * lib/parse-duration.h: Likewise.
49275         * lib/parse-duration.c: Likewise.
49276         * lib/poll.c: Likewise.
49277         * lib/select.c: Likewise.
49278         * lib/trim.h: Likewise.
49279         * tests/test-usleep.c: Likewise.
49280         * lib/ldexpl.c: Insert space before function parameter list and before
49281         function argument list.
49282         * lib/logl.c: Likewise.
49283         * lib/sqrtl.c: Likewise.
49284         * lib/trim.c: Likewise.
49285         * lib/cosl.c: Use GNU style indentation. Insert space before function
49286         argument list.
49287         * lib/sinl.c: Likewise.
49288         * lib/tsearch.c: Insert space after 'for'.
49289         Reported by Jim Meyering.
49291 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
49293         * maint.mk (sc_Wundef_boolean): Check for the presence of the
49294         config header before grepping, as it's not present before
49295         autoreconf/configure are run.  Reported by Simon Josefsson.
49297 2010-03-23  Bruno Haible  <bruno@clisp.org>
49299         pt_chown: Make it work with automake < 1.11.
49300         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
49301         Reported by Simon Josefsson.
49303 2010-03-23  Bruno Haible  <bruno@clisp.org>
49305         pt_chown: Don't depend on GPLed modules.
49306         * lib/pt_chown.c: Don't include idpriv.h.
49307         (main): Don't drop privileges.
49308         * modules/pt_chown (Depends-on): Remove idpriv-drop.
49309         Reported by Simon Josefsson.
49311 2010-03-24  Simon Josefsson  <simon@josefsson.org>
49313         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
49314         suggestions from karl@freefriends.org (Karl Berry).
49316 2010-03-22  Eric Blake  <eblake@redhat.com>
49318         gethostname: further tweaks
49319         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
49320         are overriding gethostname.
49321         Suggested by Bruno Haible.
49323 2010-03-21  Bruno Haible  <bruno@clisp.org>
49325         Fix comments.
49326         * lib/forkpty.c (rpl_forkpty): Fix comment.
49327         * lib/openpty.c (rpl_openpty): Likewise.
49328         Reported by Eric Blake.
49330 2010-03-22  Eric Blake  <eblake@redhat.com>
49332         gethostname: fix build on mingw
49333         * lib/unistd.in.h (includes): Work around fact that mingw
49334         <winsock2.h> re-includes <unistd.h>, by avoiding any
49335         redeclarations if we are being included by <winsock2.h>.
49336         Reported by Matthias Bolte.
49338 2010-03-21  Bruno Haible  <bruno@clisp.org>
49340         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
49341         * lib/forkpty.c (forkpty): New replacement function, from glibc with
49342         modifications.
49343         * lib/pty.in.h (forkpty): Update declaration. Add comments.
49344         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
49345         provide the replacement.
49346         * modules/forkpty (Depends-on): Add openpty, login_tty.
49347         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
49348         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
49349         * doc/glibc-functions/forkpty.texi: More supported platforms.
49350         * config/srclist.txt: Add forkpty.c (commented).
49352 2010-03-21  Bruno Haible  <bruno@clisp.org>
49354         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
49355         (Makefile.am): Verify that PTY_LIB is defined.
49357         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
49359 2010-03-21  Bruno Haible  <bruno@clisp.org>
49361         Tests for module 'login_tty'.
49362         * modules/login_tty-tests: New file.
49363         * tests/test-login_tty.c: New file.
49365         New module 'login_tty'.
49366         * lib/login_tty.c: New file.
49367         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
49368         * modules/login_tty: New file.
49369         * doc/glibc-functions/login_tty.texi: Mention the new module.
49371 2010-03-21  Bruno Haible  <bruno@clisp.org>
49373         login_tty: Documentation.
49374         * doc/glibc-functions/login_tty.texi: New file.
49375         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
49377 2010-03-21  Bruno Haible  <bruno@clisp.org>
49379         pty: Consistent macro naming.
49380         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
49381         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
49382         * modules/pty (configure.ac): Update.
49384 2010-03-21  Bruno Haible  <bruno@clisp.org>
49386         Tests for openpty: Make stricter.
49387         * tests/test-openpty.c (main): Add test of canonical processing and
49388         erase.
49389         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
49391         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
49392         * lib/openpty.c (openpty): New replacement function.
49393         * lib/pty.in.h: Include <termios.h>.
49394         (openpty): Update declaration. Add comments.
49395         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
49396         is not declared, arrange to provide the replacement. Check for _getpty
49397         and posix_openpt.
49398         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
49399         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
49400         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
49401         * modules/pty-tests (test_pty_c___LDADD): New variable.
49402         * doc/glibc-functions/openpty.texi: More supported platforms.
49404 2010-03-21  Bruno Haible  <bruno@clisp.org>
49406         setenv: Tweaks.
49407         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
49408         the test program.
49409         * doc/posix-functions/setenv.texi: Update platforms list.
49411 2010-03-21  Bruno Haible  <bruno@clisp.org>
49413         New module 'unlockpt'.
49414         * lib/unlockpt.c: New file, from glibc with modifications.
49415         * m4/unlockpt.m4: New file.
49416         * modules/unlockpt: New file.
49417         * lib/stdlib.in.h (unlockpt): New declaration.
49418         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
49419         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
49420         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
49421         HAVE_UNLOCKPT.
49422         * doc/posix-functions/unlockpt.texi: Mention the new module.
49423         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
49424         * config/srclist.txt: Add unlockpt.c (commented).
49426 2010-03-21  Jim Meyering  <meyering@redhat.com>
49428         maint.mk: prohibit inclusion of "intprops.h" without use
49429         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
49431 2010-03-21  Bruno Haible  <bruno@clisp.org>
49433         New module 'grantpt'.
49434         * lib/grantpt.c: New file, from glibc with modifications.
49435         * m4/grantpt.m4: New file.
49436         * modules/grantpt: New file.
49437         * lib/stdlib.in.h (grantpt): New declaration.
49438         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
49439         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
49440         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
49441         HAVE_GRANTPT.
49442         * doc/posix-functions/grantpt.texi: Mention the new module.
49443         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
49444         * config/srclist.txt: Add grantpt.c (commented).
49446 2010-03-21  Bruno Haible  <bruno@clisp.org>
49448         New module 'pt_chown'.
49449         * lib/pt_chown.c: New file, from glibc with modifications.
49450         * lib/pty-private.h: New file, from glibc with modifications.
49451         * modules/pt_chown: New file.
49452         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
49454 2010-03-21  Bruno Haible  <bruno@clisp.org>
49456         Tests for module 'ptsname'.
49457         * modules/ptsname-tests: New file.
49458         * tests/test-ptsname.c: New file.
49460         New module 'ptsname'.
49461         * lib/ptsname.c: New file, from glibc with modifications.
49462         * m4/ptsname.m4: New file.
49463         * modules/ptsname: New file.
49464         * lib/stdlib.in.h (ptsname): New declaration.
49465         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
49466         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
49467         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
49468         HAVE_PTSNAME.
49469         * doc/posix-functions/ptsname.texi: Mention the new module.
49470         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
49471         * config/srclist.txt: Add ptsname.c (commented).
49473 2010-03-21  Bruno Haible  <bruno@clisp.org>
49475         Tests for module 'ttyname_r'.
49476         * modules/ttyname_r-tests: New file.
49477         * tests/test-ttyname_r.c: New file.
49479         New module 'ttyname_r'.
49480         * lib/ttyname_r.c: New file.
49481         * m4/ttyname_r.m4: New file.
49482         * modules/ttyname_r: New file.
49483         * lib/unistd.in.h (ttyname_r): New declaration.
49484         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
49485         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
49486         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
49487         HAVE_TTYNAME_R.
49488         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
49489         * doc/posix-functions/ttyname_r.texi: Mention the new module.
49491 2010-03-20  Bruno Haible  <bruno@clisp.org>
49493         signal: Undefine macro definitions in C++ mode.
49494         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
49495         sigfillset): Undefine macro definitions from the system header in C++
49496         mode.
49497         Reported by John W. Eaton <jwe@gnu.org>.
49499 2010-03-20  Bruno Haible  <bruno@clisp.org>
49501         Ensure no #include statements inside extern "C" { ... }.
49502         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
49503         contain #include statements.
49504         * lib/time.in.h: Likewise.
49506 2010-03-20  Bruno Haible  <bruno@clisp.org>
49508         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
49509         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
49510         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
49511         Reported by John W. Eaton <jwe@gnu.org>.
49513 2010-03-20  Bruno Haible  <bruno@clisp.org>
49515         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
49516         Reported by Jim Meyering.
49518 2010-03-20  Bruno Haible  <bruno@clisp.org>
49520         pipe: Set errno upon failure.
49521         * lib/pipe.h: Specify that when -1 is returned, errno is set.
49522         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
49523         errno value in error message.
49525 2010-03-20  Bruno Haible  <bruno@clisp.org>
49526             Jim Meyering  <meyering@redhat.com>
49528         lchown: Avoid "unused variable" warning.
49529         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
49531 2010-03-20  Bruno Haible  <bruno@clisp.org>
49533         Work around unlink() bug on MacOS X 10.5.6.
49534         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
49535         attempting to unlink a parent directory.
49536         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
49537         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
49538         activate for the replacement function.
49539         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
49541 2010-03-20  Bruno Haible  <bruno@clisp.org>
49543         Fix link errors on Solaris 8.
49544         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
49545         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
49547 2010-03-19  Jim Meyering  <meyering@redhat.com>
49549         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
49550         The _LIBC implementation of build_range_exp correctly honors the
49551         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
49552         However, the non-_LIBC implementation would ignore that syntax-bit
49553         flag and return REG_ERANGE unconditionally.
49554         This change makes it honor that flag.
49555         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
49556         Make two pointer parameters "const".
49557         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
49558         (parse_bracket_exp): Update caller.
49560         regex.m4: correct the reversed range endpoint ([b-a]) test
49561         * m4/regex.m4: When requiring that [b-a] evoke failure,
49562         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
49563         test pass once again for x86-based systems.
49565 2010-03-19  Bruno Haible  <bruno@clisp.org>
49567         scandir: Fix link error on Solaris 8.
49568         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
49569         macros.
49571 2010-03-19  Bruno Haible  <bruno@clisp.org>
49573         getusershell: Fix documentation.
49574         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
49575         module.
49576         * doc/glibc-functions/setusershell.texi: Likewise.
49578         getusershell: Provide declaration, missing on Solaris 9.
49579         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
49580         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
49581         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
49582         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
49583         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49584         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
49585         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
49586         HAVE_GETUSERSHELL.
49587         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
49589 2010-03-19  Bruno Haible  <bruno@clisp.org>
49591         wctype: Provide iswblank function.
49592         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
49593         exists and is fine.
49594         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
49595         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
49596         * tests/test-wctype.c (main): Re-enable the iswblank tests.
49597         * doc/posix-functions/iswblank.texi: Update.
49599 2010-03-19  Bruno Haible  <bruno@clisp.org>
49601         Tests of module 'pty' in C++ mode.
49602         * modules/pty-tests: New file.
49603         * tests/test-pty-c++.cc: New file.
49604         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
49606 2010-03-19  Eric Blake  <eblake@redhat.com>
49608         logb: fix documentation
49609         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
49610         1.5 declaration bug.
49612         forkpty, openpty: prefer glibc's const-safe prototype
49613         * lib/forkpty.c (rpl_forkpty): New file.
49614         * lib/openpty.c (rpl_openpty): Likewise.
49615         * modules/forkpty (Files): Distribute it.
49616         * modules/openpty (Files): Likewise.
49617         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
49618         check...
49619         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
49620         replacement for non-const BSD signature.
49621         * modules/pty (Makefile.am): Substitute witnesses.
49622         * lib/pty.in.h (forkpty, openpty): Declare replacements.
49623         * tests/test-forkpty.c: Update signature check.
49624         * tests/test-openpty.c: Likewise.
49625         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
49626         * doc/glibc-functions/openpty.texi (openpty): Likewise.
49628         forkpty, openpty: split functions into new modules
49629         * modules/pty (Makefile.am): Substitute new witnesses.
49630         (Libraries): Move library detection...
49631         * modules/forkpty: ...into new module.
49632         * modules/openpty: Another new module.
49633         * modules/pty-tests: Rename and split...
49634         * modules/forkpty-tests: ...to this...
49635         * modules/openpty-tests: ...and this.
49636         * tests/test-pty.c: Rename and split...
49637         * tests/test-forkpty.c: ...to this...
49638         * tests/test-openpty.c: ...and this.
49639         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
49640         (gl_PTY): Split library searching...
49641         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
49642         (gl_FORKPTY, gl_OPENPTY): New macros.
49643         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
49644         * NEWS: Mention the split.
49645         * MODULES.html.sh (Misc): Document the modules.
49646         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
49647         * doc/glibc-functions/openpty.texi (openpty): Likewise.
49649         pty: improve replacement header
49650         * lib/pty.in.h: New file.
49651         * modules/pty (Files): Ship it.
49652         (Makefile.am): Always build replacement.
49653         * m4/pty.m4: Rename...
49654         * m4/pty_h.m4: ...to this.
49655         (gl_PTY): Modernize setting of witness macros; update check of
49656         forkpty to take proper advantage of cache.
49657         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
49659         getopt: avoid compiler warning
49660         * lib/getopt.c (attribute_hidden): Remove unused macro.
49662 2010-03-18  Bruno Haible  <bruno@clisp.org>
49664         Fix link errors on Solaris 8.
49665         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
49666         * modules/search-tests (test_search_c___LDADD): Likewise.
49667         * modules/signal-tests (test_signal_c___LDADD): Likewise.
49668         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
49669         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
49670         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
49671         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
49672         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
49673         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
49675 2010-03-18  Bruno Haible  <bruno@clisp.org>
49677         Fix bug introduced on 2010-03-14.
49678         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
49679         (gl_SPAWN_H): Require it.
49680         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
49681         Reported by Simon Josefsson.
49683 2010-03-18  Bruno Haible  <bruno@clisp.org>
49685         Fix typo introduced on 2009-12-31.
49686         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
49687         posix_spawn_file_actions_adddup2.
49689 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
49690         and Eric Blake  <eblake@redhat.com>
49692         test-vc-list-files-git: make more robust
49693         * tests/test-vc-list-files-git.sh: Unset problematic environment
49694         variables.  Chain commands together.
49696 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
49698         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
49699         `AC_CHECK_DECL' invocation.
49701 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
49703         * lib/inttostr.c (inttostr): Make sure the invocation of verify
49704         appears before executable statements. Suggested by Petr Sumbera
49705         <Petr.Sumbera@Sun.COM>.
49707 2010-03-14  Bruno Haible  <bruno@clisp.org>
49709         * tests/test-flock.c (test_exclusive): Comment out a test that causes
49710         portability problems. Instead use a simpler test.
49711         (main): Check that invalid arguments are rejected only on Linux.
49713 2010-03-14  Bruno Haible  <bruno@clisp.org>
49715         Fix bug introduced on 2009-12-31.
49716         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
49717         gl_PREREQ_SYS_H_WINSOCK2 always.
49718         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
49719         SYS_SOCKET_H variable.
49720         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
49721         Update comments.
49722         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
49723         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
49724         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
49725         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
49726         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
49728 2010-03-14  Bruno Haible  <bruno@clisp.org>
49730         Fix values returned by sinl, cosl.
49731         * lib/trigl.h: Add specification comments.
49732         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
49733         that combines the values from the precomputed table with the values of
49734         the Chebyshev polynomials.
49736 2010-03-14  Bruno Haible  <bruno@clisp.org>
49738         Fix compilation error when modules 'posix_spawn[p]' are not used.
49739         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
49740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
49742 2010-03-14  Bruno Haible  <bruno@clisp.org>
49744         Fix compilation error on mingw when module 'time_r' is not used.
49745         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
49746         is 1.
49747         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
49748         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
49749         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
49750         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
49752 2010-03-14  Bruno Haible  <bruno@clisp.org>
49754         Fix compilation error with Sun C.
49755         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
49756         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
49757         instead of GCC specific ULONG_LONG_MAX.
49758         * lib/xstrtoll.c: Likewise.
49759         * lib/xstrtoull.c: Likewise.
49761 2010-03-13  Bruno Haible  <bruno@clisp.org>
49763         Allow the user to disable C++ code and tests.
49764         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
49765         (gl_PROG_ANSI_CXX): Require it.
49767 2010-03-13  Bruno Haible  <bruno@clisp.org>
49769         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
49770         cases.
49772 2010-03-13  Bruno Haible  <bruno@clisp.org>
49774         Test that gnulib does not break the standard C++ headers.
49775         * tests/test-locale-c++2.cc: New file.
49776         * modules/locale-tests (Files): Add it.
49777         (Makefile.am): Compile it for test-locale-c++.
49778         * tests/test-math-c++2.cc: New file.
49779         * modules/math-tests (Files): Add it.
49780         (Makefile.am): Compile it for test-math-c++.
49781         * tests/test-signal-c++2.cc: New file.
49782         * modules/signal-tests (Files): Add it.
49783         (Makefile.am): Compile it for test-signal-c++.
49784         * tests/test-stdio-c++2.cc: New file.
49785         * modules/stdio-tests (Files): Add it.
49786         (Makefile.am): Compile it for test-stdio-c++.
49787         * tests/test-stdlib-c++2.cc: New file.
49788         * modules/stdlib-tests (Files): Add it.
49789         (Makefile.am): Compile it for test-stdlib-c++.
49790         * tests/test-string-c++2.cc: New file.
49791         * modules/string-tests (Files): Add it.
49792         (Makefile.am): Compile it for test-string-c++.
49793         * tests/test-time-c++2.cc: New file.
49794         * modules/time-tests (Files): Add it.
49795         (Makefile.am): Compile it for test-time-c++.
49796         Reported by John W. Eaton <jwe@gnu.org>.
49798 2010-03-13  Bruno Haible  <bruno@clisp.org>
49800         * gnulib-tool (func_usage): Clarify which options are available for
49801         --create-testdir and --create-megatestdir.
49803 2010-03-13  Bruno Haible  <bruno@clisp.org>
49805         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
49806         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
49807         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
49808         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
49809         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
49810         when appropriate.
49811         Reported by Jim Meyering.
49813 2010-03-12  Simon Josefsson  <simon@josefsson.org>
49815         * gnulib-tool (func_import): Explain origin of code.
49817 2010-03-12  Bruno Haible  <bruno@clisp.org>
49819         Fix problem with automake's definition of CXXLINK.
49820         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
49821         Reported by Simon Josefsson and Ludovic Courtès.
49823 2010-03-12  Bruno Haible  <bruno@clisp.org>
49825         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
49826         stable releases.
49828 2010-03-11  Bruno Haible  <bruno@clisp.org>
49830         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
49831         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
49832         whether the system provides one variant or multiple variants of the
49833         function.
49834         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
49835         C++ compilers.
49836         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
49837         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
49838         Reported by Jim Meyering.
49840 2010-03-09  Simon Josefsson  <simon@josefsson.org>
49842         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
49844 2010-03-08  Bruno Haible  <bruno@clisp.org>
49846         gnulib-tool: Add support for --libtool in --create-testdir.
49847         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
49848         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
49850 2010-03-08  Eric Blake  <eblake@redhat.com>
49852         gnulib-tool.texi: mention possibility of git submodule
49853         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
49854         submodules.
49855         * doc/.gitignore: Ignore another generated file.
49857 2010-03-08  Karl Berry  <karl@gnu.org>
49859         * doc/gnulib-tool.texi (VCS Issues): Mention third option
49860         of committing gnulib files while skipping others.
49862 2010-03-07  Bruno Haible  <bruno@clisp.org>
49864         Tests of module 'wctype' in C++ mode.
49865         * tests/test-wctype-c++.cc: New file.
49866         * modules/wctype-tests (Files): Add it and tests/signature.h.
49867         (Depends-on): Add ansi-c++-opt.
49868         (Makefile.am): Arrange to compile and run test-wctype-c++.
49870         Tests of module 'wchar' in C++ mode.
49871         * tests/test-wchar-c++.cc: New file.
49872         * modules/wchar-tests (Files): Add it and tests/signature.h.
49873         (Depends-on): Add ansi-c++-opt.
49874         (Makefile.am): Arrange to compile and run test-wchar-c++.
49875         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
49876         gl_MODULE_INDICATOR.
49878         Tests of module 'unistd' in C++ mode.
49879         * tests/test-unistd-c++.cc: New file.
49880         * modules/unistd-tests (Files): Add it and tests/signature.h.
49881         (Depends-on): Add ansi-c++-opt.
49882         (Makefile.am): Arrange to compile and run test-unistd-c++.
49883         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
49884         gl_MODULE_INDICATOR.
49886         Tests of module 'time' in C++ mode.
49887         * tests/test-time-c++.cc: New file.
49888         * modules/time-tests (Files): Add it and tests/signature.h.
49889         (Depends-on): Add ansi-c++-opt.
49890         (Makefile.am): Arrange to compile and run test-time-c++.
49891         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
49893         Tests of module 'sys_time' in C++ mode.
49894         * tests/test-sys_time-c++.cc: New file.
49895         * modules/sys_time-tests (Files): Add it and tests/signature.h.
49896         (Depends-on): Add ansi-c++-opt.
49897         (Makefile.am): Arrange to compile and run test-sys_time-c++.
49898         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
49899         gl_MODULE_INDICATOR.
49901         Tests of module 'sys_stat' in C++ mode.
49902         * tests/test-sys_stat-c++.cc: New file.
49903         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
49904         (Depends-on): Add ansi-c++-opt.
49905         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
49906         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
49907         gl_MODULE_INDICATOR.
49909         Tests of module 'sys_socket' in C++ mode.
49910         * tests/test-sys_socket-c++.cc: New file.
49911         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
49912         (Depends-on): Add ansi-c++-opt.
49913         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
49914         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
49915         gl_MODULE_INDICATOR.
49917         Tests of module 'sys_select' in C++ mode.
49918         * tests/test-sys_select-c++.cc: New file.
49919         * modules/sys_select-tests (Files): Add it and tests/signature.h.
49920         (Depends-on): Add ansi-c++-opt.
49921         (Makefile.am): Arrange to compile and run test-sys_select-c++.
49922         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
49923         gl_MODULE_INDICATOR.
49925         Tests of module 'sys_ioctl' in C++ mode.
49926         * tests/test-sys_ioctl-c++.cc: New file.
49927         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
49928         (Depends-on): Add ansi-c++-opt.
49929         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
49930         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
49931         gl_MODULE_INDICATOR.
49933         Tests of module 'string' in C++ mode.
49934         * tests/test-string-c++.cc: New file.
49935         * modules/string-tests (Files): Add it and tests/signature.h.
49936         (Depends-on): Add ansi-c++-opt.
49937         (Makefile.am): Arrange to compile and run test-string-c++.
49938         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
49939         gl_MODULE_INDICATOR.
49941         Tests of module 'stdlib' in C++ mode.
49942         * tests/test-stdlib-c++.cc: New file.
49943         * modules/stdlib-tests (Files): Add it and tests/signature.h.
49944         (Depends-on): Add ansi-c++-opt.
49945         (Makefile.am): Arrange to compile and run test-stdlib-c++.
49946         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
49947         gl_MODULE_INDICATOR.
49949         Tests of module 'stdio' in C++ mode.
49950         * tests/test-stdio-c++.cc: New file.
49951         * modules/stdio-tests (Files): Add it and tests/signature.h.
49952         (Depends-on): Add ansi-c++-opt.
49953         (Makefile.am): Arrange to compile and run test-stdio-c++.
49954         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
49955         gl_MODULE_INDICATOR.
49957         Tests of module 'spawn' in C++ mode.
49958         * tests/test-spawn-c++.cc: New file.
49959         * modules/spawn-tests (Files): Add it and tests/signature.h.
49960         (Depends-on): Add ansi-c++-opt.
49961         (Makefile.am): Arrange to compile and run test-spawn-c++.
49962         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
49963         gl_MODULE_INDICATOR.
49965         Tests of module 'signal' in C++ mode.
49966         * tests/test-signal-c++.cc: New file.
49967         * modules/signal-tests (Files): Add it and tests/signature.h.
49968         (Depends-on): Add ansi-c++-opt.
49969         (Makefile.am): Arrange to compile and run test-signal-c++.
49970         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
49971         gl_MODULE_INDICATOR.
49973         Tests of module 'search' in C++ mode.
49974         * tests/test-search-c++.cc: New file.
49975         * modules/search-tests (Files): Add it and tests/signature.h.
49976         (Depends-on): Add ansi-c++-opt.
49977         (Makefile.am): Arrange to compile and run test-search-c++.
49978         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
49979         gl_MODULE_INDICATOR.
49981         Tests of module 'math' in C++ mode.
49982         * tests/test-math-c++.cc: New file.
49983         * modules/math-tests (Files): Add it and tests/signature.h.
49984         (Depends-on): Add ansi-c++-opt.
49985         (Makefile.am): Arrange to compile and run test-math-c++.
49986         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
49988         Tests of module 'locale' in C++ mode.
49989         * tests/test-locale-c++.cc: New file.
49990         * modules/locale-tests (Files): Add it and tests/signature.h.
49991         (Depends-on): Add ansi-c++-opt.
49992         (Makefile.am): Arrange to compile and run test-locale-c++.
49993         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
49994         gl_MODULE_INDICATOR.
49996         Tests of module 'langinfo' in C++ mode.
49997         * tests/test-langinfo-c++.cc: New file.
49998         * modules/langinfo-tests (Files): Add it and tests/signature.h.
49999         (Depends-on): Add ansi-c++-opt.
50000         (Makefile.am): Arrange to compile and run test-langinfo-c++.
50001         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
50002         gl_MODULE_INDICATOR.
50004         Tests of module 'iconv-h' in C++ mode.
50005         * tests/test-iconv-h-c++.cc: New file.
50006         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
50007         (Depends-on): Add ansi-c++-opt.
50008         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
50010         Tests of module 'glob' in C++ mode.
50011         * tests/test-glob-c++.cc: New file.
50012         * modules/glob-tests (Files): Add it.
50013         (Depends-on): Add ansi-c++-opt.
50014         (Makefile.am): Arrange to compile and run test-glob-c++.
50016         Tests of module 'fcntl-h' in C++ mode.
50017         * tests/test-fcntl-h-c++.cc: New file.
50018         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
50019         (Depends-on): Add ansi-c++-opt.
50020         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
50021         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
50022         gl_MODULE_INDICATOR.
50024         Tests of module 'dirent' in C++ mode.
50025         * tests/test-dirent-c++.cc: New file.
50026         * modules/dirent-tests (Files): Add it and tests/signature.h.
50027         (Depends-on): Add ansi-c++-opt.
50028         (Makefile.am): Arrange to compile and run test-dirent-c++.
50029         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
50030         gl_MODULE_INDICATOR.
50032         New module 'ansi-c++-opt'.
50033         * modules/ansi-c++-opt: New file.
50034         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
50036         Document C++ namespace mode.
50037         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
50039         wctype: Avoid #define replacements in C++ mode.
50040         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
50041         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
50042         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
50043         In C++, define a namespaced alias symbol.
50044         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
50045         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
50046         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
50047         rule.
50049         wchar: Avoid #define replacements in C++ mode.
50050         * lib/wchar.in.h: Include c++defs.h.
50051         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
50052         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
50053         symbol.
50054         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
50055         * modules/wchar (Depends-on): Add c++defs.
50056         (Makefile.am): Update wchar.h rule.
50058         unistd: Avoid #define replacements in C++ mode.
50059         * lib/unistd.in.h: Include c++defs.h.
50060         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
50061         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
50062         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
50063         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
50064         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
50065         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
50066         symbol.
50067         (environ): Update.
50068         * modules/unistd (Depends-on): Add c++defs.
50069         (Makefile.am): Update unistd.h rule.
50071         time: Avoid #define replacements in C++ mode.
50072         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
50073         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
50074         define a namespaced alias symbol.
50075         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
50076         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
50077         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
50078         * modules/time (Depends-on): Add c++defs, warn-on-use.
50079         (Makefile.am): Update time.h rule.
50080         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
50081         * modules/nanosleep (configure.ac): Likewise.
50082         * modules/strptime (configure.ac): Likewise.
50083         * modules/timegm (configure.ac): Likewise.
50085         sys_time: Avoid #define replacements in C++ mode.
50086         * lib/sys_time.in.h: Include c++defs.h.
50087         (gettimeofday): In C++, define a namespaced alias symbol.
50088         * modules/sys_time (Depends-on): Add c++defs.
50089         (Makefile.am): Update sys/time.h rule.
50091         sys_stat: Avoid #define replacements in C++ mode.
50092         * lib/sys_stat.in.h: Include c++defs.h.
50093         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
50094         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
50095         namespaced alias symbol.
50096         In C++, define a namespaced alias symbol.
50097         * modules/sys_stat (Depends-on): Add c++defs.
50098         (Makefile.am): Update sys/stat.h rule.
50100         sys_socket: Avoid #define replacements in C++ mode.
50101         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
50102         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
50103         definitions also when the system has a <sys/socket.h>.
50104         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50105         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
50106         In C++, define a namespaced alias symbol.
50107         * modules/sys_socket (Depends-on): Add c++defs.
50108         (Makefile.am): Update sys/socket.h rule.
50110         sys_select: Avoid #define replacements in C++ mode.
50111         * lib/sys_select.in.h: Include c++defs.h. Enable the function
50112         definitions also when the system has a <sys/select.h>.
50113         (select): In C++, define a namespaced alias symbol.
50114         * modules/sys_select (Depends-on): Add c++defs.
50115         (Makefile.am): Update sys/select.h rule.
50117         sys_ioctl: Avoid #define replacements in C++ mode.
50118         * lib/sys_ioctl.in.h: Include c++defs.h.
50119         (ioctl): In C++, define a namespaced alias symbol.
50120         * modules/sys_ioctl (Depends-on): Add c++defs.
50121         (Makefile.am): Update sys/ioctl.h rule.
50123         string: Avoid #define replacements in C++ mode.
50124         * lib/string.in.h: Include c++defs.h.
50125         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
50126         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
50127         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
50128         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
50129         strsignal, strverscmp): In C++, define a namespaced alias symbol.
50130         * modules/string (Depends-on): Add c++defs.
50131         (Makefile.am): Update string.h rule.
50133         stdlib: Avoid #define replacements in C++ mode.
50134         * lib/stdlib.in.h: Include c++defs.h.
50135         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
50136         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
50137         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
50138         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
50139         symbol.
50140         * modules/stdlib (Depends-on): Add c++defs.
50141         (Makefile.am): Update stdlib.h rule.
50143         stdio: Avoid #define replacements in C++ mode.
50144         * lib/stdio.in.h: Include c++defs.h.
50145         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
50146         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
50147         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
50148         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
50149         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
50150         namespaced alias symbol.
50151         * modules/stdio (Depends-on): Add c++defs.
50152         (Makefile.am): Update stdio.h rule.
50154         spawn: Avoid #define replacements in C++ mode.
50155         * lib/spawn.in.h: Include c++defs.h.
50156         (posix_spawn, posix_spawnp, posix_spawnattr_init,
50157         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
50158         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
50159         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
50160         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
50161         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
50162         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
50163         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
50164         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
50165         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
50166         In C++, define a namespaced alias symbol.
50167         * modules/spawn (Depends-on): Add c++defs.
50168         (Makefile.am): Update spawn.h rule.
50170         signal: Avoid #define replacements in C++ mode.
50171         * lib/signal.in.h: Include c++defs.h.
50172         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
50173         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
50174         namespaced alias symbol.
50175         * modules/signal (Depends-on): Add c++defs.
50176         (Makefile.am): Update signal.h rule.
50178         search: Avoid #define replacements in C++ mode.
50179         * lib/search.in.h: Include c++defs.h.
50180         (_gl_search_compar_fn, _gl_search_action_fn): New types.
50181         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
50182         symbol.
50183         * modules/search (Depends-on): Add c++defs.
50184         (Makefile.am): Update search.h rule.
50186         math: Avoid #define replacements in C++ mode.
50187         * lib/math.in.h: Include c++defs.h.
50188         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
50189         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
50190         trunc, truncl): In C++, define a namespaced alias symbol.
50191         * modules/math (Depends-on): Add c++defs.
50192         (Makefile.am): Update math.h rule.
50194         locale: Avoid #define replacements in C++ mode.
50195         * lib/locale.in.h: Include c++defs.h.
50196         (duplocale): In C++, define a namespaced alias symbol.
50197         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
50198         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
50199         * modules/locale (Depends-on): Add c++defs.
50200         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
50202         langinfo: Avoid #define replacements in C++ mode.
50203         * lib/langinfo.in.h: Include c++defs.h.
50204         (nl_langinfo): In C++, define a namespaced alias symbol.
50205         * modules/langinfo (Depends-on): Add c++defs.
50206         (Makefile.am): Update langinfo.h rule.
50208         iconv-h: Avoid #define replacements in C++ mode.
50209         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
50210         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
50211         symbol.
50212         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50213         whenever iconv is present.
50214         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
50215         (Makefile.am): Update iconv.h rule.
50217         glob: Avoid #define replacements in C++ mode.
50218         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
50219         (_gl_glob_errfunc_fn): New type.
50220         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
50221         symbol.
50222         * modules/glob (Depends-on): Add c++defs, warn-on-use.
50223         (Makefile.am): Update glob.h rule.
50225         fcntl-h: Avoid #define replacements in C++ mode.
50226         * lib/fcntl.in.h: Include c++defs.h.
50227         (fcntl, open, openat): In C++, define a namespaced alias symbol.
50228         * modules/fcntl-h (Depends-on): Add c++defs.
50229         (Makefile.am): Update fcntl.h rule.
50231         dirent: Avoid #define replacements in C++ mode.
50232         * lib/dirent.in.h: Include c++defs.h.
50233         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
50234         namespaced alias symbol.
50235         (dirfd): Update declaration.
50236         * modules/dirent (Depends-on): Add c++defs.
50237         (Makefile.am): Update dirent.h rule.
50239         ctype: Make it usable in C++ code.
50240         * lib/ctype.in.h: Include c++defs.h.
50241         (isblank): Declare as extern "C".
50242         * modules/ctype (Depends-on): Add c++defs.
50243         (Makefile.am): Update ctype.h rule.
50245         New module 'c++defs'.
50246         * modules/c++defs: New file.
50247         * build-aux/c++defs.h: New file.
50248         Reported by John W. Eaton <jwe@gnu.org>.
50250 2010-03-07  Bruno Haible  <bruno@clisp.org>
50252         logb: Provide missing declaration for Cygwin.
50253         * lib/math.in.h (logb): New declaration.
50254         * m4/logb.m4: New file.
50255         * modules/logb (Files): Add m4/logb.m4.
50256         (Depends-on): Add math.
50257         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
50258         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
50259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
50260         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
50261         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
50263 2010-03-07  Bruno Haible  <bruno@clisp.org>
50265         Fix test-cond link error.
50266         * tests/test-cond.c: Include <stdio.h>.
50268 2010-03-07  Bruno Haible  <bruno@clisp.org>
50270         Fix test-dirent-safer link error.
50271         * modules/dirent-safer-tests (Makefile.am): Define
50272         test_dirent_safer_LDADD.
50274 2010-03-07  Bruno Haible  <bruno@clisp.org>
50276         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
50277         among default module list.
50279 2010-03-07  Bruno Haible  <bruno@clisp.org>
50281         Fix link error on platforms with GNU libiconv.
50282         * modules/unistr/u8-strcoll-tests (Makefile): Define
50283         test_u8_strcoll_LDADD.
50284         * modules/unistr/u16-strcoll-tests (Makefile): Define
50285         test_u16_strcoll_LDADD.
50286         * modules/unistr/u32-strcoll-tests (Makefile): Define
50287         test_u32_strcoll_LDADD.
50289 2010-03-07  Bruno Haible  <bruno@clisp.org>
50291         Use POSIX declarations for socket functions.
50292         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
50293         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
50294         rpl_sendto): Change declaration to match POSIX.
50295         * lib/connect.c (rpl_connect): Likewise.
50296         * lib/accept.c (rpl_accept): Likewise.
50297         * lib/bind.c (rpl_bind): Likewise.
50298         * lib/getpeername.c (rpl_getpeername): Likewise.
50299         * lib/getsockname.c (rpl_getsockname): Likewise.
50300         * lib/recv.c (rpl_recv): Likewise.
50301         * lib/send.c (rpl_send): Likewise.
50302         * lib/recvfrom.c (rpl_recvfrom): Likewise.
50303         * lib/sendto.c (rpl_sendto): Likewise.
50305 2010-03-06  Bruno Haible  <bruno@clisp.org>
50307         Clarify access, euidaccess, faccessat.
50308         * doc/posix-functions/faccessat.texi: Mention security problem under
50309         "Other problems", not "Portability problems".
50310         * doc/posix-functions/access.texi: Likewise. Mention a related security
50311         problem.
50312         * doc/glibc-functions/euidaccess.texi: Mention security problems.
50313         * lib/euidaccess.c: Add comments about platforms.
50314         * lib/unistd.in.h (access, euidaccess): Add warnings.
50316 2010-03-07  Bruno Haible  <bruno@clisp.org>
50318         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
50319         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
50320         (POSIX_SPAWN_SETSCHEDULER): Likewise.
50321         (POSIX_SPAWN_USEVFORK): Define in a way that works when
50322         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
50323         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
50324         declare when POSIX_SPAWN_SETSCHEDULER is zero.
50325         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
50326         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
50327         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
50328         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
50329         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
50330         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
50331         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
50332         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
50333         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
50334         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
50335         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
50336         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
50337         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
50338         Likewise.
50339         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
50340         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
50341         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
50342         Likewise.
50343         * tests/test-spawn.c (main): Make it work when
50344         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
50346 2010-03-07  Bruno Haible  <bruno@clisp.org>
50348         Fix incorrect Makefile.am generation in German locale.
50349         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50350         Execute sed command with character range in C locale.
50352 2010-03-06  Bruno Haible  <bruno@clisp.org>
50354         Tests for module 'iconv-h'.
50355         * modules/iconv-h-tests: New file.
50356         * tests/test-iconv-h.c: New file.
50358         New module 'iconv-h'.
50359         * modules/iconv-h: New file.
50360         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
50361         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
50362         (configure.ac): Remove gl_ICONV_H.
50363         (Makefile.am): Remove rule for iconv.h.
50365 2010-03-06  Bruno Haible  <bruno@clisp.org>
50367         More consistent naming of *.m4 files.
50368         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
50369         * modules/wctype (Files): Update.
50371         More consistent naming of *.m4 files.
50372         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
50373         * modules/wchar (Files): Update.
50375 2010-03-06  Jim Meyering  <meyering@redhat.com>
50377         euidaccess: relax license to LGPLv2+
50378         * modules/euidaccess (License): Relax to LGPLv2+.
50380 2010-03-06  Bruno Haible  <bruno@clisp.org>
50382         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
50383         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
50384         (Makefile.am): Augment lib_SOURCES instead.
50386 2010-03-04  Jim Meyering  <meyering@redhat.com>
50388         utime: remove obsolete module
50389         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
50390         unnecessary for years, and has been marked as obsolete for 10 months.
50391         * modules/utime: Remove file.
50392         * lib/utime.c: Remove file.
50393         * m4/utime.m4: Remove file.
50394         * m4/utimes-null.m4: Remove file.
50395         * doc/posix-functions/utime.texi (utime): Remove reference to
50396         the module.  Move the sole "fixed by gnulib" item into the
50397         "problems not fixed by Gnulib" list.
50398         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
50400 2010-03-05  Simon Josefsson  <simon@josefsson.org>
50402         * modules/exit (License): Relax license to LGPLv2+.
50403         (Status): Mark as obsolete.
50404         * NEWS: Mention deprecated 'exit' module.
50405         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
50406         of now obsolete 'exit'.
50408 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50410         fts-lgpl: remove unused module
50411         * modules/fts-lgpl: Remove.
50412         * MODULES.html.sh (func_all_modules): Adjust.
50413         * check-module (find_included_lib_files): Adjust.
50414         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
50416 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
50418         copy-acl: enhance Solaris ACL error handling
50419         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
50420         * lib/set-mode-acl.c (qset_acl): Likewise.
50422 2010-03-02  Bruno Haible  <bruno@clisp.org>
50424         spawn: Don't override the system defined values on FreeBSD 8.
50425         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
50426         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
50427         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
50428         if HAVE_POSIX_SPAWN is 1.
50429         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
50431 2010-03-01  Bruno Haible  <bruno@clisp.org>
50433         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
50434         regarding Automake.
50436 2010-02-25  Bruno Haible  <bruno@clisp.org>
50438         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
50439         * gnulib-tool: Define 'echo' as a function only before the ksh alias
50440         setting, not afterwards.
50441         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
50443 2010-02-24  Eric Blake  <eblake@redhat.com>
50445         bootstrap, git-version-gen: use timestamp
50446         * build-aux/git-version-gen (scriptversion): Force UTC.
50447         * build-aux/bootstrap (scriptversion): New variable.
50449         bootstrap: allow older git
50450         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
50451         older than 1.6.4.  Requested by the libvirt project.
50453 2010-02-23  Eric Blake  <eblake@redhat.com>
50455         warn-on-use: work with old autoconf
50456         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
50457         AS_VAR semantics of autoconf 2.60.
50458         Reported by Bruno Haible.
50460         bootstrap: improve some comments
50461         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
50462         clarification comments.
50464         gettimeofday: provide correct function
50465         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
50466         when replacement is declared, otherwise provide gettimeofday.
50467         Reported by Michael Goffioul.
50469 2010-02-23  Jim Meyering  <meyering@redhat.com>
50471         lib-ignore: relax license to "unlimited", not LGPLv2+
50472         * modules/lib-ignore (License): Relax to "unlimited".
50474 2010-02-23  Jim Meyering  <meyering@redhat.com>
50476         lib-ignore: relax license to LGPLv2+
50477         * modules/lib-ignore (License): Relax to LGPLv2+.
50479 2010-02-22  Eric Blake  <eblake@redhat.com>
50481         lseek: avoid bash 3.2 broken pipe bug
50482         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
50483         warning from bash 3.2.
50484         Reported by Ben Pfaff, with analysis from Bruno Haible.
50486         bootstrap: support non-FSF copyright holder
50487         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
50488         bootstrap.conf override of COPYRIGHT_HOLDER.
50489         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
50491         bootstrap: interoperate with gettext 0.14.1
50492         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
50494         bootstrap: allow for alternate submodule location
50495         * build-aux/bootstrap (gnulib_path): New variable; use instead of
50496         hardcoding submodule location.
50497         (gnulib_mk): Allow direct use of Makefile.am.
50499         bootstrap: use GNULIB_SRCDIR to reduce disk usage
50500         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
50501         rather than reconfiguring where the submodule points.
50503         gettimeofday: restore support for platforms that lack function
50504         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
50505         replacement if function is missing.
50506         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
50507         * modules/sys_time (Makefile.am): Substitute it.
50508         * lib/sys_time.in.h (gettimeofday): Check it.
50509         Reported by Michael Goffioul.
50511 2010-02-21  Bruno Haible  <bruno@clisp.org>
50513         * lib/stdio.in.h (obstack_printf): Fix typo.
50515 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
50517         vc-list-files: use bzr ls's -R option
50518         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
50519         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
50521 2010-02-21  Jim Meyering  <meyering@redhat.com>
50523         init.sh: fix EXEEXT shims to work also for names like test-prog
50524         * tests/init.sh: Re-exec a better shell, when needed.
50525         If the current shell lacks support for posix $(...), an init.sh-using
50526         test will now try to find a shell that supports that.  If EXEEXT is
50527         nonempty, we also require support for hyphen-in-alias-name and shell
50528         substitutions like ${var#glob}.  Failure to find such a shell results
50529         in a skipped test.
50531 2010-02-21  Bruno Haible  <bruno@clisp.org>
50533         Really work around "broken pipe" error message from bash 3.2.
50534         * gnulib-tool (func_reset_sigpipe): Remove function.
50535         (echo): In bash 3.2, define to a function that uses printf.
50536         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
50538 2010-02-20  Bruno Haible  <bruno@clisp.org>
50540         Restore support for automake 1.9.6 with autoconf 2.61.
50541         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
50542         Reported by James Youngman <jay@gnu.org>.
50544 2010-02-20  Bruno Haible  <bruno@clisp.org>
50546         Improve *printf warning condition.
50547         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
50548         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
50549         and the function is overridden due to SIGPIPE emulation.
50551 2010-02-20  Bruno Haible  <bruno@clisp.org>
50553         * lib/stdio.in.h: Tweak comments.
50555 2010-02-19  Bruno Haible  <bruno@clisp.org>
50557         Make it easier to find modules. New gnulib-tool option '--find'.
50558         * gnulib-tool: New option --find.
50559         (func_usage): Document it.
50560         (func_sanitize_modulelist): New function, extracted from
50561         func_all_modules.
50562         (func_all_modules): Invoke it.
50563         * doc/gnulib-tool.texi (Which modules?): New node.
50565 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
50567         * lib/sys_select.in.h: Provide select replacement even if
50568         sys/select.h exists on a system, for Interix.
50570 2010-02-18  Jim Meyering  <meyering@redhat.com>
50572         init.sh: don't use $(...) just yet
50573         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
50574         to accommodate e.g., Solaris' /bin/sh.
50576 2010-02-17  Bruno Haible  <bruno@clisp.org>
50578         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
50579         Reported by Ludovic Courtès <ludo@gnu.org>.
50581 2010-02-16  Simon Josefsson  <simon@josefsson.org>
50583         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
50584         linking with -lintl.
50586 2010-02-17  Simon Josefsson  <simon@josefsson.org>
50588         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
50589         if not provided by the system's netdb.h.  Reported by
50590         ludo@gnu.org (Ludovic Courtès).
50592 2010-02-15  Jim Meyering  <meyering@redhat.com>
50594         init.sh: improve portability and efficiency
50595         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
50596         "dummy" in a for loop.
50597         Use '!', not '^' to select the complement of a character set used
50598         in a "case" statement.
50599         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
50600         Suggestions from Eric Blake.
50602         init.sh: automatically accommodate programs with the .exe suffix
50603         Automatically arrange for an invocation of "prog" to execute the
50604         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
50605         may use the simpler "prog", yet still work when built on a system
50606         that requires specifying the added suffix.
50607         Do this by constructing a function named "prog" that invokes
50608         "prog.exe" for each .exe file in selected directories.
50609         * tests/init.sh (find_exe_basenames_): New function.
50610         (create_exe_shim_functions_): New function.
50611         (path_prepend_): Use it.
50613         maint.mk: mark syntax-check sc_*.m rules as .PHONY
50614         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
50615         "make -t syntax-check" doesn't create a ton of sc_*.m files.
50617 2010-02-14  Jim Meyering  <meyering@redhat.com>
50619         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
50620         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
50621         (sc_prohibit_hash_pjw_without_use): New rule.
50623         maint.mk: allow the default upload destination dir to be overridden
50624         * top/maint.mk (upload_dest_dir_): Define with a default that
50625         preserves the status quo.
50626         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
50627         Reported by Peter Simons.
50629         maint.mk: prohibit inclusion of "hash.h" without_use
50630         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
50632 2010-02-10  Jim Meyering  <meyering@redhat.com>
50634         maint.mk: prohibit inclusion of "ignore-value.h" without_use
50635         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
50637 2010-02-09  Eric Blake  <ebb9@byu.net>
50638         and Bruno Haible  <bruno@clisp.org>
50640         obstack-printf-posix: ensure declaration
50641         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
50642         extracted from gl_FUNC_OBSTACK_PRINTF.
50643         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
50644         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
50645         Likewise.
50646         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
50647         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
50648         0.
50650 2010-02-08  Bruno Haible  <bruno@clisp.org>
50652         gnulib-tool: Fix typo in 2010-02-07 commit.
50653         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
50654         Reported by Eric Blake.
50656 2010-02-07  Bruno Haible  <bruno@clisp.org>
50658         gnulib-tool: Fix up caching patches.
50659         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
50660         option --no-cache. Use associative arrays when supported by the shell.
50661         (sed_comments): New variable.
50662         (modcache): Renamed from do_cache.
50663         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
50664         abbreviate unnecessarily.
50665         (have_associative): New variable.
50666         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
50667         way also for ksh and zsh.
50668         (func_init_sed_convert_to_cache_statements): New function, extracted
50669         from func_cache_lookup_module. Add support for associative arrays.
50670         Don't set the c_MODULE_cached variable here. Ignore all lines before
50671         the first field header. Remove only the final newline, not all trailing
50672         newlines. Support empty fields correctly. Limit the use of 'eval' to
50673         assignments.
50674         (func_get_description, func_get_status, func_get_notice,
50675         func_get_applicability, func_get_filelist, func_get_dependencies,
50676         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
50677         func_get_automake_snippet, func_get_include_directive,
50678         func_get_link_directive, func_get_license, func_get_maintainer):
50679         Update documentation. List the unoptimized code first. Add support for
50680         associative arrays. Limit the use of 'eval' to assignments.
50681         (func_get_applicability): Undo stylistic pessimisations.
50682         (func_get_automake_snippet, func_get_include_directive): Reduce code
50683         duplication.
50684         (func_modules_transitive_closure, func_modules_add_dummy,
50685         func_modules_notice, func_modules_to_filelist, func_add_file,
50686         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
50687         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
50688         func_create_testdir, func_create_megatestdir): Update documentation.
50690 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50692         * gnulib-tool (func_cache_lookup_module): Store the module name
50693         belonging to the cache variable; error out if two different
50694         module names map to the same cache variable name.
50696 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50698         gnulib-tool: Make caching optional.
50699         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
50700         Update matching short versions of --no-changelog.
50701         (func_usage): Update.
50702         (sed_extract_cache_prog): Renamed from ...
50703         (sed_extract_prog): ... this; revert to old extraction script.
50704         (func_get_description, func_get_status)
50705         (func_get_notice, func_get_applicability, func_get_filelist)
50706         (func_get_dependencies, func_get_autoconf_early_snippet)
50707         (func_get_autoconf_snippet, func_get_automake_snippet)
50708         (func_get_include_directive, func_get_link_directive)
50709         (func_get_license, func_get_maintainer): If $do_cache is false,
50710         use old, non-caching extraction scripts.
50711         Suggestion by Bruno Haible.
50713 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50715         gnulib-tool: cache module metainformation.
50716         * gnulib-tool (sed_extract_prog): Match newline before each
50717         header, and rewrite header to a shell variable suffix.
50718         (func_cache_var, func_cache_lookup_module): New functions,
50719         to turn a module name into a cache variable prefix, and to
50720         look up and cache module metainformation.
50721         (func_get_description, func_get_status)
50722         (func_get_notice, func_get_applicability, func_get_filelist)
50723         (func_get_dependencies, func_get_autoconf_early_snippet)
50724         (func_get_autoconf_snippet, func_get_automake_snippet)
50725         (func_get_include_directive, func_get_link_directive)
50726         (func_get_license, func_get_maintainer): Use
50727         func_cache_lookup_module.
50729 2010-02-07  Bruno Haible  <bruno@clisp.org>
50731         fnctl: Fix missing dependency.
50732         * modules/fcntl (Depends-on): Add getdtablesize.
50733         Reported by John W. Eaton <jwe@gnu.org>.
50735 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
50737         Argp: fix recognition of short alias options.
50739         * lib/argp-parse.c (convert_options): Fix improper use of
50740         `|' between character values.
50741         * tests/test-argp.c (group1_option): New alias option
50742         --read (-r).
50743         (group1_parser): Special handling for 'r'.
50744         (test15): New test case.
50745         (test_fun): Add test15.
50746         * tests/test-argp-2.sh: Update expected --help and --usage
50747         outputs.
50749 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
50751         * tests/test-argp.c: Fix indentation.
50753 2010-02-04  Eric Blake  <ebb9@byu.net>
50755         gettimeofday: expose type of second argument
50756         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
50757         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
50758         * tests/test-gettimeofday.c: Use it to silence warning.
50759         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
50760         the issue.
50762 2010-02-03  Jim Meyering  <meyering@redhat.com>
50764         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
50765         * lib/regcomp.c (TYPE_SIGNED): Define.
50766         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
50768         regcomp.c: avoid a new -Wshadow warning
50769         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
50771 2010-02-01  Jim Meyering  <meyering@redhat.com>
50773         removing useless parentheses in cpp #define directives
50774         For motivation, see commit c0221df4, "define STREQ(a,b)
50775         consistently, removing useless parentheses"
50776         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
50777         * lib/mountlist.c (MNT_IGNORE): Likewise.
50778         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
50780 2010-02-01  Eric Blake  <ebb9@byu.net>
50782         sys_time: use link-warning
50783         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
50784         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
50785         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
50786         * modules/sys_time (Depends-on): Add warn-on-use.
50787         (Makefile.am): Always build replacement.
50788         (configure.ac): Update substitutions.
50789         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
50790         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
50791         bother with SYS_TIME_H.
50792         * modules/gettimeofday (configure.ac): Declare indicator.
50793         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
50794         in use.
50796         closein-tests: silence compiler warning
50797         * tests/test-closein.c (main): Ignore fread result.
50798         * modules/closein-tests (Depends-on): Add ignore-value.
50800         tests: silence warning about system return
50801         * tests/test-areadlink-with-size.c (main): Ignore system result.
50802         * tests/test-areadlink.c (main): Likewise.
50803         * tests/test-areadlinkat-with-size.c (main): Likewise.
50804         * tests/test-areadlinkat.c (main): Likewise.
50805         * tests/test-canonicalize-lgpl.c (main): Likewise.
50806         * tests/test-canonicalize.c (main): Likewise.
50807         * tests/test-chown.c (main): Likewise.
50808         * tests/test-fchownat.c (main): Likewise.
50809         * tests/test-fdutimensat.c (main): Likewise.
50810         * tests/test-fstatat.c (main): Likewise.
50811         * tests/test-futimens.c (main): Likewise.
50812         * tests/test-lchown.c (main): Likewise.
50813         * tests/test-link.c (main): Likewise.
50814         * tests/test-linkat.c (main): Likewise.
50815         * tests/test-lstat.c (main): Likewise.
50816         * tests/test-mkdir.c (main): Likewise.
50817         * tests/test-mkdirat.c (main): Likewise.
50818         * tests/test-mkfifo.c (main): Likewise.
50819         * tests/test-mkfifoat.c (main): Likewise.
50820         * tests/test-mknod.c (main): Likewise.
50821         * tests/test-readlink.c (main): Likewise.
50822         * tests/test-remove.c (main): Likewise.
50823         * tests/test-rename.c (main): Likewise.
50824         * tests/test-renameat.c (main): Likewise.
50825         * tests/test-rmdir.c (main): Likewise.
50826         * tests/test-symlink.c (main): Likewise.
50827         * tests/test-symlinkat.c (main): Likewise.
50828         * tests/test-unlink.c (main): Likewise.
50829         * tests/test-unlinkat.c (main): Likewise.
50830         * tests/test-utimens.c (main): Likewise.
50831         * tests/test-utimensat.c (main): Likewise.
50832         * modules/areadlink-tests (Depends-on): Add ignore-value.
50833         * modules/areadlink-with-size-tests (Depends-on): Likewise.
50834         * modules/areadlinkat-tests (Depends-on): Likewise.
50835         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
50836         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
50837         * modules/canonicalize-tests (Depends-on): Likewise.
50838         * modules/chown-tests (Depends-on): Likewise.
50839         * modules/fdutimensat-tests (Depends-on): Likewise.
50840         * modules/futimens-tests (Depends-on): Likewise.
50841         * modules/lchown-tests (Depends-on): Likewise.
50842         * modules/link-tests (Depends-on): Likewise.
50843         * modules/linkat-tests (Depends-on): Likewise.
50844         * modules/lstat-tests (Depends-on): Likewise.
50845         * modules/mkdir-tests (Depends-on): Likewise.
50846         * modules/mkfifo-tests (Depends-on): Likewise.
50847         * modules/mkfifoat-tests (Depends-on): Likewise.
50848         * modules/mknod-tests (Depends-on): Likewise.
50849         * modules/openat-tests (Depends-on): Likewise.
50850         * modules/readlink-tests (Depends-on): Likewise.
50851         * modules/remove-tests (Depends-on): Likewise.
50852         * modules/rename-tests (Depends-on): Likewise.
50853         * modules/renameat-tests (Depends-on): Likewise.
50854         * modules/rmdir-tests (Depends-on): Likewise.
50855         * modules/symlink-tests (Depends-on): Likewise.
50856         * modules/symlinkat-tests (Depends-on): Likewise.
50857         * modules/unlink-tests (Depends-on): Likewise.
50858         * modules/utimens-tests (Depends-on): Likewise.
50859         * modules/utimensat-tests (Depends-on): Likewise.
50861 2010-01-31  Bruno Haible  <bruno@clisp.org>
50863         Perform the same test for many <math.h> functions.
50864         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
50865         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
50866         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
50867         of gl_MATHFUNC.
50868         * modules/acos (configure.ac): Likewise.
50869         * modules/asin (configure.ac): Likewise.
50870         * modules/atan (configure.ac): Likewise.
50871         * modules/atan2 (configure.ac): Likewise.
50872         * modules/cbrt (configure.ac): Likewise.
50873         * modules/copysign (configure.ac): Likewise.
50874         * modules/cos (configure.ac): Likewise.
50875         * modules/cosh (configure.ac): Likewise.
50876         * modules/erf (configure.ac): Likewise.
50877         * modules/erfc (configure.ac): Likewise.
50878         * modules/exp (configure.ac): Likewise.
50879         * modules/fmod (configure.ac): Likewise.
50880         * modules/hypot (configure.ac): Likewise.
50881         * modules/j0 (configure.ac): Likewise.
50882         * modules/j1 (configure.ac): Likewise.
50883         * modules/jn (configure.ac): Likewise.
50884         * modules/lgamma (configure.ac): Likewise.
50885         * modules/log (configure.ac): Likewise.
50886         * modules/log10 (configure.ac): Likewise.
50887         * modules/log1p (configure.ac): Likewise.
50888         * modules/pow (configure.ac): Likewise.
50889         * modules/remainder (configure.ac): Likewise.
50890         * modules/sin (configure.ac): Likewise.
50891         * modules/sinh (configure.ac): Likewise.
50892         * modules/tan (configure.ac): Likewise.
50893         * modules/tanh (configure.ac): Likewise.
50894         * modules/y0 (configure.ac): Likewise.
50895         * modules/y1 (configure.ac): Likewise.
50896         * modules/yn (configure.ac): Likewise.
50897         Suggested by Paolo Bonzini.
50899 2010-01-31  Bruno Haible  <bruno@clisp.org>
50901         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
50903 2010-01-31  Bruno Haible  <bruno@clisp.org>
50905         Work around getdelim() bug on FreeBSD 8.0.
50906         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
50907         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
50908         not work.
50909         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
50910         is 1.
50911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
50912         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
50913         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
50914         a non-zero size.
50915         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
50917 2010-01-31  Bruno Haible  <bruno@clisp.org>
50919         Work around getline() bug on FreeBSD 8.0.
50920         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
50921         and a non-zero size.
50922         * tests/test-getline.c (main): Likewise.
50923         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
50924         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
50926 2010-01-28  Eric Blake  <ebb9@byu.net>
50928         regex: fix build failure
50929         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
50930         platforms.
50932 2010-01-28  Jim Meyering  <meyering@redhat.com>
50934         regex: do not ignore memory allocation failure
50935         * lib/regex_internal.c (create_cd_newstate): Detect
50936         re_node_set_init_copy failure.   Extracted from glibc commit
50937         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
50939         regex: sync more white-space changes from libc
50940         * lib/regex_internal.c: White-space only changes.
50941         * lib/regexec.c: Likewise.
50943         regex: add many uses of __attribute_warn_unused_result__
50944         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
50945         * lib/regexec.c: Likewise.
50946         Extracted from a messy glibc commit.
50948         regcomp.c: spelling and merge-artifact from glibc
50949         * lib/regcomp.c: Merge remainder of glibc's
50950         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
50952         regcomp.c: sync white-space changes from glibc
50953         * lib/regcomp.c: Merge to accommodate white space
50954         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
50956         regcomp.c: do not ignore internal return values
50957         * lib/regcomp.c: Do not ignore internal return values.
50958         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
50959         but without its white-space changes and spelling fixes.
50961         regex_internal.h: define __attribute_warn_unused_result__
50962         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
50964         maint: add a syntax-check rule to check for vulnerable Makefile.in
50965         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
50967 2010-01-27  Jim Meyering  <meyering@redhat.com>
50969         ncftpput-ftp: clean up spaces
50970         * build-aux/ncftpput-ftp: Make Copyright line consistent.
50971         Remove trailing blanks.
50973 2010-01-27  Simon Josefsson  <simon@josefsson.org>
50975         * build-aux/git-version-gen: Fix copyright statement.
50976         * build-aux/gnupload: Likewise.
50977         * tests/test-arcfour.c: Likewise.
50978         * tests/test-arctwo.c: Likewise.
50979         * tests/test-count-one-bits.c: Likewise.
50980         * tests/test-crc.c: Likewise.
50981         * tests/test-des.c: Likewise.
50982         * tests/test-gc-arcfour.c: Likewise.
50983         * tests/test-gc-arctwo.c: Likewise.
50984         * tests/test-gc-des.c: Likewise.
50985         * tests/test-gc-hmac-md5.c: Likewise.
50986         * tests/test-gc-hmac-sha1.c: Likewise.
50987         * tests/test-gc-md2.c: Likewise.
50988         * tests/test-gc-md4.c: Likewise.
50989         * tests/test-gc-md5.c: Likewise.
50990         * tests/test-gc-pbkdf2-sha1.c: Likewise.
50991         * tests/test-gc-rijndael.c: Likewise.
50992         * tests/test-gc-sha1.c: Likewise.
50993         * tests/test-gc.c: Likewise.
50994         * tests/test-gethostname.c: Likewise.
50995         * tests/test-gettimeofday.c: Likewise.
50996         * tests/test-hash.c: Likewise.
50997         * tests/test-hmac-md5.c: Likewise.
50998         * tests/test-hmac-sha1.c: Likewise.
50999         * tests/test-md2.c: Likewise.
51000         * tests/test-md4.c: Likewise.
51001         * tests/test-md5.c: Likewise.
51002         * tests/test-memchr.c: Likewise.
51003         * tests/test-memchr2.c: Likewise.
51004         * tests/test-memcmp.c: Likewise.
51005         * tests/test-memmem.c: Likewise.
51006         * tests/test-memrchr.c: Likewise.
51007         * tests/test-rawmemchr.c: Likewise.
51008         * tests/test-read-file.c: Likewise.
51009         * tests/test-rijndael.c: Likewise.
51010         * tests/test-sockets.c: Likewise.
51011         * tests/test-strchrnul.c: Likewise.
51012         * tests/test-strstr.c: Likewise.
51013         * tests/test-strtod.c: Likewise.
51014         * build-aux/ncftpput-ftp: Likewise.
51016 2010-01-26  Eric Blake  <ebb9@byu.net>
51018         ignore-value: update recommended header name
51019         * modules/ignore-value (Include): Only use <> for headers that
51020         exist in glibc.
51022 2010-01-26  Jim Meyering  <meyering@redhat.com>
51024         test-userspec.c: avoid compiler warnings
51025         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
51026         and "initialization discards qualifiers..." warnings.
51027         Put the first "uid" in its own scope, and make char* members "const".
51029 2010-01-25  Bruno Haible  <bruno@clisp.org>
51031         gnulib-tool: Make warning diagnostics consistent.
51032         * gnulib-tool (func_warning): New function.
51033         Use it everywhere where gnulib-tool produces output to stderr and it is
51034         not a fatal error.
51036 2010-01-25  Bruno Haible  <bruno@clisp.org>
51038         Fix test dependencies.
51039         * modules/xstrtol-tests (Depends-on): Add inttypes.
51040         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
51042 2010-01-25  Pádraig Brady  <P@draigBrady.com>
51044         syntax-check: detect incorrect boolean macro values in config.h
51045         * modules/maintainer-makefile (configure.ac): Parameterize the location
51046         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
51047         The logic is from Eric Blake and the location indicated by Jim Meyering.
51048         Note the more natural CONFIG_HEADER name is prohibited by automake
51049         for backwards compatibility reasons.
51050         * top/maint.mk (sc_Wundef_boolean): New rule.
51052 2010-01-25  Jim Meyering  <meyering@redhat.com>
51054         bootstrap: detect MacOS 10.6's shasum, too
51055         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
51056         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
51058 2010-01-23  Jim Meyering  <meyering@redhat.com>
51060         xstrtoll: new module
51061         * modules/xstrtoll: New file.
51062         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
51063         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
51064         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
51065         ./configure fails if you use this module and lack "long long".
51066         * modules/xstrtoll-tests: New module.
51067         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
51068         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
51069         new init.sh-based test framework.
51071 2010-01-24  Bruno Haible  <bruno@clisp.org>
51073         Tests for module 'yn'.
51074         * modules/yn-tests: New file.
51075         * tests/test-yn.c: New file.
51077         Tests for module 'y1'.
51078         * modules/y1-tests: New file.
51079         * tests/test-y1.c: New file.
51081         Tests for module 'y0'.
51082         * modules/y0-tests: New file.
51083         * tests/test-y0.c: New file.
51085         Tests for module 'tanh'.
51086         * modules/tanh-tests: New file.
51087         * tests/test-tanh.c: New file.
51089         Tests for module 'tan'.
51090         * modules/tan-tests: New file.
51091         * tests/test-tan.c: New file.
51093         Tests for module 'sqrt'.
51094         * modules/sqrt-tests: New file.
51095         * tests/test-sqrt.c: New file.
51097         Tests for module 'sinh'.
51098         * modules/sinh-tests: New file.
51099         * tests/test-sinh.c: New file.
51101         Tests for module 'sin'.
51102         * modules/sin-tests: New file.
51103         * tests/test-sin.c: New file.
51105         Tests for module 'rint'.
51106         * modules/rint-tests: New file.
51107         * tests/test-rint.c: New file.
51109         Tests for module 'remainder'.
51110         * modules/remainder-tests: New file.
51111         * tests/test-remainder.c: New file.
51113         Tests for module 'pow'.
51114         * modules/pow-tests: New file.
51115         * tests/test-pow.c: New file.
51117         Tests for module 'nextafter'.
51118         * modules/nextafter-tests: New file.
51119         * tests/test-nextafter.c: New file.
51121         Tests for module 'modf'.
51122         * modules/modf-tests: New file.
51123         * tests/test-modf.c: New file.
51125         Tests for module 'logb'.
51126         * modules/logb-tests: New file.
51127         * tests/test-logb.c: New file.
51129         Tests for module 'log1p'.
51130         * modules/log1p-tests: New file.
51131         * tests/test-log1p.c: New file.
51133         Tests for module 'log10'.
51134         * modules/log10-tests: New file.
51135         * tests/test-log10.c: New file.
51137         Tests for module 'log'.
51138         * modules/log-tests: New file.
51139         * tests/test-log.c: New file.
51141         Tests for module 'lgamma'.
51142         * modules/lgamma-tests: New file.
51143         * tests/test-lgamma.c: New file.
51145         Tests for module 'ldexp'.
51146         * modules/ldexp-tests: New file.
51147         * tests/test-ldexp.c: New file.
51149         Tests for module 'jn'.
51150         * modules/jn-tests: New file.
51151         * tests/test-jn.c: New file.
51153         Tests for module 'j1'.
51154         * modules/j1-tests: New file.
51155         * tests/test-j1.c: New file.
51157         Tests for module 'j0'.
51158         * modules/j0-tests: New file.
51159         * tests/test-j0.c: New file.
51161         Tests for module 'hypot'.
51162         * modules/hypot-tests: New file.
51163         * tests/test-hypot.c: New file.
51165         Tests for module 'fmod'.
51166         * modules/fmod-tests: New file.
51167         * tests/test-fmod.c: New file.
51169         Tests for module 'fabs'.
51170         * modules/fabs-tests: New file.
51171         * tests/test-fabs.c: New file.
51173         Tests for module 'exp'.
51174         * modules/exp-tests: New file.
51175         * tests/test-exp.c: New file.
51177         Tests for module 'erfc'.
51178         * modules/erfc-tests: New file.
51179         * tests/test-erfc.c: New file.
51181         Tests for module 'erf'.
51182         * modules/erf-tests: New file.
51183         * tests/test-erf.c: New file.
51185         Tests for module 'cosh'.
51186         * modules/cosh-tests: New file.
51187         * tests/test-cosh.c: New file.
51189         Tests for module 'cos'.
51190         * modules/cos-tests: New file.
51191         * tests/test-cos.c: New file.
51193         Tests for module 'copysign'.
51194         * modules/copysign-tests: New file.
51195         * tests/test-copysign.c: New file.
51197         Tests for module 'cbrt'.
51198         * modules/cbrt-tests: New file.
51199         * tests/test-cbrt.c: New file.
51201         Tests for module 'atan2'.
51202         * modules/atan2-tests: New file.
51203         * tests/test-atan2.c: New file.
51205         Tests for module 'atan'.
51206         * modules/atan-tests: New file.
51207         * tests/test-atan.c: New file.
51209         Tests for module 'asin'.
51210         * modules/asin-tests: New file.
51211         * tests/test-asin.c: New file.
51213         Tests for module 'acos'.
51214         * modules/acos-tests: New file.
51215         * tests/test-acos.c: New file.
51217 2010-01-24  Bruno Haible  <bruno@clisp.org>
51219         Fix tests for common <math.h> functions.
51220         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
51221         code snippet that references the function pointer, rather than merely
51222         calling the function. Substitute the FUNC_LIBM variable.
51223         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
51224         * modules/acos (configure.ac): Likewise.
51225         * modules/asin (configure.ac): Likewise.
51226         * modules/atan (configure.ac): Likewise.
51227         * modules/atan2 (configure.ac): Likewise.
51228         * modules/cbrt (configure.ac): Likewise.
51229         * modules/copysign (configure.ac): Likewise.
51230         * modules/cos (configure.ac): Likewise.
51231         * modules/cosh (configure.ac): Likewise.
51232         * modules/erf (configure.ac): Likewise.
51233         * modules/erfc (configure.ac): Likewise.
51234         * modules/exp (configure.ac): Likewise.
51235         * modules/fabs (configure.ac): Likewise.
51236         * modules/fmod (configure.ac): Likewise.
51237         * modules/hypot (configure.ac): Likewise.
51238         * modules/j0 (configure.ac): Likewise.
51239         * modules/j1 (configure.ac): Likewise.
51240         * modules/jn (configure.ac): Likewise.
51241         * modules/ldexp (configure.ac): Likewise.
51242         * modules/lgamma (configure.ac): Likewise.
51243         * modules/log (configure.ac): Likewise.
51244         * modules/log10 (configure.ac): Likewise.
51245         * modules/log1p (configure.ac): Likewise.
51246         * modules/logb (configure.ac): Likewise.
51247         * modules/modf (configure.ac): Likewise.
51248         * modules/nextafter (configure.ac): Likewise.
51249         * modules/pow (configure.ac): Likewise.
51250         * modules/remainder (configure.ac): Likewise.
51251         * modules/rint (configure.ac): Likewise.
51252         * modules/sin (configure.ac): Likewise.
51253         * modules/sinh (configure.ac): Likewise.
51254         * modules/tan (configure.ac): Likewise.
51255         * modules/tanh (configure.ac): Likewise.
51256         * modules/y0 (configure.ac): Likewise.
51257         * modules/y1 (configure.ac): Likewise.
51258         * modules/yn (configure.ac): Likewise.
51260 2010-01-24  Bruno Haible  <bruno@clisp.org>
51262         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
51263         * tests/test-acosl.c (x): New variable.
51264         (main): Store argument in x and fetch it from x.
51265         * tests/test-asinl.c (x): New variable.
51266         (main): Store argument in x and fetch it from x.
51267         * tests/test-atanl.c (x): New variable.
51268         (main): Store argument in x and fetch it from x.
51269         * tests/test-cosl.c (x): New variable.
51270         (main): Store argument in x and fetch it from x.
51271         * tests/test-expl.c (x): New variable.
51272         (main): Store argument in x and fetch it from x.
51273         * tests/test-logl.c (x): New variable.
51274         (main): Store argument in x and fetch it from x.
51275         * tests/test-sinl.c (x): New variable.
51276         (main): Store argument in x and fetch it from x.
51277         * tests/test-sqrtl.c (x): New variable.
51278         (main): Store argument in x and fetch it from x.
51279         * tests/test-tanl.c (x): New variable.
51280         (main): Store argument in x and fetch it from x.
51282 2010-01-24  Bruno Haible  <bruno@clisp.org>
51284         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
51285         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
51286         assignments to the initial TESTS_ENVIRONMENT.
51287         * doc/gnulib.texi (Unit test modules): Document it.
51288         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
51289         TESTS_ENVIRONMENT.
51290         * modules/btowc-tests (Makefile.am): Likewise.
51291         * modules/c-stack-tests (Makefile.am): Likewise.
51292         * modules/c-strcase-tests (Makefile.am): Likewise.
51293         * modules/copy-file-tests (Makefile.am): Likewise.
51294         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
51295         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
51296         * modules/mbrtowc-tests (Makefile.am): Likewise.
51297         * modules/mbscasecmp-tests (Makefile.am): Likewise.
51298         * modules/mbscasestr-tests (Makefile.am): Likewise.
51299         * modules/mbschr-tests (Makefile.am): Likewise.
51300         * modules/mbscspn-tests (Makefile.am): Likewise.
51301         * modules/mbsinit-tests (Makefile.am): Likewise.
51302         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
51303         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
51304         * modules/mbspbrk-tests (Makefile.am): Likewise.
51305         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
51306         * modules/mbsrchr-tests (Makefile.am): Likewise.
51307         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
51308         * modules/mbsspn-tests (Makefile.am): Likewise.
51309         * modules/mbsstr-tests (Makefile.am): Likewise.
51310         * modules/nl_langinfo-tests (Makefile.am): Likewise.
51311         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
51312         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
51313         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
51314         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
51315         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
51316         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
51317         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
51318         * modules/wcrtomb-tests (Makefile.am): Likewise.
51319         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
51320         * modules/wcsrtombs-tests (Makefile.am): Likewise.
51321         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
51322         assignments from TESTS_ENVIRONMENT.
51323         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
51324         augmentation.
51325         * modules/argp-version-etc-tests (Makefile.am): Likewise.
51326         * modules/atexit-tests (Makefile.am): Likewise.
51327         * modules/binary-io-tests (Makefile.am): Likewise.
51328         * modules/closein-tests (Makefile.am): Likewise.
51329         * modules/dprintf-posix-tests (Makefile.am): Likewise.
51330         * modules/exclude-tests (Makefile.am): Likewise.
51331         * modules/fflush-tests (Makefile.am): Likewise.
51332         * modules/fpending-tests (Makefile.am): Likewise.
51333         * modules/fprintf-posix-tests (Makefile.am): Likewise.
51334         * modules/freadahead-tests (Makefile.am): Likewise.
51335         * modules/freadptr-tests (Makefile.am): Likewise.
51336         * modules/freadseek-tests (Makefile.am): Likewise.
51337         * modules/fseek-tests (Makefile.am): Likewise.
51338         * modules/fseeko-tests (Makefile.am): Likewise.
51339         * modules/ftell-tests (Makefile.am): Likewise.
51340         * modules/ftello-tests (Makefile.am): Likewise.
51341         * modules/idpriv-drop-tests (Makefile.am): Likewise.
51342         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
51343         * modules/lseek-tests (Makefile.am): Likewise.
51344         * modules/parse-duration-tests (Makefile.am): Likewise.
51345         * modules/perror-tests (Makefile.am): Likewise.
51346         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
51347         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
51348         * modules/pipe-tests (Makefile.am): Likewise.
51349         * modules/pread-tests (Makefile.am): Likewise.
51350         * modules/printf-posix-tests (Makefile.am): Likewise.
51351         * modules/select-tests (Makefile.am): Likewise.
51352         * modules/sigpipe-tests (Makefile.am): Likewise.
51353         * modules/tsearch-tests (Makefile.am): Likewise.
51354         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
51355         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
51356         * modules/uniname/uniname-tests (Makefile.am): Likewise.
51357         * modules/uniwidth/width-tests (Makefile.am): Likewise.
51358         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
51359         * modules/version-etc-tests (Makefile.am): Likewise.
51360         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
51361         * modules/vprintf-posix-tests (Makefile.am): Likewise.
51362         * modules/xalloc-die-tests (Makefile.am): Likewise.
51363         * modules/xprintf-posix-tests (Makefile.am): Likewise.
51364         * modules/xstrtoimax-tests (Makefile.am): Likewise.
51365         * modules/xstrtol-tests (Makefile.am): Likewise.
51366         * modules/xstrtoumax-tests (Makefile.am): Likewise.
51367         * modules/yesno-tests (Makefile.am): Likewise.
51368         Suggested by Jim Meyering.
51370 2010-01-24  Bruno Haible  <bruno@clisp.org>
51372         More documentation.
51373         * doc/gnulib.texi (Writing modules): New chapter.
51374         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
51375         the new chapter.
51377 2010-01-24  Jim Meyering  <meyering@redhat.com>
51379         maint.mk: do not prepend "./" after filtering
51380         * top/maint.mk (_prepend_srcdir_prefix): New variable
51381         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
51382         "./" when $(srcdir) is ".".
51384         define STREQ(a,b) consistently, removing useless parentheses
51385         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
51386         since the only risk is that "a" or "b" contains an unparenthesized
51387         comma, but if either did that, STREQ would have 3 or more arguments.
51388         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
51389         * lib/fts.c (STREQ): Remove unnecessary parentheses.
51390         * lib/hash-triple.c (STREQ): Likewise.
51391         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
51392         * lib/getugroups.c (STREQ): Likewise.
51394 2010-01-23  Jim Meyering  <meyering@redhat.com>
51396         maint.mk: fix syntax-check in a non-srcdir build directory
51397         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
51398         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
51400 2010-01-22  Jim Meyering  <meyering@redhat.com>
51402         userspec: add unit tests
51403         * tests/test-userspec.c: New file.
51404         * modules/userspec-tests: Likewise.
51406 2010-01-21  Jim Meyering  <meyering@redhat.com>
51408         maint.mk: handle source file names containing "." robustly
51409         * top/maint.mk (_dot_escaped_srcdir): Define.
51410         (VC_LIST): Use it in LHS of sed substitution.
51412 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
51414         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
51415         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
51416         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
51417         from a non-srcdir build.
51419 2010-01-20  Eric Blake  <ebb9@byu.net>
51421         warn-on-use: use instead of link-warning
51422         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
51423         * modules/unistd (Depends-on, Makefile.am): Likewise.
51424         * modules/arpa_inet (Depends-on): Replace link-warning with
51425         warn-on-use.
51426         (Makefile.am): Update rules accordingly.
51427         * modules/ctype (Depends-on, Makefile.am): Likewise.
51428         * modules/dirent (Depends-on, Makefile.am): Likewise.
51429         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
51430         * modules/inttypes (Depends-on, Makefile.am): Likewise.
51431         * modules/langinfo (Depends-on, Makefile.am): Likewise.
51432         * modules/locale (Depends-on, Makefile.am): Likewise.
51433         * modules/math (Depends-on, Makefile.am): Likewise.
51434         * modules/search (Depends-on, Makefile.am): Likewise.
51435         * modules/signal (Depends-on, Makefile.am): Likewise.
51436         * modules/spawn (Depends-on, Makefile.am): Likewise.
51437         * modules/stdlib (Depends-on, Makefile.am): Likewise.
51438         * modules/string (Depends-on, Makefile.am): Likewise.
51439         * modules/strings (Depends-on, Makefile.am): Likewise.
51440         * modules/sys_file (Depends-on, Makefile.am): Likewise.
51441         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
51442         * modules/sys_select (Depends-on, Makefile.am): Likewise.
51443         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
51444         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
51445         * modules/sys_times (Depends-on, Makefile.am): Likewise.
51446         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
51447         * modules/wchar (Depends-on, Makefile.am): Likewise.
51448         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
51449         should be poisoned.
51450         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
51451         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
51452         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
51453         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
51454         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
51455         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
51456         * m4/math_h.m4 (gl_MATH_H): Likewise.
51457         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
51458         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
51459         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
51460         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
51461         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
51462         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
51463         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
51464         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
51465         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
51466         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
51467         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
51468         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
51469         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
51470         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
51471         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
51472         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
51473         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
51474         GL_LINK_WARNING.
51475         * lib/ctype.in.h: Likewise.
51476         * lib/dirent.in.h: Likewise.
51477         * lib/fcntl.in.h: Likewise.
51478         * lib/inttypes.in.h: Likewise.
51479         * lib/langinfo.in.h: Likewise.
51480         * lib/locale.in.h: Likewise.
51481         * lib/math.in.h: Likewise.
51482         * lib/search.in.h: Likewise.
51483         * lib/signal.in.h: Likewise.
51484         * lib/spawn.in.h: Likewise.
51485         * lib/stdio.in.h: Likewise.
51486         * lib/stdlib.in.h: Likewise.
51487         * lib/string.in.h: Likewise.
51488         * lib/strings.in.h: Likewise.
51489         * lib/sys_file.in.h: Likewise.
51490         * lib/sys_ioctl.in.h: Likewise.
51491         * lib/sys_select.in.h: Likewise.
51492         * lib/sys_socket.in.h: Likewise.
51493         * lib/sys_stat.in.h: Likewise.
51494         * lib/sys_times.in.h: Likewise.
51495         * lib/sys_utsname.in.h: Likewise.
51496         * lib/unistd.in.h: Likewise.
51497         * lib/wchar.in.h: Likewise.
51499 2010-01-20  Bruno Haible  <bruno@clisp.org>
51501         Avoid duplicate -lm.
51502         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
51503         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
51504         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
51505         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
51506         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
51507         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
51508         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
51509         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
51510         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
51511         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
51512         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
51513         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
51514         Reported by Paolo Bonzini.
51516 2010-01-19  Bruno Haible  <bruno@clisp.org>
51518         langinfo, nl_langinfo: Relicense under LGPLv2+.
51519         * modules/langinfo (License): Change to LGPLv2+.
51520         * modules/nl_langinfo (License): Likewise.
51521         Patch by David Lutterkort <lutter@redhat.com>.
51523 2010-01-19  Bruno Haible  <bruno@clisp.org>
51525         Avoid compilation error with cc on OSF/1 5.1.
51526         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
51527         statement, not before.
51528         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51530 2010-01-18  Bruno Haible  <bruno@clisp.org>
51532         Avoid a link error due to the __printf__ symbol.
51533         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
51534         and 2.6.x.
51535         (__format__, __printf__): Remove definitions.
51536         * lib/argp-fmtstream.h: Likewise.
51537         * lib/argp.h: Likewise.
51538         * lib/error.h: Likewise.
51539         * lib/vasnprintf.h: Likewise.
51540         * lib/xprintf.h: Likewise.
51541         * lib/xvasprintf.h: Likewise.
51542         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51544 2010-01-18  Bruno Haible  <bruno@clisp.org>
51546         Tests for module 'tanl'.
51547         * modules/tanl-tests: New file.
51548         * tests/test-tanl.c: New file.
51550         Tests for module 'sqrtl'.
51551         * modules/sqrtl-tests: New file.
51552         * tests/test-sqrtl.c: New file.
51554         Tests for module 'sinl'.
51555         * modules/sinl-tests: New file.
51556         * tests/test-sinl.c: New file.
51558         Tests for module 'logl'.
51559         * modules/logl-tests: New file.
51560         * tests/test-logl.c: New file.
51562         Tests for module 'expl'.
51563         * modules/expl-tests: New file.
51564         * tests/test-expl.c: New file.
51566         Tests for module 'cosl'.
51567         * modules/cosl-tests: New file.
51568         * tests/test-cosl.c: New file.
51570         Tests for module 'atanl'.
51571         * modules/atanl-tests: New file.
51572         * tests/test-atanl.c: New file.
51574         Tests for module 'asinl'.
51575         * modules/asinl-tests: New file.
51576         * tests/test-asinl.c: New file.
51578         Tests for module 'acosl'.
51579         * modules/acosl-tests: New file.
51580         * tests/test-acosl.c: New file.
51582         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
51583         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
51584         tanl): Use the standard gnulib idiom.
51585         * lib/cosl.c: Don't include trigl.c and sincosl.c.
51586         * lib/sinl.c: Likewise.
51587         * lib/tanl.c: Don't include trigl.c.
51588         (kernel_tanl): Make static.
51589         * lib/sincosl.c: Include trigl.h first.
51590         * lib/trigl.c: Likewise.
51591         * m4/acosl.m4: New file.
51592         * m4/asinl.m4: New file.
51593         * m4/atanl.m4: New file.
51594         * m4/cosl.m4: New file.
51595         * m4/expl.m4: New file.
51596         * m4/logl.m4: New file.
51597         * m4/sinl.m4: New file.
51598         * m4/sqrtl.m4: New file.
51599         * m4/tanl.m4: New file.
51600         * m4/mathl.m4: Remove file.
51601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
51602         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
51603         Don't initialize GNULIB_MATHL.
51604         * modules/acosl: New file.
51605         * modules/asinl: New file.
51606         * modules/atanl: New file.
51607         * modules/cosl: New file.
51608         * modules/expl: New file.
51609         * modules/logl: New file.
51610         * modules/sinl: New file.
51611         * modules/sqrtl: New file.
51612         * modules/tanl: New file.
51613         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
51614         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
51615         substitute GNULIB_MATHL.
51616         * modules/mathl: Rewritten.
51617         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
51618         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
51619         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
51620         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
51621         * doc/posix-functions/expl.texi: Mention the 'expl' module.
51622         * doc/posix-functions/logl.texi: Mention the 'logl' module.
51623         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
51624         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
51625         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
51627 2010-01-18  Bruno Haible  <bruno@clisp.org>
51629         sqrt: Make gl_FUNC_SQRT requirable.
51630         * m4/sqrt.m4: New file.
51631         * modules/sqrt (Files): Add it.
51632         (configure.ac): Invoke gl_FUNC_SQRT.
51634 2010-01-18  Bruno Haible  <bruno@clisp.org>
51636         New modules for common <math.h> functions.
51637         * m4/mathfunc.m4: New file.
51638         * modules/acos: New file.
51639         * modules/asin: New file.
51640         * modules/atan: New file.
51641         * modules/atan2: New file.
51642         * modules/cbrt: New file.
51643         * modules/copysign: New file.
51644         * modules/cos: New file.
51645         * modules/cosh: New file.
51646         * modules/erf: New file.
51647         * modules/erfc: New file.
51648         * modules/exp: New file.
51649         * modules/fabs: New file.
51650         * modules/fmod: New file.
51651         * modules/hypot: New file.
51652         * modules/j0: New file.
51653         * modules/j1: New file.
51654         * modules/jn: New file.
51655         * modules/ldexp: New file.
51656         * modules/lgamma: New file.
51657         * modules/log: New file.
51658         * modules/log10: New file.
51659         * modules/log1p: New file.
51660         * modules/logb: New file.
51661         * modules/modf: New file.
51662         * modules/nextafter: New file.
51663         * modules/pow: New file.
51664         * modules/remainder: New file.
51665         * modules/rint: New file.
51666         * modules/sin: New file.
51667         * modules/sinh: New file.
51668         * modules/sqrt: New file.
51669         * modules/tan: New file.
51670         * modules/tanh: New file.
51671         * modules/y0: New file.
51672         * modules/y1: New file.
51673         * modules/yn: New file.
51674         * doc/posix-functions/acos.texi: Mention the 'acos' module.
51675         * doc/posix-functions/asin.texi: Mention the 'asin' module.
51676         * doc/posix-functions/atan.texi: Mention the 'atan' module.
51677         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
51678         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
51679         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
51680         * doc/posix-functions/cos.texi: Mention the 'cos' module.
51681         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
51682         * doc/posix-functions/erf.texi: Mention the 'erf' module.
51683         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
51684         * doc/posix-functions/exp.texi: Mention the 'exp' module.
51685         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
51686         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
51687         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
51688         * doc/posix-functions/j0.texi: Mention the 'j0' module.
51689         * doc/posix-functions/j1.texi: Mention the 'j1' module.
51690         * doc/posix-functions/jn.texi: Mention the 'jn' module.
51691         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
51692         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
51693         * doc/posix-functions/log.texi: Mention the 'log' module.
51694         * doc/posix-functions/log10.texi: Mention the 'log10' module.
51695         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
51696         * doc/posix-functions/logb.texi: Mention the 'logb' module.
51697         * doc/posix-functions/modf.texi: Mention the 'modf' module.
51698         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
51699         * doc/posix-functions/pow.texi: Mention the 'pow' module.
51700         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
51701         * doc/posix-functions/rint.texi: Mention the 'rint' module.
51702         * doc/posix-functions/sin.texi: Mention the 'sin' module.
51703         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
51704         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
51705         * doc/posix-functions/tan.texi: Mention the 'tan' module.
51706         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
51707         * doc/posix-functions/y0.texi: Mention the 'y0' module.
51708         * doc/posix-functions/y1.texi: Mention the 'y1' module.
51709         * doc/posix-functions/yn.texi: Mention the 'yn' module.
51711 2010-01-18  Jim Meyering  <meyering@redhat.com>
51713         ignore-value: relax license to LGPLv2+
51714         * modules/ignore-value (License): Relax to LGPLv2+.
51716         getdate: don't leak when TZ contains two or more '"'s
51717         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
51718         double quote in TZ after the first one.
51720         readtokens: do not leak internal token_lengths buffer
51721         * lib/readtokens.c (readtokens): Free the local, lengths,
51722         when the supplied "token_lengths" parameter is NULL.
51724 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51726         Fix a couple of missing LIBTHREAD link failures on AIX.
51727         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
51728         $(LIBTHREAD).
51729         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
51731         Link test-poll against INET_PTON_LIB.
51732         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
51733         for inet_pton on Solaris 10.
51735 2010-01-17  Bruno Haible  <bruno@clisp.org>
51737         unistdio/*-sprintf: Fix typo in module description.
51738         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
51739         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
51740         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
51741         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
51742         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
51743         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
51744         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
51745         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51747 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51749         gnulib-tool: fix filelist for AIX, HP-UX ksh.
51750         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
51751         variables in shell case patterns, for AIX and HP-UX ksh.
51753         Split large sed scripts, for HP-UX sed.
51754         * modules/stdio: Split sed scripts around 50 sed commands,
51755         to avoid HP-UX limit of 99 commands, in the near future.
51756         * modules/string: Likewise.
51757         * modules/unistd: Likewise.
51759         gnulib-tool: avoid writing in the current directory.
51760         * gnulib-tool (func_emit_lib_Makefile_am)
51761         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
51762         not in the current directory, so concurrent gnulib-tool
51763         instances do not interfere.
51765 2010-01-16  Jim Meyering  <meyering@redhat.com>
51767         doc: update users.txt
51768         * users.txt: Add grep.
51769         (diffutils, gzip): Update URLs.
51771 2010-01-12  Bruno Haible  <bruno@clisp.org>
51773         posix_spawn: Avoid test failure on Cygwin.
51774         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
51775         characters.
51776         Reported by Simon Josefsson.
51778 2010-01-12  Bruno Haible  <bruno@clisp.org>
51780         * tests/test-cond.c (main): When skipping the test, show the reason.
51782 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51784         * lib/striconv.c (str_cd_iconv): Avoid if before free.
51786 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51788         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
51789         VC_LIST_ALWAYS_EXCLUDE_REGEX.
51791 2010-01-12  Eric Blake  <ebb9@byu.net>
51793         build: guarantee AS_VAR_IF
51794         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
51795         (gl_AS_VAR_IF): Move...
51796         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
51797         Reported by Simon Josefsson.
51799 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51801         * lib/stdio.in.h: Fix typo.
51803 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51805         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
51806         libgpg-error.
51808 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51810         * tests/test-xalloc-die.sh: Use $EXEEXT.
51812 2010-01-12  Simon Josefsson  <simon@josefsson.org>
51813             Bruno Haible  <bruno@clisp.org>
51815         getlogin, getlogin_r: Avoid test failure.
51816         * tests/test-getlogin.c: Include <stdio.h>.
51817         (main): Skip the test when the function fails because stdin is not a
51818         tty.
51819         * tests/test-getlogin_r.c: Include <stdio.h>.
51820         (main): Skip the test when the function fails because stdin is not a
51821         tty.
51823 2010-01-11  Eric Blake  <ebb9@byu.net>
51825         tests: avoid more large file warnings
51826         * tests/test-fflush.c: Avoid warning about ftell use.
51827         * tests/test-fseek.c: Avoid warning about fseek use.
51829 2010-01-10  Bruno Haible  <bruno@clisp.org>
51831         nproc: Work better on Linux when /proc and /sys are not mounted.
51832         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
51833         as lower bound when, on glibc/Linux systems,
51834         sysconf (_SC_NPROCESSORS_CONF) returns 1.
51835         Suggested by Pádraig Brady <P@draigbrady.com>.
51836         Reported by Dmitry V. Levin <ldv@altlinux.org>.
51838         nproc: Refactor.
51839         * lib/nproc.c (num_processors_via_affinity_mask): New function,
51840         extracted from num_processors.
51841         (num_processors): Call it.
51843 2010-01-11  Jim Meyering  <meyering@redhat.com>
51845         utimecmp: avoid new warning from upcoming gcc-4.5.0
51846         * lib/utimecmp.c (BILLION): Define using #define rather than an
51847         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
51849 2010-01-11  Eric Blake  <ebb9@byu.net>
51851         math: add portability warnings for classification macros
51852         * modules/math (Depends-on): Add warn-on-use.
51853         (Makefile.am): Provide new substitutions.
51854         * m4/math_h.m4 (gl_MATH_H): Require inline.
51855         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
51856         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
51857         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
51858         implement warnings.
51860         unistd: warn on use of environ without module
51861         * modules/unistd (Depends-on): Add warn-on-use.
51862         (Makefile.am): Provide new substitutions.
51863         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
51864         * lib/unistd.in.h (environ): Wrap with a warning helper function.
51866         stdio: warn on suspicious uses
51867         * modules/stdio (Depends-on): Add warn-on-use.
51868         (Makefile.am): Provide new substitutions.
51869         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
51870         fseeko.
51871         * lib/stdio.in.h (gets): Always warn on use.
51872         (fseek, ftell): Adjust when warnings are issued, and honor
51873         _GL_NO_LARGE_FILES as a way to silence the warning.
51874         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
51875         any warning about large file offsets.
51876         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
51877         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
51878         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
51879         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
51880         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
51881         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
51882         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
51883         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
51885         warn-on-use: new module
51886         * modules/warn-on-use: New file.
51887         * build-aux/warn-on-use.h: Likewise.
51888         * m4/warn-on-use.m4: Likewise.
51889         * MODULES.html.sh (Support for building): Mention it.
51891 2010-01-10  Bruno Haible  <bruno@clisp.org>
51893         Tests for module 'unistr/u32-strdup'.
51894         * modules/unistr/u32-strdup-tests: New file.
51895         * tests/unistr/test-u32-strdup.c: New file.
51897         Tests for module 'unistr/u16-strdup'.
51898         * modules/unistr/u16-strdup-tests: New file.
51899         * tests/unistr/test-u16-strdup.c: New file.
51901         Tests for module 'unistr/u8-strdup'.
51902         * modules/unistr/u8-strdup-tests: New file.
51903         * tests/unistr/test-u8-strdup.c: New file.
51904         * tests/unistr/test-strdup.h: New file.
51906         Tests for module 'unistr/u32-strncmp'.
51907         * modules/unistr/u32-strncmp-tests: New file.
51908         * tests/unistr/test-u32-strncmp.c: New file.
51910         Tests for module 'unistr/u16-strncmp'.
51911         * modules/unistr/u16-strncmp-tests: New file.
51912         * tests/unistr/test-u16-strncmp.c: New file.
51914         Tests for module 'unistr/u8-strncmp'.
51915         * modules/unistr/u8-strncmp-tests: New file.
51916         * tests/unistr/test-u8-strncmp.c: New file.
51917         * tests/unistr/test-strncmp.h: New file.
51919         Tests for module 'unistr/u32-strcoll'.
51920         * modules/unistr/u32-strcoll-tests: New file.
51921         * tests/unistr/test-u32-strcoll.c: New file.
51923         Tests for module 'unistr/u16-strcoll'.
51924         * modules/unistr/u16-strcoll-tests: New file.
51925         * tests/unistr/test-u16-strcoll.c: New file.
51927         Tests for module 'unistr/u8-strcoll'.
51928         * modules/unistr/u8-strcoll-tests: New file.
51929         * tests/unistr/test-u8-strcoll.c: New file.
51931         Tests for module 'unistr/u32-strcmp'.
51932         * modules/unistr/u32-strcmp-tests: New file.
51933         * tests/unistr/test-u32-strcmp.c: New file.
51934         * tests/unistr/test-u32-strcmp.h: New file.
51936         Tests for module 'unistr/u16-strcmp'.
51937         * modules/unistr/u16-strcmp-tests: New file.
51938         * tests/unistr/test-u16-strcmp.c: New file.
51939         * tests/unistr/test-u16-strcmp.h: New file.
51941         Tests for module 'unistr/u8-strcmp'.
51942         * modules/unistr/u8-strcmp-tests: New file.
51943         * tests/unistr/test-u8-strcmp.c: New file.
51944         * tests/unistr/test-u8-strcmp.h: New file.
51945         * tests/unistr/test-strcmp.h: New file.
51947         Tests for module 'unistr/u32-strncat'.
51948         * modules/unistr/u32-strncat-tests: New file.
51949         * tests/unistr/test-u32-strncat.c: New file.
51951         Tests for module 'unistr/u16-strncat'.
51952         * modules/unistr/u16-strncat-tests: New file.
51953         * tests/unistr/test-u16-strncat.c: New file.
51955         Tests for module 'unistr/u8-strncat'.
51956         * modules/unistr/u8-strncat-tests: New file.
51957         * tests/unistr/test-u8-strncat.c: New file.
51958         * tests/unistr/test-strncat.h: New file.
51960         Tests for module 'unistr/u32-strcat'.
51961         * modules/unistr/u32-strcat-tests: New file.
51962         * tests/unistr/test-u32-strcat.c: New file.
51964         Tests for module 'unistr/u16-strcat'.
51965         * modules/unistr/u16-strcat-tests: New file.
51966         * tests/unistr/test-u16-strcat.c: New file.
51968         Tests for module 'unistr/u8-strcat'.
51969         * modules/unistr/u8-strcat-tests: New file.
51970         * tests/unistr/test-u8-strcat.c: New file.
51971         * tests/unistr/test-strcat.h: New file.
51973         Tests for module 'unistr/u32-stpncpy'.
51974         * modules/unistr/u32-stpncpy-tests: New file.
51975         * tests/unistr/test-u32-stpncpy.c: New file.
51977         Tests for module 'unistr/u16-stpncpy'.
51978         * modules/unistr/u16-stpncpy-tests: New file.
51979         * tests/unistr/test-u16-stpncpy.c: New file.
51981         Tests for module 'unistr/u8-stpncpy'.
51982         * modules/unistr/u8-stpncpy-tests: New file.
51983         * tests/unistr/test-u8-stpncpy.c: New file.
51984         * tests/unistr/test-stpncpy.h: New file.
51986         Tests for module 'unistr/u32-strncpy'.
51987         * modules/unistr/u32-strncpy-tests: New file.
51988         * tests/unistr/test-u32-strncpy.c: New file.
51990         Tests for module 'unistr/u16-strncpy'.
51991         * modules/unistr/u16-strncpy-tests: New file.
51992         * tests/unistr/test-u16-strncpy.c: New file.
51994         Tests for module 'unistr/u8-strncpy'.
51995         * modules/unistr/u8-strncpy-tests: New file.
51996         * tests/unistr/test-u8-strncpy.c: New file.
51997         * tests/unistr/test-strncpy.h: New file.
51999         Tests for module 'unistr/u32-stpcpy'.
52000         * modules/unistr/u32-stpcpy-tests: New file.
52001         * tests/unistr/test-u32-stpcpy.c: New file.
52003         Tests for module 'unistr/u16-stpcpy'.
52004         * modules/unistr/u16-stpcpy-tests: New file.
52005         * tests/unistr/test-u16-stpcpy.c: New file.
52007         Tests for module 'unistr/u8-stpcpy'.
52008         * modules/unistr/u8-stpcpy-tests: New file.
52009         * tests/unistr/test-u8-stpcpy.c: New file.
52010         * tests/unistr/test-stpcpy.h: New file.
52012         Tests for module 'unistr/u32-strcpy'.
52013         * modules/unistr/u32-strcpy-tests: New file.
52014         * tests/unistr/test-u32-strcpy.c: New file.
52016         Tests for module 'unistr/u16-strcpy'.
52017         * modules/unistr/u16-strcpy-tests: New file.
52018         * tests/unistr/test-u16-strcpy.c: New file.
52020         Tests for module 'unistr/u8-strcpy'.
52021         * modules/unistr/u8-strcpy-tests: New file.
52022         * tests/unistr/test-u8-strcpy.c: New file.
52023         * tests/unistr/test-strcpy.h: New file.
52025         Tests for module 'unistr/u32-strnlen'.
52026         * modules/unistr/u32-strnlen-tests: New file.
52027         * tests/unistr/test-u32-strnlen.c: New file.
52029         Tests for module 'unistr/u16-strnlen'.
52030         * modules/unistr/u16-strnlen-tests: New file.
52031         * tests/unistr/test-u16-strnlen.c: New file.
52033         Tests for module 'unistr/u8-strnlen'.
52034         * modules/unistr/u8-strnlen-tests: New file.
52035         * tests/unistr/test-u8-strnlen.c: New file.
52036         * tests/unistr/test-strnlen.h: New file.
52038         Tests for module 'unistr/u32-strlen'.
52039         * modules/unistr/u32-strlen-tests: New file.
52040         * tests/unistr/test-u32-strlen.c: New file.
52042         Tests for module 'unistr/u16-strlen'.
52043         * modules/unistr/u16-strlen-tests: New file.
52044         * tests/unistr/test-u16-strlen.c: New file.
52046         Tests for module 'unistr/u8-strlen'.
52047         * modules/unistr/u8-strlen-tests: New file.
52048         * tests/unistr/test-u8-strlen.c: New file.
52050         Tests for module 'unistr/u32-prev'.
52051         * modules/unistr/u32-prev-tests: New file.
52052         * tests/unistr/test-u32-prev.c: New file.
52054         Tests for module 'unistr/u16-prev'.
52055         * modules/unistr/u16-prev-tests: New file.
52056         * tests/unistr/test-u16-prev.c: New file.
52058         Tests for module 'unistr/u8-prev'.
52059         * modules/unistr/u8-prev-tests: New file.
52060         * tests/unistr/test-u8-prev.c: New file.
52062         Tests for module 'unistr/u32-next'.
52063         * modules/unistr/u32-next-tests: New file.
52064         * tests/unistr/test-u32-next.c: New file.
52066         Tests for module 'unistr/u16-next'.
52067         * modules/unistr/u16-next-tests: New file.
52068         * tests/unistr/test-u16-next.c: New file.
52070         Tests for module 'unistr/u8-next'.
52071         * modules/unistr/u8-next-tests: New file.
52072         * tests/unistr/test-u8-next.c: New file.
52074         Tests for module 'unistr/u32-strmbtouc'.
52075         * modules/unistr/u32-strmbtouc-tests: New file.
52076         * tests/unistr/test-u32-strmbtouc.c: New file.
52078         Tests for module 'unistr/u16-strmbtouc'.
52079         * modules/unistr/u16-strmbtouc-tests: New file.
52080         * tests/unistr/test-u16-strmbtouc.c: New file.
52082         Tests for module 'unistr/u8-strmbtouc'.
52083         * modules/unistr/u8-strmbtouc-tests: New file.
52084         * tests/unistr/test-u8-strmbtouc.c: New file.
52086         Tests for module 'unistr/u32-strmblen'.
52087         * modules/unistr/u32-strmblen-tests: New file.
52088         * tests/unistr/test-u32-strmblen.c: New file.
52090         Tests for module 'unistr/u16-strmblen'.
52091         * modules/unistr/u16-strmblen-tests: New file.
52092         * tests/unistr/test-u16-strmblen.c: New file.
52094         Tests for module 'unistr/u8-strmblen'.
52095         * modules/unistr/u8-strmblen-tests: New file.
52096         * tests/unistr/test-u8-strmblen.c: New file.
52098         Tests for module 'unistr/u32-cpy-alloc'.
52099         * modules/unistr/u32-cpy-alloc-tests: New file.
52100         * tests/unistr/test-u32-cpy-alloc.c: New file.
52102         Tests for module 'unistr/u16-cpy-alloc'.
52103         * modules/unistr/u16-cpy-alloc-tests: New file.
52104         * tests/unistr/test-u16-cpy-alloc.c: New file.
52106         Tests for module 'unistr/u8-cpy-alloc'.
52107         * modules/unistr/u8-cpy-alloc-tests: New file.
52108         * tests/unistr/test-u8-cpy-alloc.c: New file.
52109         * tests/unistr/test-cpy-alloc.h: New file.
52111         Tests for module 'unistr/u32-mbsnlen'.
52112         * modules/unistr/u32-mbsnlen-tests: New file.
52113         * tests/unistr/test-u32-mbsnlen.c: New file.
52115         Tests for module 'unistr/u16-mbsnlen'.
52116         * modules/unistr/u16-mbsnlen-tests: New file.
52117         * tests/unistr/test-u16-mbsnlen.c: New file.
52119         Tests for module 'unistr/u8-mbsnlen'.
52120         * modules/unistr/u8-mbsnlen-tests: New file.
52121         * tests/unistr/test-u8-mbsnlen.c: New file.
52123         Tests for module 'unistr/u32-chr'.
52124         * modules/unistr/u32-chr-tests: New file.
52125         * tests/unistr/test-u32-chr.c: New file.
52127         Tests for module 'unistr/u16-chr'.
52128         * modules/unistr/u16-chr-tests: New file.
52129         * tests/unistr/test-u16-chr.c: New file.
52131         Tests for module 'unistr/u8-chr'.
52132         * modules/unistr/u8-chr-tests: New file.
52133         * tests/unistr/test-u8-chr.c: New file.
52134         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
52136         Tests for module 'unistr/u32-cmp2'.
52137         * modules/unistr/u32-cmp2-tests: New file.
52138         * tests/unistr/test-u32-cmp2.c: New file.
52140         Tests for module 'unistr/u16-cmp2'.
52141         * modules/unistr/u16-cmp2-tests: New file.
52142         * tests/unistr/test-u16-cmp2.c: New file.
52144         Tests for module 'unistr/u8-cmp2'.
52145         * modules/unistr/u8-cmp2-tests: New file.
52146         * tests/unistr/test-u8-cmp2.c: New file.
52147         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
52149         Tests for module 'unistr/u32-cmp'.
52150         * modules/unistr/u32-cmp-tests: New file.
52151         * tests/unistr/test-u32-cmp.c: New file.
52153         Tests for module 'unistr/u16-cmp'.
52154         * modules/unistr/u16-cmp-tests: New file.
52155         * tests/unistr/test-u16-cmp.c: New file.
52157         Tests for module 'unistr/u8-cmp'.
52158         * modules/unistr/u8-cmp-tests: New file.
52159         * tests/unistr/test-u8-cmp.c: New file.
52160         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
52162         Tests for module 'unistr/u32-set'.
52163         * modules/unistr/u32-set-tests: New file.
52164         * tests/unistr/test-u32-set.c: New file.
52166         Tests for module 'unistr/u16-set'.
52167         * modules/unistr/u16-set-tests: New file.
52168         * tests/unistr/test-u16-set.c: New file.
52170         Tests for module 'unistr/u8-set'.
52171         * modules/unistr/u8-set-tests: New file.
52172         * tests/unistr/test-u8-set.c: New file.
52173         * tests/unistr/test-set.h: New file.
52175         Tests for module 'unistr/u32-move'.
52176         * modules/unistr/u32-move-tests: New file.
52177         * tests/unistr/test-u32-move.c: New file.
52179         Tests for module 'unistr/u16-move'.
52180         * modules/unistr/u16-move-tests: New file.
52181         * tests/unistr/test-u16-move.c: New file.
52183         Tests for module 'unistr/u8-move'.
52184         * modules/unistr/u8-move-tests: New file.
52185         * tests/unistr/test-u8-move.c: New file.
52186         * tests/unistr/test-move.h: New file.
52188         Tests for module 'unistr/u32-cpy'.
52189         * modules/unistr/u32-cpy-tests: New file.
52190         * tests/unistr/test-u32-cpy.c: New file.
52192         Tests for module 'unistr/u16-cpy'.
52193         * modules/unistr/u16-cpy-tests: New file.
52194         * tests/unistr/test-u16-cpy.c: New file.
52196         Tests for module 'unistr/u8-cpy'.
52197         * modules/unistr/u8-cpy-tests: New file.
52198         * tests/unistr/test-u8-cpy.c: New file.
52199         * tests/unistr/test-cpy.h: New file.
52201 2010-01-09  Bruno Haible  <bruno@clisp.org>
52203         Tests for module 'unistr/u32-uctomb'.
52204         * modules/unistr/u32-uctomb-tests: New file.
52205         * tests/unistr/test-u32-uctomb.c: New file.
52207         Tests for module 'unistr/u16-uctomb'.
52208         * modules/unistr/u16-uctomb-tests: New file.
52209         * tests/unistr/test-u16-uctomb.c: New file.
52211         Tests for module 'unistr/u8-uctomb'.
52212         * modules/unistr/u8-uctomb-tests: New file.
52213         * tests/unistr/test-u8-uctomb.c: New file.
52215         Tests for module 'unistr/u32-mbtoucr'.
52216         * modules/unistr/u32-mbtoucr-tests: New file.
52217         * tests/unistr/test-u32-mbtoucr.c: New file.
52219         Tests for module 'unistr/u16-mbtoucr'.
52220         * modules/unistr/u16-mbtoucr-tests: New file.
52221         * tests/unistr/test-u16-mbtoucr.c: New file.
52223         Tests for module 'unistr/u8-mbtoucr'.
52224         * modules/unistr/u8-mbtoucr-tests: New file.
52225         * tests/unistr/test-u8-mbtoucr.c: New file.
52227         Tests for module 'unistr/u32-mbtouc'.
52228         * modules/unistr/u32-mbtouc-tests: New file.
52229         * tests/unistr/test-u32-mbtouc.c: New file.
52231         Tests for module 'unistr/u16-mbtouc'.
52232         * modules/unistr/u16-mbtouc-tests: New file.
52233         * tests/unistr/test-u16-mbtouc.c: New file.
52235         Tests for module 'unistr/u8-mbtouc'.
52236         * modules/unistr/u8-mbtouc-tests: New file.
52237         * tests/unistr/test-u8-mbtouc.c: New file.
52239         Tests for module 'unistr/u32-mbtouc-unsafe'.
52240         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
52241         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
52242         * tests/unistr/test-u32-mbtouc.h: New file.
52244         Tests for module 'unistr/u16-mbtouc-unsafe'.
52245         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
52246         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
52247         * tests/unistr/test-u16-mbtouc.h: New file.
52249         Tests for module 'unistr/u8-mbtouc-unsafe'.
52250         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
52251         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
52252         * tests/unistr/test-u8-mbtouc.h: New file.
52254         Tests for module 'unistr/u32-mblen'.
52255         * modules/unistr/u32-mblen-tests: New file.
52256         * tests/unistr/test-u32-mblen.c: New file.
52258         Tests for module 'unistr/u16-mblen'.
52259         * modules/unistr/u16-mblen-tests: New file.
52260         * tests/unistr/test-u16-mblen.c: New file.
52262         Tests for module 'unistr/u8-mblen'.
52263         * modules/unistr/u8-mblen-tests: New file.
52264         * tests/unistr/test-u8-mblen.c: New file.
52266         Tests for module 'unistr/u32-to-u16'.
52267         * modules/unistr/u32-to-u16-tests: New file.
52268         * tests/unistr/test-u32-to-u16.c: New file.
52270         Tests for module 'unistr/u32-to-u8'.
52271         * modules/unistr/u32-to-u8-tests: New file.
52272         * tests/unistr/test-u32-to-u8.c: New file.
52274         Tests for module 'unistr/u16-to-u32'.
52275         * modules/unistr/u16-to-u32-tests: New file.
52276         * tests/unistr/test-u16-to-u32.c: New file.
52278         Tests for module 'unistr/u16-to-u8'.
52279         * modules/unistr/u16-to-u8-tests: New file.
52280         * tests/unistr/test-u16-to-u8.c: New file.
52282         Tests for module 'unistr/u8-to-u32'.
52283         * modules/unistr/u8-to-u32-tests: New file.
52284         * tests/unistr/test-u8-to-u32.c: New file.
52286         Tests for module 'unistr/u8-to-u16'.
52287         * modules/unistr/u8-to-u16-tests: New file.
52288         * tests/unistr/test-u8-to-u16.c: New file.
52290         Tests for module 'unistr/u32-check'.
52291         * modules/unistr/u32-check-tests: New file.
52292         * tests/unistr/test-u32-check.c: New file.
52294         Tests for module 'unistr/u16-check'.
52295         * modules/unistr/u16-check-tests: New file.
52296         * tests/unistr/test-u16-check.c: New file.
52298         Tests for module 'unistr/u8-check'.
52299         * modules/unistr/u8-check-tests: New file.
52300         * tests/unistr/test-u8-check.c: New file.
52302         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
52303         (category_equals): New function.
52304         (main): Add more tests.
52305         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
52307         * tests/unictype/test-bidi_byname.c (main): Add more tests.
52309 2010-01-10  Bruno Haible  <bruno@clisp.org>
52311         unistr/u*-strcoll: Try harder to distinguish different strings.
52312         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
52313         compare s1 and s2 to see if they are different.
52315 2010-01-10  Bruno Haible  <bruno@clisp.org>
52317         unistr/u*-stpncpy: Fix the return value.
52318         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
52319         description of the return value consistent with stpncpy in glibc.
52320         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
52321         written non-NUL unit.
52323 2010-01-10  Bruno Haible  <bruno@clisp.org>
52325         unistr/u*-next: Add missing dependencies.
52326         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
52327         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
52328         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
52330 2010-01-10  Bruno Haible  <bruno@clisp.org>
52332         unistr/u8-mbsnlen: Fix return value for incomplete character.
52333         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
52334         u8_mblen.
52335         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
52336         Remove unistr/u8-mblen.
52337         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
52338         u16_mblen.
52339         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
52340         Remove unistr/u16-mblen.
52342 2010-01-10  Bruno Haible  <bruno@clisp.org>
52344         wchar: Fix compilation error when <wchar.h> is used from coreutils.
52345         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
52346         Reported by Brian Gough <bjg@gnu.org> and
52347         Chris Clayton <chris2553@googlemail.com> via
52348         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
52350 2010-01-09  Bruno Haible  <bruno@clisp.org>
52352         unistr/u16-to-u32: Reject invalid input.
52353         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
52354         u16_mbtouc.
52355         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
52356         Remove unistr/u16-mbtouc.
52358         unistr/u16-to-u8: Reject invalid input.
52359         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
52360         u16_mbtouc.
52361         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
52362         Remove unistr/u16-mbtouc.
52364         unistr/u8-to-u32: Reject invalid input.
52365         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
52366         u8_mbtouc.
52367         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
52368         Remove unistr/u8-mbtouc.
52370         unistr/u8-to-u16: Reject invalid input.
52371         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
52372         u8_mbtouc.
52373         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
52374         Remove unistr/u8-mbtouc.
52376 2010-01-09  Bruno Haible  <bruno@clisp.org>
52378         Tests for module 'getlogin'.
52379         * modules/getlogin-tests: New file.
52380         * tests/test-getlogin.c: New file.
52382         New module 'getlogin'.
52383         * lib/unistd.in.h (getlogin): New declaration.
52384         * lib/getlogin.c: New file.
52385         * m4/getlogin.m4: New file.
52386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
52387         HAVE_GETLOGIN.
52388         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
52389         HAVE_GETLOGIN.
52390         * modules/getlogin: New file.
52391         * doc/posix-functions/getlogin.texi: Mention the new module.
52392         Reported by John W. Eaton <jwe@gnu.org>.
52394 2010-01-09  Bruno Haible  <bruno@clisp.org>
52396         getlogin_r: Support for native Windows.
52397         * lib/getlogin_r.c: Include <windows.h>
52398         (getlogin_r): Implement for native Windows.
52399         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
52400         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
52401         via John W. Eaton <jwe@gnu.org>.
52403 2010-01-09  Bruno Haible  <bruno@clisp.org>
52405         getlogin_r: Small fixes.
52406         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
52407         succeeds.
52408         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
52409         before testing whether getlogin_r is declared. No need to set
52410         HAVE_DECL_GETLOGIN_R to 1.
52411         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
52413 2010-01-09  Bruno Haible  <bruno@clisp.org>
52415         * lib/unistd.in.h (getlogin_r): Add comment.
52417 2010-01-09  Bruno Haible  <bruno@clisp.org>
52419         Tests for module 'getlogin_r'.
52420         * modules/getlogin_r-tests: New file.
52421         * tests/test-getlogin_r.c: New file.
52423 2010-01-09  Jim Meyering  <meyering@redhat.com>
52425         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
52426         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
52427         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
52429 2010-01-08  Simon Josefsson  <simon@josefsson.org>
52431         * lib/dup2.c (rpl_dup2): Improve comment.
52433 2010-01-08  Eric Blake  <ebb9@byu.net>
52435         maint.mk: allow packages to add makefile @@ exceptions
52436         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
52437         (sc_makefile_check): Rename...
52438         (sc_makefile_at_at_check): ...to this, and use hook.
52440         dup2: work around mingw bug
52441         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
52442         Reported by Simon Josefsson.
52444 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
52446         glob: Fix C++ compilation.
52447         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
52448         C++.
52450 2010-01-07  Bruno Haible  <bruno@clisp.org>
52452         Fix indentation of wctype.in.h, broken since 2007-01-06.
52453         * lib/wctype.in.h: Fix indentation of preprocessor directives.
52455 2010-01-07  Bruno Haible  <bruno@clisp.org>
52457         mbslen: Avoid collision with system function.
52458         * lib/string.in.h [MirBSD]: Include <wchar.h>.
52459         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
52460         * m4/mbslen.m4: New file.
52461         * modules/mbslen (Files): Add it.
52462         (configure.ac): Invoke gl_MBSLEN.
52463         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
52464         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
52465         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
52466         via Ian Beckwith <ianb@erislabs.net>.
52468 2010-01-07  Bruno Haible  <bruno@clisp.org>
52470         dirent: Document the last fix.
52471         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
52473 2010-01-07  Bruno Haible  <bruno@clisp.org>
52475         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
52476         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
52477         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
52478         va_list are defined.
52479         * doc/posix-headers/stdio.texi: Document the bug of missing types.
52480         Reported by Eric Blake.
52482 2010-01-07  Bruno Haible  <bruno@clisp.org>
52484         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
52485         * modules/xlist (Depends-on): Add 'list',
52486         * modules/xoset (Depends-on): Add 'oset'.
52487         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52489 2010-01-07  Bruno Haible  <bruno@clisp.org>
52491         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
52492         * doc/posix-functions/strncasecmp.texi: Likewise.
52494 2010-01-07  Bruno Haible  <bruno@clisp.org>
52496         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
52498 2010-01-07  John W. Eaton  <jwe@octave.org>
52500         wctype: allow C++ use
52501         * lib/wctype.in.h: Add extern "C" block for C++.
52503 2010-01-06  Eric Blake  <ebb9@byu.net>
52505         maint.mk: detect incorrect GFDL usage
52506         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
52508 2010-01-06  Jim Meyering  <meyering@redhat.com>
52509         and Eric Blake  <ebb9@byu.net>
52511         maint.mk: ignore multi-line copyright in NEWS
52512         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
52514 2010-01-06  Eric Blake  <ebb9@byu.net>
52516         select: add missing dependency
52517         * modules/select-tests (Depends-on): Move sockets dependency...
52518         * modules/select (Depends-on): ...here.
52519         Reported by Ian Beckwith.
52521         doc: regenerate INSTALL
52522         * doc/INSTALL: Reflect recent autoconf update.
52523         * doc/INSTALL.ISO: Likewise.
52524         * doc/INSTALL.UTF-8: Likewise.
52526         pread: fix compilation on glibc
52527         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
52528         Reported by Ralf Wildenhues.
52530         dirent: fix test failure
52531         * lib/dirent.in.h (includes): Guarantee ino_t.
52532         Reported by Ralf Wildenhues.
52534 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
52536         linkat, renameat: avoid bad free
52537         * lib/at-func2.c (at_func2): Fix typo.
52538         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
52540 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52542         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
52543         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
52544         to avoid failure of symlink test later.
52546 2010-01-06  Eric Blake  <ebb9@byu.net>
52548         stdio, unistd: guarantee ssize_t
52549         * lib/unistd.in.h (includes): Ensure that types required by POSIX
52550         2008 are exposed when needed.
52551         * lib/stdio.in.h (includes): Likewise.
52552         Reported by Ralf Wildenhues.
52554 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
52556         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
52557         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
52558         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
52560 2010-01-06  Jim Meyering  <meyering@redhat.com>
52562         readtokens: this module *does* require xalloc.h
52563         It uses only functions that were omitted by the old syntax-check rule.
52564         * lib/readtokens.c: Include "xalloc.h" once again.
52565         * modules/readtokens (Depends-on): Add xalloc.
52566         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
52568 2010-01-05  Eric Blake  <ebb9@byu.net>
52570         maint: support 'make announcement' from a VPATH build
52571         * top/maint.mk (announcement): Look for correct NEWS file.
52573 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
52575         utimens (fdutimens): ignore a negative FD, per contract
52576         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
52577         when we have a valid file descriptor.  Otherwise, using a brand
52578         new glibc (with just-patched futimens that now fails with EBADF)
52579         would cause this function to fail with ENOSYS.
52580         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
52581         See also http://bugzilla.redhat.com/552320.
52583 2010-01-05  Eric Blake  <ebb9@byu.net>
52585         strcase: document what it provides
52586         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
52587         gnulib module.
52588         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
52589         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
52591 2010-01-05  Jim Meyering  <meyering@redhat.com>
52593         maint: remove useless inclusions of "xalloc.h"
52594         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
52595         * lib/readtokens.c: Likewise.
52596         * lib/same.c: Likewise.
52597         * modules/getloadavg (Depends-on): Remove xalloc.
52598         * modules/readtokens: Likewise.
52599         * modules/same: Likewise.
52601         maint.mk: include 4 more function names in alloca.h-checking regexp
52602         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
52603         regexp.  Before, we would give a false-positive (saying alloca.h
52604         is included unnecessarily) when the only uses involved omitted symbols.
52606         xalloc.h: use consistent formatting
52607         * lib/xalloc.h: Move declarations to start in the first column.
52609 2010-01-05  Eric Blake  <ebb9@byu.net>
52611         mkdir: avoid xalloc
52612         * lib/mkdir.c (includes): Drop unused header.
52613         Reported by John W. Eaton.
52615 2010-01-04  Jim Meyering  <meyering@redhat.com>
52617         nl_langinfo: avoid configure-time syntax error
52618         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
52619         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
52620         the empty string.  Don't let that provoke a shell syntax error.
52622         regcomp, regexec, fnmatch: avoid array bounds read error
52623         * lib/regcomp.c (build_equiv_class): From glibc:
52624         Use only the low 24 bits of a findidx return value as an index
52625         into the weights array.  Patch by Ulrich Drepper:
52626         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
52627         * lib/regexec.c (check_node_accept_bytes): Likewise.
52628         * lib/fnmatch_loop.c (FCT): Likewise.
52630         regcomp: skip collseq lookup when there are no rules
52631         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
52632         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
52634         regcomp: recognize ill-formed { } expressions
52635         * lib/regcomp.c (parse_dup_op): From glibc:
52636         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
52638         regcomp: fix typo in comment
52639         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
52640         s/satisfy/satisfies/.
52642         regcomp: sync from glibc: remove dead store
52643         * lib/regcomp.c (duplicate_node_closure): Remove useless
52644         search_duplicated_node call and dead store.
52646         regcomp: sync from glibc; always use nl_langinfo
52647         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
52648         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
52649         * modules/regex (Depends-on): Add nl_langinfo.
52651 2010-01-04  Eric Blake  <ebb9@byu.net>
52653         fdopendir: fix configure test
52654         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
52656 2010-01-01  Bruno Haible  <bruno@clisp.org>
52658         wchar: Remove unused configure check.
52659         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
52661 2010-01-01  Eric Blake  <ebb9@byu.net>
52663         headers: make check of system header explicit
52664         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
52665         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
52666         ourselves.
52667         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
52668         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
52669         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
52670         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
52671         internals.
52672         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
52673         missing.
52674         Suggested by Bruno Haible.
52676 2010-01-01  Jim Meyering  <meyering@redhat.com>
52678         ChangeLog: tweak to eliminate unnecessary copyright line
52679         * ChangeLog: Remove a copyright line that was mistakenly updated
52680         by today's update-copyright run.  Reported by Eric Blake.
52682         test-update-copyright: don't let envvar setting cause test failure
52683         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
52685 2010-01-01  Bruno Haible  <bruno@clisp.org>
52687         localename: Avoid gcc warning.
52688         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
52689         function if it is not used.
52691 2010-01-01  Jim Meyering  <meyering@redhat.com>
52693         update nearly all FSF copyright year lists to include 2010
52694         Use the same procedure as for 2009, outlined in
52695         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
52697         version-etc: set COPYRIGHT_YEAR to 2010
52698         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
52700 2009-12-31  Eric Blake  <ebb9@byu.net>
52702         doc: correct availability of cygwin 1.5.x getopt
52703         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
52704         variables.
52705         * doc/posix-functions/opterr.texi (opterr): Likewise.
52706         * doc/posix-functions/optind.texi (optind): Likewise.
52707         * doc/posix-functions/optopt.texi (optopt): Likewise.
52708         * doc/posix-functions/tzname.texi (tzname): Likewise.
52710         openat: update maintainer
52711         * modules/openat (Maintainer): Add myself.
52713         utimens: avoid shadowing warning
52714         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
52715         buffers into one, to avoid shadowing, as well as avoiding a
52716         redundant stat.
52717         Reported by Jim Meyering.
52719         test-dup2: avoid compiler warning
52720         * tests/test-dup2.c (is_inheritable): Only define if used.
52722 2010-01-01  Bruno Haible  <bruno@clisp.org>
52724         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
52725         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
52726         defined, use wctomb instead of wcrtomb.
52728 2010-01-01  Bruno Haible  <bruno@clisp.org>
52730         iconv: Reject native Solaris iconv.
52731         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
52732         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
52734 2009-12-31  Bruno Haible  <bruno@clisp.org>
52736         * tests/test-signal.c (main): Remove test of 'SIG'.
52738 2009-12-31  Bruno Haible  <bruno@clisp.org>
52740         spawn: Fix incomplete fix.
52741         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
52742         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
52743         warnings for GNULIB_POSIXCHECK again.
52744         Reported by Eric Blake.
52746 2009-12-31  Bruno Haible  <bruno@clisp.org>
52748         Avoid namespace pollution on glibc systems.
52749         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
52750         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
52751         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
52752         glibc systems.
52754 2009-12-31  Bruno Haible  <bruno@clisp.org>
52756         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
52757         (gl_REPLACE_WCHAR_H): Turn into a no-op.
52758         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
52759         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
52760         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
52761         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
52762         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
52764 2009-12-31  Bruno Haible  <bruno@clisp.org>
52766         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
52767         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
52768         afterwards.
52770 2009-12-31  Bruno Haible  <bruno@clisp.org>
52772         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
52773         SYS_UTSNAME_H.
52775 2009-12-31  Bruno Haible  <bruno@clisp.org>
52777         spawn: Fix misapplied patch.
52778         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
52779         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
52780         warnings for GNULIB_POSIXCHECK.
52782 2009-12-31  Bruno Haible  <bruno@clisp.org>
52784         times: Update after sys_times changed.
52785         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
52786         * modules/times (Files): Add it.
52787         (configure.ac): Invoke gl_FUNC_TIMES.
52789 2009-12-31  Bruno Haible  <bruno@clisp.org>
52791         Use AC_C_INLINE where necessary.
52792         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
52793         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52794         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
52795         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
52796         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52797         * m4/mbiter.m4 (gl_MBITER): Likewise.
52798         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
52799         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
52800         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
52801         * modules/u64 (configure.ac): Likewise.
52803 2009-12-31  Bruno Haible  <bruno@clisp.org>
52805         Use AC_C_INLINE instead of module 'inline' where possible.
52806         * modules/inline (Description): Clarify purpose.
52807         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
52808         * modules/count-one-bits (Depends-on): Remove inline.
52809         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
52810         * modules/openat (Depends-on): Remove inline.
52811         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
52812         instead of depending on module 'inline'.
52813         * modules/filevercmp (Depends-on, configure.ac): Likewise.
52814         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
52815         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
52816         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
52817         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
52818         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
52819         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
52820         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
52821         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
52822         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
52823         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
52824         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
52825         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
52826         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
52827         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
52828         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
52829         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
52830         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
52831         Likewise.
52832         * modules/unictype/property-ascii-hex-digit (Depends-on,
52833         configure.ac): Likewise.
52834         * modules/unictype/property-bidi-arabic-digit (Depends-on,
52835         configure.ac): Likewise.
52836         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
52837         configure.ac): Likewise.
52838         * modules/unictype/property-bidi-block-separator (Depends-on,
52839         configure.ac): Likewise.
52840         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
52841         configure.ac): Likewise.
52842         * modules/unictype/property-bidi-common-separator (Depends-on,
52843         configure.ac): Likewise.
52844         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
52845         Likewise.
52846         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
52847         configure.ac): Likewise.
52848         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
52849         configure.ac): Likewise.
52850         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
52851         configure.ac): Likewise.
52852         * modules/unictype/property-bidi-european-digit (Depends-on,
52853         configure.ac): Likewise.
52854         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
52855         configure.ac): Likewise.
52856         * modules/unictype/property-bidi-left-to-right (Depends-on,
52857         configure.ac): Likewise.
52858         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
52859         configure.ac): Likewise.
52860         * modules/unictype/property-bidi-other-neutral (Depends-on,
52861         configure.ac): Likewise.
52862         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
52863         Likewise.
52864         * modules/unictype/property-bidi-segment-separator (Depends-on,
52865         configure.ac): Likewise.
52866         * modules/unictype/property-bidi-whitespace (Depends-on,
52867         configure.ac): Likewise.
52868         * modules/unictype/property-combining (Depends-on, configure.ac):
52869         Likewise.
52870         * modules/unictype/property-composite (Depends-on, configure.ac):
52871         Likewise.
52872         * modules/unictype/property-currency-symbol (Depends-on,
52873         configure.ac): Likewise.
52874         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
52875         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
52876         Likewise.
52877         * modules/unictype/property-default-ignorable-code-point (Depends-on,
52878         configure.ac): Likewise.
52879         * modules/unictype/property-deprecated (Depends-on, configure.ac):
52880         Likewise.
52881         * modules/unictype/property-diacritic (Depends-on, configure.ac):
52882         Likewise.
52883         * modules/unictype/property-extender (Depends-on, configure.ac):
52884         Likewise.
52885         * modules/unictype/property-format-control (Depends-on, configure.ac):
52886         Likewise.
52887         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
52888         Likewise.
52889         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
52890         Likewise.
52891         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
52892         Likewise.
52893         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
52894         Likewise.
52895         * modules/unictype/property-hyphen (Depends-on, configure.ac):
52896         Likewise.
52897         * modules/unictype/property-id-continue (Depends-on, configure.ac):
52898         Likewise.
52899         * modules/unictype/property-id-start (Depends-on, configure.ac):
52900         Likewise.
52901         * modules/unictype/property-ideographic (Depends-on, configure.ac):
52902         Likewise.
52903         * modules/unictype/property-ids-binary-operator (Depends-on,
52904         configure.ac): Likewise.
52905         * modules/unictype/property-ids-trinary-operator (Depends-on,
52906         configure.ac): Likewise.
52907         * modules/unictype/property-ignorable-control (Depends-on,
52908         configure.ac): Likewise.
52909         * modules/unictype/property-iso-control (Depends-on, configure.ac):
52910         Likewise.
52911         * modules/unictype/property-join-control (Depends-on, configure.ac):
52912         Likewise.
52913         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
52914         Likewise.
52915         * modules/unictype/property-line-separator (Depends-on, configure.ac):
52916         Likewise.
52917         * modules/unictype/property-logical-order-exception (Depends-on,
52918         configure.ac): Likewise.
52919         * modules/unictype/property-lowercase (Depends-on, configure.ac):
52920         Likewise.
52921         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
52922         * modules/unictype/property-non-break (Depends-on, configure.ac):
52923         Likewise.
52924         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
52925         Likewise.
52926         * modules/unictype/property-numeric (Depends-on, configure.ac):
52927         Likewise.
52928         * modules/unictype/property-other-alphabetic (Depends-on,
52929         configure.ac): Likewise.
52930         * modules/unictype/property-other-default-ignorable-code-point
52931         (Depends-on, configure.ac): Likewise.
52932         * modules/unictype/property-other-grapheme-extend (Depends-on,
52933         configure.ac): Likewise.
52934         * modules/unictype/property-other-id-continue (Depends-on,
52935         configure.ac): Likewise.
52936         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
52937         Likewise.
52938         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
52939         Likewise.
52940         * modules/unictype/property-other-math (Depends-on, configure.ac):
52941         Likewise.
52942         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
52943         Likewise.
52944         * modules/unictype/property-paired-punctuation (Depends-on,
52945         configure.ac): Likewise.
52946         * modules/unictype/property-paragraph-separator (Depends-on,
52947         configure.ac): Likewise.
52948         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
52949         Likewise.
52950         * modules/unictype/property-pattern-white-space (Depends-on,
52951         configure.ac): Likewise.
52952         * modules/unictype/property-private-use (Depends-on, configure.ac):
52953         Likewise.
52954         * modules/unictype/property-punctuation (Depends-on, configure.ac):
52955         Likewise.
52956         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
52957         Likewise.
52958         * modules/unictype/property-radical (Depends-on, configure.ac):
52959         Likewise.
52960         * modules/unictype/property-sentence-terminal (Depends-on,
52961         configure.ac): Likewise.
52962         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
52963         Likewise.
52964         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
52965         * modules/unictype/property-terminal-punctuation (Depends-on,
52966         configure.ac): Likewise.
52967         * modules/unictype/property-titlecase (Depends-on, configure.ac):
52968         Likewise.
52969         * modules/unictype/property-unassigned-code-value (Depends-on,
52970         configure.ac): Likewise.
52971         * modules/unictype/property-unified-ideograph (Depends-on,
52972         configure.ac): Likewise.
52973         * modules/unictype/property-uppercase (Depends-on, configure.ac):
52974         Likewise.
52975         * modules/unictype/property-variation-selector (Depends-on,
52976         configure.ac): Likewise.
52977         * modules/unictype/property-white-space (Depends-on, configure.ac):
52978         Likewise.
52979         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
52980         Likewise.
52981         * modules/unictype/property-xid-start (Depends-on, configure.ac):
52982         Likewise.
52983         * modules/unictype/property-zero-width (Depends-on, configure.ac):
52984         Likewise.
52985         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
52986         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
52987         Likewise.
52989 2009-12-31  Bruno Haible  <bruno@clisp.org>
52991         Remove unnecessary AC_C_INLINE invocation.
52992         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
52993         since 2009-08-21.
52995 2009-12-31  Jim Meyering  <meyering@redhat.com>
52997         maint.mk: don't require explicit gpg_key_ID in cfg.mk
52998         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
52999         With this change, we can all remove the gpg_key_ID = ... definition
53000         from our respective cfg.mk files.
53002         maint.mk: create announcement template in ~/, not in /tmp
53003         * top/maint.mk (emit_upload_commands): Adjust.
53004         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
53005         Remove temporary file, .ci-msg.
53007 2009-12-31  Eric Blake  <ebb9@byu.net>
53009         link-warning: always build headers with link warnings
53010         * modules/arpa_inet (Makefile.am): Always build replacement
53011         header.
53012         * modules/ctype (Makefile.am): Likewise.
53013         * modules/dirent (Makefile.am): Likewise.
53014         * modules/inttypes (Makefile.am): Likewise.
53015         * modules/langinfo (Makefile.am): Likewise.
53016         * modules/locale (Makefile.am): Likewise.
53017         * modules/spawn (Makefile.am): Likewise.
53018         * modules/sys_file (Makefile.am): Likewise.
53019         * modules/sys_ioctl (Makefile.am): Likewise.
53020         * modules/sys_select (Makefile.am): Likewise.
53021         * modules/sys_socket (Makefile.am): Likewise.
53022         * modules/sys_times (Makefile.am): Likewise.
53023         * modules/sys_utsname (Makefile.am): Likewise.
53024         * modules/sys_wait (Makefile.am): Likewise.
53025         * modules/wchar (Makefile.am): Likewise.
53026         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
53027         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
53028         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
53029         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
53030         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
53031         Likewise.
53032         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
53033         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
53034         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
53035         Likewise.
53036         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
53037         Likewise.
53038         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
53039         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
53040         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
53041         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53042         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
53043         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
53044         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
53045         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
53046         (gl_WCHAR_H_DEFAULTS): Likewise.
53048 2009-12-31  Eric Blake  <ebb9@byu.net>
53050         signal, spawn: use link warnings
53051         * lib/signal.in.h (sigset_t): Make unconditional.
53052         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
53053         (sigpending, sigprocmask, sigaction): Add link warnings.
53054         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
53055         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
53056         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
53057         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
53058         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
53059         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
53060         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
53061         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
53062         (posix_spawn_file_actions_destroy)
53063         (posix_spawn_file_actions_addopen)
53064         (posix_spawn_file_actions_addclose)
53065         (posix_spawn_file_actions_adddup2): Likewise.
53066         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
53067         * tests/test-signal.c (main): Enhance test.
53069         spawn: improve wrapper support
53070         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
53071         (gl_SPAWN_H_DEFAULTS): New defaults.
53072         * modules/spawn (Makefile.am): Substitute them.
53073         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
53074         Only declare if missing or broken.
53076         sys_times, sys_utsname: use include_next
53077         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
53078         header.
53079         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
53080         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
53081         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
53082         * modules/sys_times (Depends-on): Add include_next.
53083         (Makefile.am): Substitute additional values.
53084         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
53085         * lib/sys_times.in.h (includes): Include native header, if
53086         available.
53087         * lib/sys_utsname.in.h (includes): Likewise.
53088         * tests/test-sys_times.c (main): Enhance test.
53090         fdutimensat: revert prior patch
53091         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
53092         utimens.h.
53093         Reported by Bruno Haible.
53095 2009-12-30  Eric Blake  <ebb9@byu.net>
53097         sys_wait: drop link-warning dependency
53098         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
53099         link-warning efforts.
53100         * lib/sys_wait.in.h: Likewise.
53102         fdutimensat: remove bogus dependency
53103         * modules/fdutimensat (Depends-on): Drop inline.
53105         unistd: fix typo
53106         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
53108 2009-12-30  Bruno Haible  <bruno@clisp.org>
53110         Fix compilation error with Solaris cc.
53111         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
53112         * lib/unicase/u16-is-invariant.c: Likewise.
53113         * lib/unicase/u32-is-invariant.c: Likewise.
53114         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
53116 2009-12-30  Bruno Haible  <bruno@clisp.org>
53118         Fix test crash.
53119         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
53120         locales.
53121         Reported by Simon Josefsson <simon@josefsson.org>.
53123 2009-12-30  Bruno Haible  <bruno@clisp.org>
53125         Fix compilation error on most platforms.
53126         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
53127         Reported by Simon Josefsson <simon@josefsson.org>
53128         and Nelson H. F. Beebe <beebe@math.utah.edu>.
53130 2009-12-30  Eric Blake  <ebb9@byu.net>
53132         futimens, utimensat: work around ntfs-3g bug
53133         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
53134         a ctime bug is present, and expand workaround to cover ntfs-3g.
53135         * lib/utimens.c (fdutimens, lutimens): Likewise.
53136         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
53137         (validate_timespec): Adjust return value.
53138         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
53139         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
53140         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
53142 2009-12-29  Eric Blake  <ebb9@byu.net>
53144         link-warning: make usage consistent
53145         * modules/ctype (Depends-on): Add link-warning.
53146         (Makefile.am): Update rules accordingly.
53147         * modules/langinfo (Depends-on, Makefile.am): Likewise.
53148         * modules/locale (Depends-on, Makefile.am): Likewise.
53149         * modules/sys_file (Makefile.am): Likewise.
53150         * modules/getopt-posix (Makefile.am): Delete unused link warning
53151         efforts.
53152         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
53153         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
53154         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
53155         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
53157         stdio: remove unused variables
53158         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
53159         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
53160         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
53162         tests: test more substitute headers
53163         * modules/ctype-tests: New file.
53164         * modules/dirent-tests: Likewise.
53165         * modules/spawn-tests: Likewise.
53166         * modules/sys_file-tests: Likewise.
53167         * modules/sys_ioctl-tests: Likewise.
53168         * modules/sys_wait-tests: Likewise.
53169         * tests/test-ctype.c: Likewise.
53170         * tests/test-dirent.c: Likewise.
53171         * tests/test-spawn.c: Likewise.
53172         * tests/test-sys_file.c: Likewise.
53173         * tests/test-sys_ioctl.c: Likewise.
53174         * tests/test-sys_wait.c: Likewise.
53175         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
53176         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
53177         whether or not flock is in use.
53179         tests: remove License section from module
53180         * modules/arpa_inet-tests: Remove unneeded section.
53181         * modules/byteswap-tests: Likewise.
53182         * modules/ceilf-tests: Likewise.
53183         * modules/ceill-tests: Likewise.
53184         * modules/crypto/des-tests: Likewise.
53185         * modules/crypto/gc-arcfour-tests: Likewise.
53186         * modules/crypto/gc-arctwo-tests: Likewise.
53187         * modules/crypto/gc-des-tests: Likewise.
53188         * modules/crypto/gc-hmac-md5-tests: Likewise.
53189         * modules/crypto/gc-hmac-sha1-tests: Likewise.
53190         * modules/crypto/gc-md2-tests: Likewise.
53191         * modules/crypto/gc-md4-tests: Likewise.
53192         * modules/crypto/gc-md5-tests: Likewise.
53193         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
53194         * modules/crypto/gc-rijndael-tests: Likewise.
53195         * modules/crypto/gc-sha1-tests: Likewise.
53196         * modules/crypto/gc-tests: Likewise.
53197         * modules/crypto/md2-tests: Likewise.
53198         * modules/crypto/md4-tests: Likewise.
53199         * modules/fcntl-h-tests: Likewise.
53200         * modules/floorf-tests: Likewise.
53201         * modules/floorl-tests: Likewise.
53202         * modules/frexp-nolibm-tests: Likewise.
53203         * modules/frexp-tests: Likewise.
53204         * modules/frexpl-nolibm-tests: Likewise.
53205         * modules/frexpl-tests: Likewise.
53206         * modules/getaddrinfo-tests: Likewise.
53207         * modules/inttypes-tests: Likewise.
53208         * modules/isfinite-tests: Likewise.
53209         * modules/isinf-tests: Likewise.
53210         * modules/ldexpl-tests: Likewise.
53211         * modules/locale-tests: Likewise.
53212         * modules/math-tests: Likewise.
53213         * modules/netdb-tests: Likewise.
53214         * modules/netinet_in-tests: Likewise.
53215         * modules/printf-frexp-tests: Likewise.
53216         * modules/printf-frexpl-tests: Likewise.
53217         * modules/priv-set-tests: Likewise.
53218         * modules/random_r-tests: Likewise.
53219         * modules/round-tests: Likewise.
53220         * modules/roundf-tests: Likewise.
53221         * modules/roundl-tests: Likewise.
53222         * modules/search-tests: Likewise.
53223         * modules/select-tests: Likewise.
53224         * modules/signal-tests: Likewise.
53225         * modules/stdbool-tests: Likewise.
53226         * modules/stddef-tests: Likewise.
53227         * modules/stdint-tests: Likewise.
53228         * modules/stdio-tests: Likewise.
53229         * modules/stdlib-tests: Likewise.
53230         * modules/string-tests: Likewise.
53231         * modules/strings-tests: Likewise.
53232         * modules/sys_select-tests: Likewise.
53233         * modules/sys_socket-tests: Likewise.
53234         * modules/sys_stat-tests: Likewise.
53235         * modules/sys_time-tests: Likewise.
53236         * modules/sys_utsname-tests: Likewise.
53237         * modules/sysexits-tests: Likewise.
53238         * modules/time-tests: Likewise.
53239         * modules/trunc-tests: Likewise.
53240         * modules/truncf-tests: Likewise.
53241         * modules/truncl-tests: Likewise.
53242         * modules/tsearch-tests: Likewise.
53243         * modules/unistd-tests: Likewise.
53244         * modules/wchar-tests: Likewise.
53245         * modules/wctype-tests: Likewise.
53247         tests: fix license on several tests
53248         * tests/test-des.c: Update to GPLv3+.
53249         * tests/test-flock.c: Likewise.
53250         * tests/test-fsync.c: Likewise.
53251         * tests/test-futimens.h: Likewise.
53252         * tests/test-gc-arcfour.c: Likewise.
53253         * tests/test-gc-arctwo.c: Likewise.
53254         * tests/test-gc-des.c: Likewise.
53255         * tests/test-gc-hmac-md5.c: Likewise.
53256         * tests/test-gc-hmac-sha1.c: Likewise.
53257         * tests/test-gc-md2.c: Likewise.
53258         * tests/test-gc-md4.c: Likewise.
53259         * tests/test-gc-md5.c: Likewise.
53260         * tests/test-gc-pbkdf2-sha1.c: Likewise.
53261         * tests/test-gc-rijndael.c: Likewise.
53262         * tests/test-gc-sha1.c: Likewise.
53263         * tests/test-gc.c: Likewise.
53264         * tests/test-getcwd.c: Likewise.
53265         * tests/test-link.c: Likewise.
53266         * tests/test-link.h: Likewise.
53267         * tests/test-lutimens.h: Likewise.
53268         * tests/test-md2.c: Likewise.
53269         * tests/test-md4.c: Likewise.
53270         * tests/test-mkdir.h: Likewise.
53271         * tests/test-rename.c: Likewise.
53272         * tests/test-rename.h: Likewise.
53273         * tests/test-safe-alloc.c: Likewise.
53274         * tests/test-utimens-common.h: Likewise.
53275         * tests/test-utimens.h: Likewise.
53277         maint: sync license texts
53278         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
53279         * doc/gpl-3.0.texi: Revert copyright year update.
53280         * doc/lgpl-3.0.texi: Likewise.
53282 2009-12-29  Jim Meyering  <meyering@redhat.com>
53284         update nearly all FSF copyright year lists to include 2009
53285         The files named by the following are exempted:
53286             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
53287               test -f "$dst" && { echo "$dst"; continue; }
53288               test -d "$dst" || continue
53289               echo "$dst"/$(basename "$src")
53290             done > exempt
53291             git ls-files tests/unictype >> exempt
53292         In the remaining files, convert to all-interval notation if
53293         - there is already at least one year interval like 2000-2003
53294         - the file is maintained by me
53295         - the file is in lib/uni*/, where that style already prevails
53296         Otherwise, use update-copyright's default.
53298 2009-12-29  Simon Josefsson  <simon@josefsson.org>
53299         and Eric Blake  <ebb9@byu.net>
53301         tests: don't require debug system() to pass
53302         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
53303         * tests/test-rmdir.h (test_rmdir_func): Likewise.
53304         * tests/test-unlink.h (test_unlink_func): Likewise.
53305         * tests/test-fstatat.c (main): ...into callers.
53306         * tests/test-lstat.c (main): Likewise.
53307         * tests/test-rmdir.c (main): Likewise.
53308         * tests/test-unlink.c (main): Likewise.
53309         * tests/test-unlinkat.c (main): Likewise.
53310         * tests/test-areadlink-with-size.c (main): Don't require a
53311         debug-only system call to pass, aiding cross-testing to mingw.
53312         * tests/test-areadlink.c (main): Likewise.
53313         * tests/test-areadlinkat-with-size.c (main): Likewise.
53314         * tests/test-areadlinkat.c (main): Likewise.
53315         * tests/test-canonicalize-lgpl.c (main): Likewise.
53316         * tests/test-canonicalize.c (main): Likewise.
53317         * tests/test-chown.c (main): Likewise.
53318         * tests/test-fchownat.c (main): Likewise.
53319         * tests/test-lchown.c (main): Likewise.
53320         * tests/test-fdutimensat.c (main): Likewise.
53321         * tests/test-futimens.c (main): Likewise.
53322         * tests/test-link.c (main): Likewise.
53323         * tests/test-linkat.c (main): Likewise.
53324         * tests/test-mkdir.c (main): Likewise.
53325         * tests/test-mkdirat.c (main): Likewise.
53326         * tests/test-mkfifo.c (main): Likewise.
53327         * tests/test-mkfifoat.c (main): Likewise.
53328         * tests/test-mknod.c (main): Likewise.
53329         * tests/test-readlink.c (main): Likewise.
53330         * tests/test-remove.c (main): Likewise.
53331         * tests/test-rename.c (main): Likewise.
53332         * tests/test-renameat.c (main): Likewise.
53333         * tests/test-symlink.c (main): Likewise.
53334         * tests/test-symlinkat.c (main): Likewise.
53335         * tests/test-utimens.c (main): Likewise.
53336         * tests/test-utimensat.c (main): Likewise.
53338 2009-12-29  Simon Josefsson  <simon@josefsson.org>
53340         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
53341         on $(UNUSED_PARAMETER_H) to avoid build failure.
53343 2009-12-28  Jim Meyering  <meyering@redhat.com>
53345         update-copyright: you may specify a max. line length other than 72
53346         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
53348         maint: use consistent FSF copyright line syntax
53349         * lib/posixtm.c: Add missing comma in FSF copyright line.
53350         * lib/posixtm.h: Likewise.
53351         * lib/getugroups.c: Add missing ", Inc.".
53353         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
53354         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
53355         FSF copyright line.  Remove trailing blanks.
53357 2009-12-28  Eric Blake  <ebb9@byu.net>
53359         test-dup2: reduce dependencies
53360         * modules/cloexec (Configure.ac): Set witness.
53361         * modules/dup2-tests (Depends-on): Drop cloexec.
53362         * tests/test-dup2.c (main): Skip portion of test if cloexec module
53363         not present.
53364         Suggested by Bruno Haible.
53366 2009-12-26  Bruno Haible  <bruno@clisp.org>
53368         Remove an unneeded dependency.
53369         * modules/fseterr (Depends-on): Remove dup2.
53371 2009-12-26  Eric Blake  <ebb9@byu.net>
53373         tests: use macros.h in more places
53374         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
53375         (ASSERT_STREAM): Provide default of stderr.
53376         * tests/test-dirent-safer.c: Include macros.h, using alternate
53377         stream for assertions.
53378         * tests/test-dup-safer.c: Likewise.
53379         * tests/test-freopen-safer.c: Likewise.
53380         * tests/test-getopt.c: Likewise.
53381         * tests/test-openat-safer.c: Likewise.
53382         * tests/test-pipe.c: Likewise.
53383         * tests/test-popen-safer.c: Likewise.
53384         * modules/dirent-safer-tests (Files): Include macros.h.
53385         * modules/unistd-safer-tests (Files): Likewise.
53386         * modules/freopen-safer-tests (Files): Likewise.
53387         * modules/getopt-posix-tests (Files): Likewise.
53388         * modules/openat-safer-tests (Files): Likewise.
53389         * modules/pipe-tests (Files): Likewise.
53391 2009-12-26  Bruno Haible  <bruno@clisp.org>
53393         javacomp: Portability fix.
53394         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
53395         that it also works on Solaris.
53397 2009-12-26  Bruno Haible  <bruno@clisp.org>
53399         localename: Fix storage allocation of gl_locale_name_thread's result.
53400         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
53401         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
53402         all platforms that have 'uselocale'.
53403         (gl_locale_name_thread_unsafe): New function, extracted from
53404         gl_locale_name_thread.
53405         (gl_locale_name_thread): Call struniq on all platforms that have
53406         'uselocale'.
53407         * tests/test-localename.c (test_locale_name_thread): Check that the
53408         resulting strings are permanently allocated.
53409         * modules/localename-tests (Depends-on): Add strdup.
53411 2009-12-26  Bruno Haible  <bruno@clisp.org>
53413         * tests/test-localename.c (categories): Fill in the strings.
53415 2009-12-26  Jim Meyering  <meyering@redhat.com>
53417         isdir: complete the removal of m4/isdir.m4
53418         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
53420         isdir: clean up, since at least grep still uses it
53421         * lib/isdir.c: Include "isdir.h".
53422         (S_ISDIR): Remove now-unneeded definition.
53423         * modules/isdir (Files): Add lib/isdir.h.
53424         * lib/isdir.h: New file, with declaration.
53425         * m4/isdir.m4: Remove file -- unneeded.
53427 2009-12-25  Bruno Haible  <bruno@clisp.org>
53429         selinux-h: Make generated .h files standalone.
53430         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
53431         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
53432         * lib/se-selinux.in.h: Likewise.
53433         * modules/selinux-h (Depends-on): Add unused-parameter.
53434         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
53435         selinux/selinux.h and selinux/context.h.
53436         Suggested by Eric Blake.
53438 2009-12-25  Bruno Haible  <bruno@clisp.org>
53440         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
53441         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
53442         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
53443         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
53444         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
53446 2009-12-24  Bruno Haible  <bruno@clisp.org>
53448         openat: Fix warning.
53449         * lib/openat-proc.c: Include <unistd.h>.
53451 2009-12-24  Bruno Haible  <bruno@clisp.org>
53453         New module 'unused-parameter'.
53454         * build-aux/unused-parameter.h: New file, extracted from earlier
53455         gnulib-common.m4.
53456         * modules/unused-parameter: New file.
53457         * lib/unistr.h: Include unused-parameter.h.
53458         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
53459         _GL_UNUSED.
53460         * modules/unistr/base (Depends-on): Add unused-parameter.
53462 2009-12-24  Bruno Haible  <bruno@clisp.org>
53464         Add missing dependencies to 'extensions' module.
53465         * m4/extensions.m4: Add comment.
53466         * modules/accept4 (Depends-on): Add extensions.
53467         * modules/dup3 (Depends-on): Likewise.
53468         * modules/fcntl (Depends-on): Likewise.
53469         * modules/futimens (Depends-on): Likewise.
53470         * modules/mknod (Depends-on): Likewise.
53471         * modules/pipe2 (Depends-on): Likewise.
53472         * modules/stat-time (Depends-on): Likewise.
53473         * modules/strcasestr-simple (Depends-on): Likewise.
53474         * modules/strsignal (Depends-on): Likewise.
53475         * modules/utimensat (Depends-on): Likewise.
53476         * modules/localcharset (Depends-on): Likewise. Needed because of
53477         gl_FCNTL_O_FLAGS.
53478         * modules/wcrtomb (Depends-on): Likewise. Needed because of
53479         AC_TYPE_MBSTATE_T.
53480         * modules/wcsnrtombs (Depends-on): Likewise.
53481         * modules/wcsrtombs (Depends-on): Likewise.
53483 2009-12-24  Bruno Haible  <bruno@clisp.org>
53485         binary-io: Avoid gcc warning due to SET_BINARY.
53486         * lib/binary-io.h (SET_BINARY): Cast the result to void.
53487         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
53489 2009-12-24  Bruno Haible  <bruno@clisp.org>
53491         Avoid future namespace pollution on glibc systems.
53492         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
53493         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
53494         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
53495         glibc systems.
53497 2009-12-24  Bruno Haible  <bruno@clisp.org>
53499         Refactor common macros used in tests.
53500         * tests/macros.h: New file.
53501         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
53502         and/or <stdlib.h>, if appropriate.
53503         (ASSERT, SIZEOF): Remove macros.
53504         * tests/test-areadlink-with-size.c: Likewise.
53505         * tests/test-areadlinkat.c: Likewise.
53506         * tests/test-areadlinkat-with-size.c: Likewise.
53507         * tests/test-argmatch.c: Likewise.
53508         * tests/test-argv-iter.c: Likewise.
53509         * tests/test-array-mergesort.c: Likewise.
53510         * tests/test-array_list.c: Likewise.
53511         * tests/test-array_oset.c: Likewise.
53512         * tests/test-avltree_list.c: Likewise.
53513         * tests/test-avltree_oset.c: Likewise.
53514         * tests/test-avltreehash_list.c: Likewise.
53515         * tests/test-base64.c: Likewise.
53516         * tests/test-binary-io.c: Likewise.
53517         * tests/test-bitrotate.c: Likewise.
53518         * tests/test-btowc.c: Likewise.
53519         * tests/test-byteswap.c: Likewise.
53520         * tests/test-c-ctype.c: Likewise.
53521         * tests/test-c-stack.c: Likewise.
53522         * tests/test-c-strcasecmp.c: Likewise.
53523         * tests/test-c-strcasestr.c: Likewise.
53524         * tests/test-c-strncasecmp.c: Likewise.
53525         * tests/test-c-strstr.c: Likewise.
53526         * tests/test-canonicalize-lgpl.c: Likewise.
53527         * tests/test-canonicalize.c: Likewise.
53528         * tests/test-carray_list.c: Likewise.
53529         * tests/test-ceilf1.c: Likewise.
53530         * tests/test-ceilf2.c: Likewise.
53531         * tests/test-ceill.c: Likewise.
53532         * tests/test-chown.c: Likewise.
53533         * tests/test-cloexec.c: Likewise.
53534         * tests/test-copy-acl.c: Likewise.
53535         * tests/test-copy-file.c: Likewise.
53536         * tests/test-count-one-bits.c: Likewise.
53537         * tests/test-dprintf-posix.c: Likewise.
53538         * tests/test-dup2.c: Likewise.
53539         * tests/test-dup3.c: Likewise.
53540         * tests/test-duplocale.c: Likewise.
53541         * tests/test-fbufmode.c: Likewise.
53542         * tests/test-fchdir.c: Likewise.
53543         * tests/test-fchownat.c: Likewise.
53544         * tests/test-fcntl-safer.c: Likewise.
53545         * tests/test-fcntl.c: Likewise.
53546         * tests/test-fdopendir.c: Likewise.
53547         * tests/test-fdutimensat.c: Likewise.
53548         * tests/test-fflush2.c: Likewise.
53549         * tests/test-file-has-acl.c: Likewise.
53550         * tests/test-filevercmp.c: Likewise.
53551         * tests/test-flock.c: Likewise.
53552         * tests/test-floorf1.c: Likewise.
53553         * tests/test-floorf2.c: Likewise.
53554         * tests/test-floorl.c: Likewise.
53555         * tests/test-fnmatch.c: Likewise.
53556         * tests/test-fopen.h: Likewise.
53557         * tests/test-fpending.c: Likewise.
53558         * tests/test-fprintf-posix.c: Likewise.
53559         * tests/test-fpurge.c: Likewise.
53560         * tests/test-freadable.c: Likewise.
53561         * tests/test-freadahead.c: Likewise.
53562         * tests/test-freading.c: Likewise.
53563         * tests/test-freadptr.c: Likewise.
53564         * tests/test-freadptr2.c: Likewise.
53565         * tests/test-freadseek.c: Likewise.
53566         * tests/test-freopen.c: Likewise.
53567         * tests/test-frexp.c: Likewise.
53568         * tests/test-frexpl.c: Likewise.
53569         * tests/test-fseek.c: Likewise.
53570         * tests/test-fseeko.c: Likewise.
53571         * tests/test-fstatat.c: Likewise.
53572         * tests/test-fstrcmp.c: Likewise.
53573         * tests/test-fsync.c: Likewise.
53574         * tests/test-ftell.c: Likewise.
53575         * tests/test-ftello.c: Likewise.
53576         * tests/test-func.c: Likewise.
53577         * tests/test-futimens.c: Likewise.
53578         * tests/test-fwritable.c: Likewise.
53579         * tests/test-fwriting.c: Likewise.
53580         * tests/test-getcwd.c: Likewise.
53581         * tests/test-getdate.c: Likewise.
53582         * tests/test-getdelim.c: Likewise.
53583         * tests/test-getdtablesize.c: Likewise.
53584         * tests/test-getgroups.c: Likewise.
53585         * tests/test-getline.c: Likewise.
53586         * tests/test-getndelim2.c: Likewise.
53587         * tests/test-glob.c: Likewise.
53588         * tests/test-hash.c: Likewise.
53589         * tests/test-i-ring.c: Likewise.
53590         * tests/test-iconv-utf.c: Likewise.
53591         * tests/test-iconv.c: Likewise.
53592         * tests/test-idpriv-drop.c: Likewise.
53593         * tests/test-idpriv-droptemp.c: Likewise.
53594         * tests/test-inet_ntop.c: Likewise.
53595         * tests/test-inet_pton.c: Likewise.
53596         * tests/test-isblank.c: Likewise.
53597         * tests/test-isfinite.c: Likewise.
53598         * tests/test-isinf.c: Likewise.
53599         * tests/test-isnan.c: Likewise.
53600         * tests/test-isnand.h: Likewise.
53601         * tests/test-isnanf.h: Likewise.
53602         * tests/test-isnanl.h: Likewise.
53603         * tests/test-lchown.c: Likewise.
53604         * tests/test-ldexpl.c: Likewise.
53605         * tests/test-link.c: Likewise.
53606         * tests/test-linkat.c: Likewise.
53607         * tests/test-linked_list.c: Likewise.
53608         * tests/test-linkedhash_list.c: Likewise.
53609         * tests/test-localename.c: Likewise.
53610         * tests/test-lseek.c: Likewise.
53611         * tests/test-lstat.c: Likewise.
53612         * tests/test-mbmemcasecmp.c: Likewise.
53613         * tests/test-mbmemcasecoll.c: Likewise.
53614         * tests/test-mbrtowc.c: Likewise.
53615         * tests/test-mbscasecmp.c: Likewise.
53616         * tests/test-mbscasestr1.c: Likewise.
53617         * tests/test-mbscasestr2.c: Likewise.
53618         * tests/test-mbscasestr3.c: Likewise.
53619         * tests/test-mbscasestr4.c: Likewise.
53620         * tests/test-mbschr.c: Likewise.
53621         * tests/test-mbscspn.c: Likewise.
53622         * tests/test-mbsinit.c: Likewise.
53623         * tests/test-mbsncasecmp.c: Likewise.
53624         * tests/test-mbsnrtowcs.c: Likewise.
53625         * tests/test-mbspbrk.c: Likewise.
53626         * tests/test-mbspcasecmp.c: Likewise.
53627         * tests/test-mbsrchr.c: Likewise.
53628         * tests/test-mbsrtowcs.c: Likewise.
53629         * tests/test-mbsspn.c: Likewise.
53630         * tests/test-mbsstr1.c: Likewise.
53631         * tests/test-mbsstr2.c: Likewise.
53632         * tests/test-mbsstr3.c: Likewise.
53633         * tests/test-memchr.c: Likewise.
53634         * tests/test-memchr2.c: Likewise.
53635         * tests/test-memcmp.c: Likewise.
53636         * tests/test-memmem.c: Likewise.
53637         * tests/test-memrchr.c: Likewise.
53638         * tests/test-mkdir.c: Likewise.
53639         * tests/test-mkdirat.c: Likewise.
53640         * tests/test-mkfifo.c: Likewise.
53641         * tests/test-mkfifoat.c: Likewise.
53642         * tests/test-mknod.c: Likewise.
53643         * tests/test-nanosleep.c: Likewise.
53644         * tests/test-nl_langinfo.c: Likewise.
53645         * tests/test-obstack-printf.c: Likewise.
53646         * tests/test-open.c: Likewise.
53647         * tests/test-openat.c: Likewise.
53648         * tests/test-pipe-filter-gi1.c: Likewise.
53649         * tests/test-pipe-filter-gi2-main.c: Likewise.
53650         * tests/test-pipe-filter-ii1.c: Likewise.
53651         * tests/test-pipe-filter-ii2-main.c: Likewise.
53652         * tests/test-pipe2.c: Likewise.
53653         * tests/test-popen.h: Likewise.
53654         * tests/test-posixtm.c: Likewise.
53655         * tests/test-pread.c: Likewise.
53656         * tests/test-printf-frexp.c: Likewise.
53657         * tests/test-printf-frexpl.c: Likewise.
53658         * tests/test-printf-posix.c: Likewise.
53659         * tests/test-priv-set.c: Likewise.
53660         * tests/test-quotearg.c: Likewise.
53661         * tests/test-random_r.c: Likewise.
53662         * tests/test-rawmemchr.c: Likewise.
53663         * tests/test-rbtree_list.c: Likewise.
53664         * tests/test-rbtree_oset.c: Likewise.
53665         * tests/test-rbtreehash_list.c: Likewise.
53666         * tests/test-readlink.c: Likewise.
53667         * tests/test-remove.c: Likewise.
53668         * tests/test-rename.c: Likewise.
53669         * tests/test-renameat.c: Likewise.
53670         * tests/test-rmdir.c: Likewise.
53671         * tests/test-round1.c: Likewise.
53672         * tests/test-roundf1.c: Likewise.
53673         * tests/test-roundl.c: Likewise.
53674         * tests/test-safe-alloc.c: Likewise.
53675         * tests/test-sameacls.c: Likewise.
53676         * tests/test-set-mode-acl.c: Likewise.
53677         * tests/test-setenv.c: Likewise.
53678         * tests/test-sigaction.c: Likewise.
53679         * tests/test-signbit.c: Likewise.
53680         * tests/test-sleep.c: Likewise.
53681         * tests/test-snprintf-posix.c: Likewise.
53682         * tests/test-snprintf.c: Likewise.
53683         * tests/test-sprintf-posix.c: Likewise.
53684         * tests/test-stat-time.c: Likewise.
53685         * tests/test-stat.c: Likewise.
53686         * tests/test-strcasestr.c: Likewise.
53687         * tests/test-strchrnul.c: Likewise.
53688         * tests/test-strerror.c: Likewise.
53689         * tests/test-striconv.c: Likewise.
53690         * tests/test-striconveh.c: Likewise.
53691         * tests/test-striconveha.c: Likewise.
53692         * tests/test-strsignal.c: Likewise.
53693         * tests/test-strstr.c: Likewise.
53694         * tests/test-strtod.c: Likewise.
53695         * tests/test-strverscmp.c: Likewise.
53696         * tests/test-symlink.c: Likewise.
53697         * tests/test-symlinkat.c: Likewise.
53698         * tests/test-trunc1.c: Likewise.
53699         * tests/test-trunc2.c: Likewise.
53700         * tests/test-truncf1.c: Likewise.
53701         * tests/test-truncf2.c: Likewise.
53702         * tests/test-truncl.c: Likewise.
53703         * tests/test-uname.c: Likewise.
53704         * tests/test-unlink.c: Likewise.
53705         * tests/test-unlinkat.c: Likewise.
53706         * tests/test-unsetenv.c: Likewise.
53707         * tests/test-usleep.c: Likewise.
53708         * tests/test-utimens.c: Likewise.
53709         * tests/test-utimensat.c: Likewise.
53710         * tests/test-vasnprintf-posix.c: Likewise.
53711         * tests/test-vasnprintf-posix2.c: Likewise.
53712         * tests/test-vasnprintf.c: Likewise.
53713         * tests/test-vasprintf-posix.c: Likewise.
53714         * tests/test-vasprintf.c: Likewise.
53715         * tests/test-vdprintf-posix.c: Likewise.
53716         * tests/test-vfprintf-posix.c: Likewise.
53717         * tests/test-vprintf-posix.c: Likewise.
53718         * tests/test-vsnprintf-posix.c: Likewise.
53719         * tests/test-vsnprintf.c: Likewise.
53720         * tests/test-vsprintf-posix.c: Likewise.
53721         * tests/test-wcrtomb.c: Likewise.
53722         * tests/test-wcsnrtombs.c: Likewise.
53723         * tests/test-wcsrtombs.c: Likewise.
53724         * tests/test-wctype.c: Likewise.
53725         * tests/test-wcwidth.c: Likewise.
53726         * tests/test-xfprintf-posix.c: Likewise.
53727         * tests/test-xmemdup0.c: Likewise.
53728         * tests/test-xprintf-posix.c: Likewise.
53729         * tests/test-xvasprintf.c: Likewise.
53730         * tests/unicase/test-locale-language.c: Likewise.
53731         * tests/unicase/test-mapping-part1.h: Likewise.
53732         * tests/unicase/test-predicate-part1.h: Likewise.
53733         * tests/unicase/test-u8-casecmp.c: Likewise.
53734         * tests/unicase/test-u8-casecoll.c: Likewise.
53735         * tests/unicase/test-u8-casefold.c: Likewise.
53736         * tests/unicase/test-u8-is-cased.c: Likewise.
53737         * tests/unicase/test-u8-is-casefolded.c: Likewise.
53738         * tests/unicase/test-u8-is-lowercase.c: Likewise.
53739         * tests/unicase/test-u8-is-titlecase.c: Likewise.
53740         * tests/unicase/test-u8-is-uppercase.c: Likewise.
53741         * tests/unicase/test-u8-tolower.c: Likewise.
53742         * tests/unicase/test-u8-totitle.c: Likewise.
53743         * tests/unicase/test-u8-toupper.c: Likewise.
53744         * tests/unicase/test-u16-casecmp.c: Likewise.
53745         * tests/unicase/test-u16-casecoll.c: Likewise.
53746         * tests/unicase/test-u16-casefold.c: Likewise.
53747         * tests/unicase/test-u16-is-cased.c: Likewise.
53748         * tests/unicase/test-u16-is-casefolded.c: Likewise.
53749         * tests/unicase/test-u16-is-lowercase.c: Likewise.
53750         * tests/unicase/test-u16-is-titlecase.c: Likewise.
53751         * tests/unicase/test-u16-is-uppercase.c: Likewise.
53752         * tests/unicase/test-u16-tolower.c: Likewise.
53753         * tests/unicase/test-u16-totitle.c: Likewise.
53754         * tests/unicase/test-u16-toupper.c: Likewise.
53755         * tests/unicase/test-u32-casecmp.c: Likewise.
53756         * tests/unicase/test-u32-casecoll.c: Likewise.
53757         * tests/unicase/test-u32-casefold.c: Likewise.
53758         * tests/unicase/test-u32-is-cased.c: Likewise.
53759         * tests/unicase/test-u32-is-casefolded.c: Likewise.
53760         * tests/unicase/test-u32-is-lowercase.c: Likewise.
53761         * tests/unicase/test-u32-is-titlecase.c: Likewise.
53762         * tests/unicase/test-u32-is-uppercase.c: Likewise.
53763         * tests/unicase/test-u32-tolower.c: Likewise.
53764         * tests/unicase/test-u32-totitle.c: Likewise.
53765         * tests/unicase/test-u32-toupper.c: Likewise.
53766         * tests/unicase/test-ulc-casecmp.c: Likewise.
53767         * tests/unicase/test-ulc-casecoll.c: Likewise.
53768         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
53769         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
53770         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
53771         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
53772         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
53773         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
53774         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
53775         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
53776         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
53777         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
53778         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
53779         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
53780         * tests/unictype/test-bidi_byname.c: Likewise.
53781         * tests/unictype/test-bidi_name.c: Likewise.
53782         * tests/unictype/test-bidi_of.c: Likewise.
53783         * tests/unictype/test-bidi_test.c: Likewise.
53784         * tests/unictype/test-block_list.c: Likewise.
53785         * tests/unictype/test-block_of.c: Likewise.
53786         * tests/unictype/test-block_test.c: Likewise.
53787         * tests/unictype/test-categ_and.c: Likewise.
53788         * tests/unictype/test-categ_and_not.c: Likewise.
53789         * tests/unictype/test-categ_byname.c: Likewise.
53790         * tests/unictype/test-categ_name.c: Likewise.
53791         * tests/unictype/test-categ_none.c: Likewise.
53792         * tests/unictype/test-categ_of.c: Likewise.
53793         * tests/unictype/test-categ_or.c: Likewise.
53794         * tests/unictype/test-categ_test_withtable.c: Likewise.
53795         * tests/unictype/test-combining.c: Likewise.
53796         * tests/unictype/test-decdigit.c: Likewise.
53797         * tests/unictype/test-digit.c: Likewise.
53798         * tests/unictype/test-mirror.c: Likewise.
53799         * tests/unictype/test-numeric.c: Likewise.
53800         * tests/unictype/test-pr_byname.c: Likewise.
53801         * tests/unictype/test-pr_test.c: Likewise.
53802         * tests/unictype/test-predicate-part1.h: Likewise.
53803         * tests/unictype/test-scripts.c: Likewise.
53804         * tests/unictype/test-sy_c_ident.c: Likewise.
53805         * tests/unictype/test-sy_java_ident.c: Likewise.
53806         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
53807         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
53808         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
53809         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
53810         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
53811         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
53812         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
53813         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
53814         * tests/uninorm/test-canonical-decomposition.c: Likewise.
53815         * tests/uninorm/test-compat-decomposition.c: Likewise.
53816         * tests/uninorm/test-composition.c: Likewise.
53817         * tests/uninorm/test-decomposing-form.c: Likewise.
53818         * tests/uninorm/test-decomposition.c: Likewise.
53819         * tests/uninorm/test-u8-nfc.c: Likewise.
53820         * tests/uninorm/test-u8-nfd.c: Likewise.
53821         * tests/uninorm/test-u8-nfkc.c: Likewise.
53822         * tests/uninorm/test-u8-nfkd.c: Likewise.
53823         * tests/uninorm/test-u8-normcmp.c: Likewise.
53824         * tests/uninorm/test-u8-normcoll.c: Likewise.
53825         * tests/uninorm/test-u16-nfc.c: Likewise.
53826         * tests/uninorm/test-u16-nfd.c: Likewise.
53827         * tests/uninorm/test-u16-nfkc.c: Likewise.
53828         * tests/uninorm/test-u16-nfkd.c: Likewise.
53829         * tests/uninorm/test-u16-normcmp.c: Likewise.
53830         * tests/uninorm/test-u16-normcoll.c: Likewise.
53831         * tests/uninorm/test-u32-nfc.c: Likewise.
53832         * tests/uninorm/test-u32-nfd.c: Likewise.
53833         * tests/uninorm/test-u32-nfkc.c: Likewise.
53834         * tests/uninorm/test-u32-nfkd.c: Likewise.
53835         * tests/uninorm/test-u32-normalize-big.c: Likewise.
53836         * tests/uninorm/test-u32-normcmp.c: Likewise.
53837         * tests/uninorm/test-u32-normcoll.c: Likewise.
53838         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
53839         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
53840         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
53841         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
53842         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
53843         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
53844         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
53845         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
53846         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
53847         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
53848         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
53849         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
53850         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
53851         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
53852         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
53853         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
53854         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
53855         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
53856         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
53857         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
53858         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
53859         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
53860         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
53861         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
53862         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
53863         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
53864         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
53865         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
53866         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
53867         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
53868         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
53869         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
53870         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
53871         * tests/uniwidth/test-u8-strwidth.c: Likewise.
53872         * tests/uniwidth/test-u8-width.c: Likewise.
53873         * tests/uniwidth/test-u16-strwidth.c: Likewise.
53874         * tests/uniwidth/test-u16-width.c: Likewise.
53875         * tests/uniwidth/test-u32-strwidth.c: Likewise.
53876         * tests/uniwidth/test-u32-width.c: Likewise.
53877         * tests/uniwidth/test-uc_width.c: Likewise.
53878         * tests/uniwidth/test-uc_width2.c: Likewise.
53879         * modules/acl-tests (Files): Add tests/macros.h.
53880         * modules/areadlink-tests (Files): Likewise.
53881         * modules/areadlink-with-size-tests (Files): Likewise.
53882         * modules/areadlinkat-tests (Files): Likewise.
53883         * modules/areadlinkat-with-size-tests (Files): Likewise.
53884         * modules/argmatch-tests (Files): Likewise.
53885         * modules/argv-iter-tests (Files): Likewise.
53886         * modules/array-list-tests (Files): Likewise.
53887         * modules/array-mergesort-tests (Files): Likewise.
53888         * modules/array-oset-tests (Files): Likewise.
53889         * modules/avltree-list-tests (Files): Likewise.
53890         * modules/avltree-oset-tests (Files): Likewise.
53891         * modules/avltreehash-list-tests (Files): Likewise.
53892         * modules/base64-tests (Files): Likewise.
53893         * modules/binary-io-tests (Files): Likewise.
53894         * modules/bitrotate-tests (Files): Likewise.
53895         * modules/btowc-tests (Files): Likewise.
53896         * modules/byteswap-tests (Files): Likewise.
53897         * modules/c-ctype-tests (Files): Likewise.
53898         * modules/c-stack-tests (Files): Likewise.
53899         * modules/c-strcase-tests (Files): Likewise.
53900         * modules/c-strcasestr-tests (Files): Likewise.
53901         * modules/c-strstr-tests (Files): Likewise.
53902         * modules/canonicalize-lgpl-tests (Files): Likewise.
53903         * modules/canonicalize-tests (Files): Likewise.
53904         * modules/carray-list-tests (Files): Likewise.
53905         * modules/ceilf-tests (Files): Likewise.
53906         * modules/ceill-tests (Files): Likewise.
53907         * modules/chown-tests (Files): Likewise.
53908         * modules/cloexec-tests (Files): Likewise.
53909         * modules/copy-file-tests (Files): Likewise.
53910         * modules/count-one-bits-tests (Files): Likewise.
53911         * modules/dprintf-posix-tests (Files): Likewise.
53912         * modules/dup2-tests (Files): Likewise.
53913         * modules/dup3-tests (Files): Likewise.
53914         * modules/duplocale-tests (Files): Likewise.
53915         * modules/fbufmode-tests (Files): Likewise.
53916         * modules/fchdir-tests (Files): Likewise.
53917         * modules/fcntl-safer-tests (Files): Likewise.
53918         * modules/fcntl-tests (Files): Likewise.
53919         * modules/fdopendir-tests (Files): Likewise.
53920         * modules/fdutimensat-tests (Files): Likewise.
53921         * modules/fflush-tests (Files): Likewise.
53922         * modules/filevercmp-tests (Files): Likewise.
53923         * modules/flock-tests (Files): Likewise.
53924         * modules/floorf-tests (Files): Likewise.
53925         * modules/floorl-tests (Files): Likewise.
53926         * modules/fnmatch-tests (Files): Likewise.
53927         * modules/fopen-safer-tests (Files): Likewise.
53928         * modules/fopen-tests (Files): Likewise.
53929         * modules/fpending-tests (Files): Likewise.
53930         * modules/fprintf-posix-tests (Files): Likewise.
53931         * modules/fpurge-tests (Files): Likewise.
53932         * modules/freadable-tests (Files): Likewise.
53933         * modules/freadahead-tests (Files): Likewise.
53934         * modules/freading-tests (Files): Likewise.
53935         * modules/freadptr-tests (Files): Likewise.
53936         * modules/freadseek-tests (Files): Likewise.
53937         * modules/freopen-tests (Files): Likewise.
53938         * modules/frexp-nolibm-tests (Files): Likewise.
53939         * modules/frexp-tests (Files): Likewise.
53940         * modules/frexpl-nolibm-tests (Files): Likewise.
53941         * modules/frexpl-tests (Files): Likewise.
53942         * modules/fseek-tests (Files): Likewise.
53943         * modules/fseeko-tests (Files): Likewise.
53944         * modules/fstrcmp-tests (Files): Likewise.
53945         * modules/fsync-tests (Files): Likewise.
53946         * modules/ftell-tests (Files): Likewise.
53947         * modules/ftello-tests (Files): Likewise.
53948         * modules/func-tests (Files): Likewise.
53949         * modules/futimens-tests (Files): Likewise.
53950         * modules/fwritable-tests (Files): Likewise.
53951         * modules/fwriting-tests (Files): Likewise.
53952         * modules/getcwd-tests (Files): Likewise.
53953         * modules/getdate-tests (Files): Likewise.
53954         * modules/getdelim-tests (Files): Likewise.
53955         * modules/getdtablesize-tests (Files): Likewise.
53956         * modules/getgroups-tests (Files): Likewise.
53957         * modules/getline-tests (Files): Likewise.
53958         * modules/getndelim2-tests (Files): Likewise.
53959         * modules/glob-tests (Files): Likewise.
53960         * modules/hash-tests (Files): Likewise.
53961         * modules/i-ring-tests (Files): Likewise.
53962         * modules/iconv-tests (Files): Likewise.
53963         * modules/iconv_open-utf-tests (Files): Likewise.
53964         * modules/idpriv-drop-tests (Files): Likewise.
53965         * modules/idpriv-droptemp-tests (Files): Likewise.
53966         * modules/inet_ntop-tests (Files): Likewise.
53967         * modules/inet_pton-tests (Files): Likewise.
53968         * modules/isblank-tests (Files): Likewise.
53969         * modules/isfinite-tests (Files): Likewise.
53970         * modules/isinf-tests (Files): Likewise.
53971         * modules/isnan-tests (Files): Likewise.
53972         * modules/isnand-nolibm-tests (Files): Likewise.
53973         * modules/isnand-tests (Files): Likewise.
53974         * modules/isnanf-nolibm-tests (Files): Likewise.
53975         * modules/isnanf-tests (Files): Likewise.
53976         * modules/isnanl-nolibm-tests (Files): Likewise.
53977         * modules/isnanl-tests (Files): Likewise.
53978         * modules/lchown-tests (Files): Likewise.
53979         * modules/ldexpl-tests (Files): Likewise.
53980         * modules/link-tests (Files): Likewise.
53981         * modules/linkat-tests (Files): Likewise.
53982         * modules/linked-list-tests (Files): Likewise.
53983         * modules/linkedhash-list-tests (Files): Likewise.
53984         * modules/localename-tests (Files): Likewise.
53985         * modules/lseek-tests (Files): Likewise.
53986         * modules/lstat-tests (Files): Likewise.
53987         * modules/mbmemcasecmp-tests (Files): Likewise.
53988         * modules/mbmemcasecoll-tests (Files): Likewise.
53989         * modules/mbrtowc-tests (Files): Likewise.
53990         * modules/mbscasecmp-tests (Files): Likewise.
53991         * modules/mbscasestr-tests (Files): Likewise.
53992         * modules/mbschr-tests (Files): Likewise.
53993         * modules/mbscspn-tests (Files): Likewise.
53994         * modules/mbsinit-tests (Files): Likewise.
53995         * modules/mbsncasecmp-tests (Files): Likewise.
53996         * modules/mbsnrtowcs-tests (Files): Likewise.
53997         * modules/mbspbrk-tests (Files): Likewise.
53998         * modules/mbspcasecmp-tests (Files): Likewise.
53999         * modules/mbsrchr-tests (Files): Likewise.
54000         * modules/mbsrtowcs-tests (Files): Likewise.
54001         * modules/mbsspn-tests (Files): Likewise.
54002         * modules/mbsstr-tests (Files): Likewise.
54003         * modules/memchr-tests (Files): Likewise.
54004         * modules/memchr2-tests (Files): Likewise.
54005         * modules/memcmp-tests (Files): Likewise.
54006         * modules/memmem-tests (Files): Likewise.
54007         * modules/memrchr-tests (Files): Likewise.
54008         * modules/mkdir-tests (Files): Likewise.
54009         * modules/mkfifo-tests (Files): Likewise.
54010         * modules/mkfifoat-tests (Files): Likewise.
54011         * modules/mknod-tests (Files): Likewise.
54012         * modules/nanosleep-tests (Files): Likewise.
54013         * modules/nl_langinfo-tests (Files): Likewise.
54014         * modules/obstack-printf-tests (Files): Likewise.
54015         * modules/open-tests (Files): Likewise.
54016         * modules/openat-tests (Files): Likewise.
54017         * modules/pipe-filter-gi-tests (Files): Likewise.
54018         * modules/pipe-filter-ii-tests (Files): Likewise.
54019         * modules/pipe2-tests (Files): Likewise.
54020         * modules/popen-safer-tests (Files): Likewise.
54021         * modules/popen-tests (Files): Likewise.
54022         * modules/posixtm-tests (Files): Likewise.
54023         * modules/pread-tests (Files): Likewise.
54024         * modules/printf-frexp-tests (Files): Likewise.
54025         * modules/printf-frexpl-tests (Files): Likewise.
54026         * modules/printf-posix-tests (Files): Likewise.
54027         * modules/priv-set-tests (Files): Likewise.
54028         * modules/quotearg-tests (Files): Likewise.
54029         * modules/random_r-tests (Files): Likewise.
54030         * modules/rawmemchr-tests (Files): Likewise.
54031         * modules/rbtree-list-tests (Files): Likewise.
54032         * modules/rbtree-oset-tests (Files): Likewise.
54033         * modules/rbtreehash-list-tests (Files): Likewise.
54034         * modules/readlink-tests (Files): Likewise.
54035         * modules/remove-tests (Files): Likewise.
54036         * modules/rename-tests (Files): Likewise.
54037         * modules/renameat-tests (Files): Likewise.
54038         * modules/rmdir-tests (Files): Likewise.
54039         * modules/round-tests (Files): Likewise.
54040         * modules/roundf-tests (Files): Likewise.
54041         * modules/roundl-tests (Files): Likewise.
54042         * modules/safe-alloc-tests (Files): Likewise.
54043         * modules/setenv-tests (Files): Likewise.
54044         * modules/sigaction-tests (Files): Likewise.
54045         * modules/signbit-tests (Files): Likewise.
54046         * modules/sleep-tests (Files): Likewise.
54047         * modules/snprintf-posix-tests (Files): Likewise.
54048         * modules/snprintf-tests (Files): Likewise.
54049         * modules/sprintf-posix-tests (Files): Likewise.
54050         * modules/stat-tests (Files): Likewise.
54051         * modules/stat-time-tests (Files): Likewise.
54052         * modules/strcasestr-tests (Files): Likewise.
54053         * modules/strchrnul-tests (Files): Likewise.
54054         * modules/strerror-tests (Files): Likewise.
54055         * modules/striconv-tests (Files): Likewise.
54056         * modules/striconveh-tests (Files): Likewise.
54057         * modules/striconveha-tests (Files): Likewise.
54058         * modules/strsignal-tests (Files): Likewise.
54059         * modules/strstr-tests (Files): Likewise.
54060         * modules/strtod-tests (Files): Likewise.
54061         * modules/strverscmp-tests (Files): Likewise.
54062         * modules/symlink-tests (Files): Likewise.
54063         * modules/symlinkat-tests (Files): Likewise.
54064         * modules/trunc-tests (Files): Likewise.
54065         * modules/truncf-tests (Files): Likewise.
54066         * modules/truncl-tests (Files): Likewise.
54067         * modules/uname-tests (Files): Likewise.
54068         * modules/unicase/cased-tests (Files): Likewise.
54069         * modules/unicase/ignorable-tests (Files): Likewise.
54070         * modules/unicase/locale-language-tests (Files): Likewise.
54071         * modules/unicase/tolower-tests (Files): Likewise.
54072         * modules/unicase/totitle-tests (Files): Likewise.
54073         * modules/unicase/toupper-tests (Files): Likewise.
54074         * modules/unicase/u8-casecmp-tests (Files): Likewise.
54075         * modules/unicase/u8-casecoll-tests (Files): Likewise.
54076         * modules/unicase/u8-casefold-tests (Files): Likewise.
54077         * modules/unicase/u8-is-cased-tests (Files): Likewise.
54078         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
54079         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
54080         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
54081         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
54082         * modules/unicase/u8-tolower-tests (Files): Likewise.
54083         * modules/unicase/u8-totitle-tests (Files): Likewise.
54084         * modules/unicase/u8-toupper-tests (Files): Likewise.
54085         * modules/unicase/u16-casecmp-tests (Files): Likewise.
54086         * modules/unicase/u16-casecoll-tests (Files): Likewise.
54087         * modules/unicase/u16-casefold-tests (Files): Likewise.
54088         * modules/unicase/u16-is-cased-tests (Files): Likewise.
54089         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
54090         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
54091         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
54092         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
54093         * modules/unicase/u16-tolower-tests (Files): Likewise.
54094         * modules/unicase/u16-totitle-tests (Files): Likewise.
54095         * modules/unicase/u16-toupper-tests (Files): Likewise.
54096         * modules/unicase/u32-casecmp-tests (Files): Likewise.
54097         * modules/unicase/u32-casecoll-tests (Files): Likewise.
54098         * modules/unicase/u32-casefold-tests (Files): Likewise.
54099         * modules/unicase/u32-is-cased-tests (Files): Likewise.
54100         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
54101         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
54102         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
54103         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
54104         * modules/unicase/u32-tolower-tests (Files): Likewise.
54105         * modules/unicase/u32-totitle-tests (Files): Likewise.
54106         * modules/unicase/u32-toupper-tests (Files): Likewise.
54107         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
54108         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
54109         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
54110         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
54111         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
54112         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
54113         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
54114         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
54115         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
54116         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
54117         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
54118         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
54119         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
54120         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
54121         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
54122         * modules/unictype/bidicategory-name-tests (Files): Likewise.
54123         * modules/unictype/bidicategory-of-tests (Files): Likewise.
54124         * modules/unictype/bidicategory-test-tests (Files): Likewise.
54125         * modules/unictype/block-list-tests (Files): Likewise.
54126         * modules/unictype/block-of-tests (Files): Likewise.
54127         * modules/unictype/block-test-tests (Files): Likewise.
54128         * modules/unictype/category-C-tests (Files): Likewise.
54129         * modules/unictype/category-Cc-tests (Files): Likewise.
54130         * modules/unictype/category-Cf-tests (Files): Likewise.
54131         * modules/unictype/category-Cn-tests (Files): Likewise.
54132         * modules/unictype/category-Co-tests (Files): Likewise.
54133         * modules/unictype/category-Cs-tests (Files): Likewise.
54134         * modules/unictype/category-L-tests (Files): Likewise.
54135         * modules/unictype/category-Ll-tests (Files): Likewise.
54136         * modules/unictype/category-Lm-tests (Files): Likewise.
54137         * modules/unictype/category-Lo-tests (Files): Likewise.
54138         * modules/unictype/category-Lt-tests (Files): Likewise.
54139         * modules/unictype/category-Lu-tests (Files): Likewise.
54140         * modules/unictype/category-M-tests (Files): Likewise.
54141         * modules/unictype/category-Mc-tests (Files): Likewise.
54142         * modules/unictype/category-Me-tests (Files): Likewise.
54143         * modules/unictype/category-Mn-tests (Files): Likewise.
54144         * modules/unictype/category-N-tests (Files): Likewise.
54145         * modules/unictype/category-Nd-tests (Files): Likewise.
54146         * modules/unictype/category-Nl-tests (Files): Likewise.
54147         * modules/unictype/category-No-tests (Files): Likewise.
54148         * modules/unictype/category-P-tests (Files): Likewise.
54149         * modules/unictype/category-Pc-tests (Files): Likewise.
54150         * modules/unictype/category-Pd-tests (Files): Likewise.
54151         * modules/unictype/category-Pe-tests (Files): Likewise.
54152         * modules/unictype/category-Pf-tests (Files): Likewise.
54153         * modules/unictype/category-Pi-tests (Files): Likewise.
54154         * modules/unictype/category-Po-tests (Files): Likewise.
54155         * modules/unictype/category-Ps-tests (Files): Likewise.
54156         * modules/unictype/category-S-tests (Files): Likewise.
54157         * modules/unictype/category-Sc-tests (Files): Likewise.
54158         * modules/unictype/category-Sk-tests (Files): Likewise.
54159         * modules/unictype/category-Sm-tests (Files): Likewise.
54160         * modules/unictype/category-So-tests (Files): Likewise.
54161         * modules/unictype/category-Z-tests (Files): Likewise.
54162         * modules/unictype/category-Zl-tests (Files): Likewise.
54163         * modules/unictype/category-Zp-tests (Files): Likewise.
54164         * modules/unictype/category-Zs-tests (Files): Likewise.
54165         * modules/unictype/category-and-not-tests (Files): Likewise.
54166         * modules/unictype/category-and-tests (Files): Likewise.
54167         * modules/unictype/category-byname-tests (Files): Likewise.
54168         * modules/unictype/category-name-tests (Files): Likewise.
54169         * modules/unictype/category-none-tests (Files): Likewise.
54170         * modules/unictype/category-of-tests (Files): Likewise.
54171         * modules/unictype/category-or-tests (Files): Likewise.
54172         * modules/unictype/category-test-withtable-tests (Files): Likewise.
54173         * modules/unictype/combining-class-tests (Files): Likewise.
54174         * modules/unictype/ctype-alnum-tests (Files): Likewise.
54175         * modules/unictype/ctype-alpha-tests (Files): Likewise.
54176         * modules/unictype/ctype-blank-tests (Files): Likewise.
54177         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
54178         * modules/unictype/ctype-digit-tests (Files): Likewise.
54179         * modules/unictype/ctype-graph-tests (Files): Likewise.
54180         * modules/unictype/ctype-lower-tests (Files): Likewise.
54181         * modules/unictype/ctype-print-tests (Files): Likewise.
54182         * modules/unictype/ctype-punct-tests (Files): Likewise.
54183         * modules/unictype/ctype-space-tests (Files): Likewise.
54184         * modules/unictype/ctype-upper-tests (Files): Likewise.
54185         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
54186         * modules/unictype/decimal-digit-tests (Files): Likewise.
54187         * modules/unictype/digit-tests (Files): Likewise.
54188         * modules/unictype/mirror-tests (Files): Likewise.
54189         * modules/unictype/numeric-tests (Files): Likewise.
54190         * modules/unictype/property-alphabetic-tests (Files): Likewise.
54191         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
54192         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
54193         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
54194         Likewise.
54195         * modules/unictype/property-bidi-block-separator-tests (Files):
54196         Likewise.
54197         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
54198         Likewise.
54199         * modules/unictype/property-bidi-common-separator-tests (Files):
54200         Likewise.
54201         * modules/unictype/property-bidi-control-tests (Files): Likewise.
54202         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
54203         Likewise.
54204         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
54205         Likewise.
54206         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
54207         Likewise.
54208         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
54209         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
54210         Likewise.
54211         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
54212         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
54213         Likewise.
54214         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
54215         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
54216         * modules/unictype/property-bidi-segment-separator-tests (Files):
54217         Likewise.
54218         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
54219         * modules/unictype/property-byname-tests (Files): Likewise.
54220         * modules/unictype/property-combining-tests (Files): Likewise.
54221         * modules/unictype/property-composite-tests (Files): Likewise.
54222         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
54223         * modules/unictype/property-dash-tests (Files): Likewise.
54224         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
54225         * modules/unictype/property-default-ignorable-code-point-tests (Files):
54226         Likewise.
54227         * modules/unictype/property-deprecated-tests (Files): Likewise.
54228         * modules/unictype/property-diacritic-tests (Files): Likewise.
54229         * modules/unictype/property-extender-tests (Files): Likewise.
54230         * modules/unictype/property-format-control-tests (Files): Likewise.
54231         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
54232         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
54233         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
54234         * modules/unictype/property-hex-digit-tests (Files): Likewise.
54235         * modules/unictype/property-hyphen-tests (Files): Likewise.
54236         * modules/unictype/property-id-continue-tests (Files): Likewise.
54237         * modules/unictype/property-id-start-tests (Files): Likewise.
54238         * modules/unictype/property-ideographic-tests (Files): Likewise.
54239         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
54240         * modules/unictype/property-ids-trinary-operator-tests (Files):
54241         Likewise.
54242         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
54243         * modules/unictype/property-iso-control-tests (Files): Likewise.
54244         * modules/unictype/property-join-control-tests (Files): Likewise.
54245         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
54246         * modules/unictype/property-line-separator-tests (Files): Likewise.
54247         * modules/unictype/property-logical-order-exception-tests (Files):
54248         Likewise.
54249         * modules/unictype/property-lowercase-tests (Files): Likewise.
54250         * modules/unictype/property-math-tests (Files): Likewise.
54251         * modules/unictype/property-non-break-tests (Files): Likewise.
54252         * modules/unictype/property-not-a-character-tests (Files): Likewise.
54253         * modules/unictype/property-numeric-tests (Files): Likewise.
54254         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
54255         * modules/unictype/property-other-default-ignorable-code-point-tests
54256         (Files): Likewise.
54257         * modules/unictype/property-other-grapheme-extend-tests (Files):
54258         Likewise.
54259         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
54260         * modules/unictype/property-other-id-start-tests (Files): Likewise.
54261         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
54262         * modules/unictype/property-other-math-tests (Files): Likewise.
54263         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
54264         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
54265         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
54266         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
54267         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
54268         * modules/unictype/property-private-use-tests (Files): Likewise.
54269         * modules/unictype/property-punctuation-tests (Files): Likewise.
54270         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
54271         * modules/unictype/property-radical-tests (Files): Likewise.
54272         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
54273         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
54274         * modules/unictype/property-space-tests (Files): Likewise.
54275         * modules/unictype/property-terminal-punctuation-tests (Files):
54276         Likewise.
54277         * modules/unictype/property-test-tests (Files): Likewise.
54278         * modules/unictype/property-titlecase-tests (Files): Likewise.
54279         * modules/unictype/property-unassigned-code-value-tests (Files):
54280         Likewise.
54281         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
54282         * modules/unictype/property-uppercase-tests (Files): Likewise.
54283         * modules/unictype/property-variation-selector-tests (Files): Likewise.
54284         * modules/unictype/property-white-space-tests (Files): Likewise.
54285         * modules/unictype/property-xid-continue-tests (Files): Likewise.
54286         * modules/unictype/property-xid-start-tests (Files): Likewise.
54287         * modules/unictype/property-zero-width-tests (Files): Likewise.
54288         * modules/unictype/scripts-tests (Files): Likewise.
54289         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
54290         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
54291         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
54292         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
54293         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
54294         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
54295         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
54296         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
54297         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
54298         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
54299         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
54300         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
54301         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
54302         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
54303         * modules/uninorm/composition-tests (Files): Likewise.
54304         * modules/uninorm/decomposing-form-tests (Files): Likewise.
54305         * modules/uninorm/decomposition-tests (Files): Likewise.
54306         * modules/uninorm/filter-tests (Files): Likewise.
54307         * modules/uninorm/nfc-tests (Files): Likewise.
54308         * modules/uninorm/nfd-tests (Files): Likewise.
54309         * modules/uninorm/nfkc-tests (Files): Likewise.
54310         * modules/uninorm/nfkd-tests (Files): Likewise.
54311         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
54312         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
54313         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
54314         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
54315         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
54316         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
54317         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
54318         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
54319         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
54320         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
54321         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
54322         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
54323         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
54324         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
54325         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
54326         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
54327         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
54328         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
54329         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
54330         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
54331         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
54332         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
54333         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
54334         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
54335         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
54336         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
54337         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
54338         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
54339         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
54340         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
54341         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
54342         * modules/uniwidth/u8-width-tests (Files): Likewise.
54343         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
54344         * modules/uniwidth/u16-width-tests (Files): Likewise.
54345         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
54346         * modules/uniwidth/u32-width-tests (Files): Likewise.
54347         * modules/uniwidth/width-tests (Files): Likewise.
54348         * modules/unlink-tests (Files): Likewise.
54349         * modules/unsetenv-tests (Files): Likewise.
54350         * modules/usleep-tests (Files): Likewise.
54351         * modules/utimens-tests (Files): Likewise.
54352         * modules/utimensat-tests (Files): Likewise.
54353         * modules/vasnprintf-posix-tests (Files): Likewise.
54354         * modules/vasnprintf-tests (Files): Likewise.
54355         * modules/vasprintf-posix-tests (Files): Likewise.
54356         * modules/vasprintf-tests (Files): Likewise.
54357         * modules/vdprintf-posix-tests (Files): Likewise.
54358         * modules/vfprintf-posix-tests (Files): Likewise.
54359         * modules/vprintf-posix-tests (Files): Likewise.
54360         * modules/vsnprintf-posix-tests (Files): Likewise.
54361         * modules/vsnprintf-tests (Files): Likewise.
54362         * modules/vsprintf-posix-tests (Files): Likewise.
54363         * modules/wcrtomb-tests (Files): Likewise.
54364         * modules/wcsnrtombs-tests (Files): Likewise.
54365         * modules/wcsrtombs-tests (Files): Likewise.
54366         * modules/wctype-tests (Files): Likewise.
54367         * modules/wcwidth-tests (Files): Likewise.
54368         * modules/xmemdup0-tests (Files): Likewise.
54369         * modules/xprintf-posix-tests (Files): Likewise.
54370         * modules/xvasprintf-tests (Files): Likewise.
54372 2009-12-24  Eric Blake  <ebb9@byu.net>
54374         test-nanosleep: fix typo
54375         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
54376         patch.
54377         Reported by Bruno Haible.
54379 2009-12-24  Bruno Haible  <bruno@clisp.org>
54381         Reduce namespace pollution on glibc systems.
54382         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
54383         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
54384         systems.
54385         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
54386         <getopt.h> on glibc systems.
54387         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
54388         systems.
54389         * lib/fcntl.c: Include <unistd.h> here instead.
54391 2009-12-24  Bruno Haible  <bruno@clisp.org>
54393         * lib/stdlib.in.h (includes): Fix typo in today's commit.
54395 2009-12-24  Eric Blake  <ebb9@byu.net>
54397         tests: add signature checks
54398         * tests/signature.h (SIGNATURE_CHECK): New file.
54399         * modules/atexit-tests (Files): Use it.
54400         * modules/btowc-tests (Files): Likewise.
54401         * modules/canonicalize-lgpl-tests (Files): Likewise.
54402         * modules/ceilf-tests (Files): Likewise.
54403         * modules/ceill-tests (Files): Likewise.
54404         * modules/chown-tests (Files): Likewise.
54405         * modules/dprintf-posix-tests (Files): Likewise.
54406         * modules/dup2-tests (Files): Likewise.
54407         * modules/dup3-tests (Files): Likewise.
54408         * modules/duplocale-tests (Files): Likewise.
54409         * modules/fchdir-tests (Files): Likewise.
54410         * modules/fcntl-tests (Files): Likewise.
54411         * modules/fdopendir-tests (Files): Likewise.
54412         * modules/fflush-tests (Files): Likewise.
54413         * modules/flock-tests (Files): Likewise.
54414         * modules/floorf-tests (Files): Likewise.
54415         * modules/floorl-tests (Files): Likewise.
54416         * modules/fnmatch-tests (Files): Likewise.
54417         * modules/fopen-tests (Files): Likewise.
54418         * modules/fprintf-posix-tests (Files): Likewise.
54419         * modules/freopen-tests (Files): Likewise.
54420         * modules/frexp-nolibm-tests (Files): Likewise.
54421         * modules/frexp-tests (Files): Likewise.
54422         * modules/frexpl-nolibm-tests (Files): Likewise.
54423         * modules/frexpl-tests (Files): Likewise.
54424         * modules/fseek-tests (Files): Likewise.
54425         * modules/fseeko-tests (Files): Likewise.
54426         * modules/fsync-tests (Files): Likewise.
54427         * modules/ftell-tests (Files): Likewise.
54428         * modules/ftello-tests (Files): Likewise.
54429         * modules/futimens-tests (Files): Likewise.
54430         * modules/getaddrinfo-tests (Files): Likewise.
54431         * modules/getcwd-tests (Files): Likewise.
54432         * modules/getdelim-tests (Files): Likewise.
54433         * modules/getdtablesize-tests (Files): Likewise.
54434         * modules/getgroups-tests (Files): Likewise.
54435         * modules/gethostname-tests (Files): Likewise.
54436         * modules/getline-tests (Files): Likewise.
54437         * modules/getopt-posix-tests (Files): Likewise.
54438         * modules/gettimeofday-tests (Files): Likewise.
54439         * modules/glob-tests (Files): Likewise.
54440         * modules/iconv-tests (Files): Likewise.
54441         * modules/inet_ntop-tests (Files): Likewise.
54442         * modules/inet_pton-tests (Files): Likewise.
54443         * modules/isblank-tests (Files): Likewise.
54444         * modules/lchown-tests (Files): Likewise.
54445         * modules/ldexpl-tests (Files): Likewise.
54446         * modules/link-tests (Files): Likewise.
54447         * modules/linkat-tests (Files): Likewise.
54448         * modules/lseek-tests (Files): Likewise.
54449         * modules/lstat-tests (Files): Likewise.
54450         * modules/mbrtowc-tests (Files): Likewise.
54451         * modules/mbsinit-tests (Files): Likewise.
54452         * modules/mbsnrtowcs-tests (Files): Likewise.
54453         * modules/mbsrtowcs-tests (Files): Likewise.
54454         * modules/memchr-tests (Files): Likewise.
54455         * modules/memcmp-tests (Files): Likewise.
54456         * modules/memmem-tests (Files): Likewise.
54457         * modules/memrchr-tests (Files): Likewise.
54458         * modules/mkdir-tests (Files): Likewise.
54459         * modules/mkfifo-tests (Files): Likewise.
54460         * modules/mkfifoat-tests (Files): Likewise.
54461         * modules/mknod-tests (Files): Likewise.
54462         * modules/nanosleep-tests (Files): Likewise.
54463         * modules/nl_langinfo-tests (Files): Likewise.
54464         * modules/obstack-printf-tests (Files): Likewise.
54465         * modules/open-tests (Files): Likewise.
54466         * modules/openat-tests (Files): Likewise.
54467         * modules/perror-tests (Files): Likewise.
54468         * modules/pipe2-tests (Files): Likewise.
54469         * modules/poll-tests (Files): Likewise.
54470         * modules/popen-tests (Files): Likewise.
54471         * modules/posix_spawn-tests (Files): Likewise.
54472         * modules/posix_spawnp-tests (Files): Likewise.
54473         * modules/pread-tests (Files): Likewise.
54474         * modules/printf-posix-tests (Files): Likewise.
54475         * modules/pty-tests (Files): Likewise.
54476         * modules/random_r-tests (Files): Likewise.
54477         * modules/rawmemchr-tests (Files): Likewise.
54478         * modules/readlink-tests (Files): Likewise.
54479         * modules/remove-tests (Files): Likewise.
54480         * modules/rename-tests (Files): Likewise.
54481         * modules/renameat-tests (Files): Likewise.
54482         * modules/rmdir-tests (Files): Likewise.
54483         * modules/round-tests (Files): Likewise.
54484         * modules/roundf-tests (Files): Likewise.
54485         * modules/roundl-tests (Files): Likewise.
54486         * modules/select-tests (Files): Likewise.
54487         * modules/setenv-tests (Files): Likewise.
54488         * modules/sigaction-tests (Files): Likewise.
54489         * modules/sleep-tests (Files): Likewise.
54490         * modules/snprintf-posix-tests (Files): Likewise.
54491         * modules/snprintf-tests (Files): Likewise.
54492         * modules/sprintf-posix-tests (Files): Likewise.
54493         * modules/stat-tests (Files): Likewise.
54494         * modules/strcasestr-tests (Files): Likewise.
54495         * modules/strchrnul-tests (Files): Likewise.
54496         * modules/strerror-tests (Files): Likewise.
54497         * modules/strsignal-tests (Files): Likewise.
54498         * modules/strstr-tests (Files): Likewise.
54499         * modules/strtod-tests (Files): Likewise.
54500         * modules/strverscmp-tests (Files): Likewise.
54501         * modules/symlink-tests (Files): Likewise.
54502         * modules/symlinkat-tests (Files): Likewise.
54503         * modules/times-tests (Files): Likewise.
54504         * modules/trunc-tests (Files): Likewise.
54505         * modules/truncf-tests (Files): Likewise.
54506         * modules/truncl-tests (Files): Likewise.
54507         * modules/tsearch-tests (Files): Likewise.
54508         * modules/uname-tests (Files): Likewise.
54509         * modules/unlink-tests (Files): Likewise.
54510         * modules/unsetenv-tests (Files): Likewise.
54511         * modules/usleep-tests (Files): Likewise.
54512         * modules/utimensat-tests (Files): Likewise.
54513         * modules/vasprintf-tests (Files): Likewise.
54514         * modules/vdprintf-posix-tests (Files): Likewise.
54515         * modules/vfprintf-posix-tests (Files): Likewise.
54516         * modules/vprintf-posix-tests (Files): Likewise.
54517         * modules/vsnprintf-posix-tests (Files): Likewise.
54518         * modules/vsnprintf-tests (Files): Likewise.
54519         * modules/vsprintf-posix-tests (Files): Likewise.
54520         * modules/wcrtomb-tests (Files): Likewise.
54521         * modules/wcsnrtombs-tests (Files): Likewise.
54522         * modules/wcsrtombs-tests (Files): Likewise.
54523         * modules/wcwidth-tests (Files): Likewise.
54524         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
54525         * tests/test-isinf.c (isinf): Likewise.
54526         * tests/test-isnan.c (isnan): Likewise.
54527         * tests/test-signbit.c (signbit): Likewise.
54528         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
54529         declaration, either as macro or with correct signature.
54530         (select): Ensure function under test is declared with correct
54531         signature in correct header.
54532         * tests/test-atexit.c (atexit): Likewise.
54533         * tests/test-btowc.c (btowc): Likewise.
54534         * tests/test-canonicalize-lgpl.c (realpath)
54535         (canonicalize_file_name): Likewise.
54536         * tests/test-ceilf1.c (ceilf): Likewise.
54537         * tests/test-ceill.c (ceill): Likewise.
54538         * tests/test-chown.c (chown): Likewise.
54539         * tests/test-dprintf-posix.c (dprintf): Likewise.
54540         * tests/test-dup2.c (dup2): Likewise.
54541         * tests/test-dup3.c (dup3): Likewise.
54542         * tests/test-duplocale.c (duplocale): Likewise.
54543         * tests/test-fchdir.c (fchdir): Likewise.
54544         * tests/test-fchownat.c (fchownat): Likewise.
54545         * tests/test-fcntl.c (fcntl): Likewise.
54546         * tests/test-fdopendir.c (fdopendir): Likewise.
54547         * tests/test-fflush.c (fflush): Likewise.
54548         * tests/test-flock.c (flock): Likewise.
54549         * tests/test-floorf1.c (floorf): Likewise.
54550         * tests/test-floorl.c (floorl): Likewise.
54551         * tests/test-fnmatch.c (fnmatch): Likewise.
54552         * tests/test-fopen.c (fopen): Likewise.
54553         * tests/test-fprintf-posix.c (fprintf): Likewise.
54554         * tests/test-freopen.c (freopen): Likewise.
54555         * tests/test-frexp.c (frexp): Likewise.
54556         * tests/test-frexpl.c (frexpl): Likewise.
54557         * tests/test-fseek.c (fseek): Likewise.
54558         * tests/test-fseeko.c (fseeko): Likewise.
54559         * tests/test-fstatat.c (fstatat): Likewise.
54560         * tests/test-fsync.c (fsync): Likewise.
54561         * tests/test-ftell.c (ftell): Likewise.
54562         * tests/test-ftello.c (ftello): Likewise.
54563         * tests/test-futimens.c (futimens): Likewise.
54564         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
54565         (gai_strerror): Likewise.
54566         * tests/test-getcwd.c (getcwd): Likewise.
54567         * tests/test-getdelim.c (getdelim): Likewise.
54568         * tests/test-getdtablesize.c (getdtablesize): Likewise.
54569         * tests/test-getgroups.c (getgroups): Likewise.
54570         * tests/test-gethostname.c (gethostname): Likewise.
54571         * tests/test-getline.c (getline): Likewise.
54572         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
54573         Likewise.
54574         * tests/test-gettimeofday.c (gettimeofday): Likewise.
54575         * tests/test-glob.c (glob, globfree): Likewise.
54576         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
54577         * tests/test-inet_ntop.c (inet_ntop): Likewise.
54578         * tests/test-inet_pton.c (inet_pton): Likewise.
54579         * tests/test-isblank.c (isblank): Likewise.
54580         * tests/test-lchown.c (lchown): Likewise.
54581         * tests/test-ldexpl.c (ldexpl): Likewise.
54582         * tests/test-link.c (link): Likewise.
54583         * tests/test-linkat.c (linkat): Likewise.
54584         * tests/test-lseek.c (lseek): Likewise.
54585         * tests/test-lstat.c (lstat): Likewise.
54586         * tests/test-mbrtowc.c (mbrtowc): Likewise.
54587         * tests/test-mbsinit.c (mbsinit): Likewise.
54588         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
54589         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
54590         * tests/test-memchr.c (memchr): Likewise.
54591         * tests/test-memcmp.c (memcmp): Likewise.
54592         * tests/test-memmem.c (memmem): Likewise.
54593         * tests/test-memrchr.c (memrchr): Likewise.
54594         * tests/test-mkdir.c (mkdir): Likewise.
54595         * tests/test-mkdirat.c (mkdirat): Likewise.
54596         * tests/test-mkfifo.c (mkfifo): Likewise.
54597         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
54598         * tests/test-mknod.c (mknod): Likewise.
54599         * tests/test-nanosleep.c (nanosleep): Likewise.
54600         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
54601         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
54602         Likewise.
54603         * tests/test-open.c (open): Likewise.
54604         * tests/test-openat.c (openat): Likewise.
54605         * tests/test-perror.c (perror): Likewise.
54606         * tests/test-pipe2.c (pipe2): Likewise.
54607         * tests/test-poll.c (poll): Likewise.
54608         * tests/test-popen.c (popen, pclose): Likewise.
54609         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
54610         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
54611         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
54612         (posix_spawn_file_actions_destroy)
54613         (posix_spawn_file_actions_addclose)
54614         (posix_spawn_file_actions_addopen)
54615         (posix_spawn_file_actions_adddup2): Likewise.
54616         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
54617         * tests/test-pread.c (pread): Likewise.
54618         * tests/test-printf-posix.c (printf): Likewise.
54619         * tests/test-pty.c (openpty, forkpty): Likewise.
54620         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
54621         (random_r): Likewise.
54622         * tests/test-rawmemchr.c (rawmemchr): Likewise.
54623         * tests/test-readlink.c (readlink): Likewise.
54624         * tests/test-remove.c (remove): Likewise.
54625         * tests/test-rename.c (rename): Likewise.
54626         * tests/test-renameat.c (renameat): Likewise.
54627         * tests/test-rmdir.c (rmdir): Likewise.
54628         * tests/test-round1.c (round): Likewise.
54629         * tests/test-roundf1.c (roundf): Likewise.
54630         * tests/test-roundl.c (roundl): Likewise.
54631         * tests/test-setenv.c (setenv): Likewise.
54632         * tests/test-sigaction.c (sigaction): Likewise.
54633         * tests/test-sleep.c (sleep): Likewise.
54634         * tests/test-snprintf.c (snprintf): Likewise.
54635         * tests/test-sprintf-posix.c (sprintf): Likewise.
54636         * tests/test-stat.c (stat): Likewise.
54637         * tests/test-stpncpy.c (stpncpy): Likewise.
54638         * tests/test-strcasestr.c (strcasestr): Likewise.
54639         * tests/test-strchrnul.c (strchrnul): Likewise.
54640         * tests/test-strerror.c (strerror): Likewise.
54641         * tests/test-strsignal.c (strsignal): Likewise.
54642         * tests/test-strstr.c (strstr): Likewise.
54643         * tests/test-strtod.c (strtod): Likewise.
54644         * tests/test-strverscmp.c (strverscmp): Likewise.
54645         * tests/test-symlink.c (symlink): Likewise.
54646         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
54647         * tests/test-times.c (times): Likewise.
54648         * tests/test-trunc1.c (trunc): Likewise.
54649         * tests/test-truncf1.c (truncf): Likewise.
54650         * tests/test-truncl.c (truncl): Likewise.
54651         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
54652         Likewise.
54653         * tests/test-uname.c (uname): Likewise.
54654         * tests/test-unlink.c (unlink): Likewise.
54655         * tests/test-unlinkat.c (unlinkat): Likewise.
54656         * tests/test-unsetenv.c (unsetenv): Likewise.
54657         * tests/test-usleep.c (usleep): Likewise.
54658         * tests/test-utimensat.c (utimensat): Likewise.
54659         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
54660         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
54661         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
54662         * tests/test-vprintf-posix.c (vprintf): Likewise.
54663         * tests/test-vsnprintf.c (vsnprintf): Likewise.
54664         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
54665         * tests/test-wcrtomb.c (wcrtomb): Likewise.
54666         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
54667         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
54668         * tests/test-wcwidth.c (wcwidth): Likewise.
54670         build: pull in conditional headers during GNULIB_POSIXCHECK
54671         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
54672         definitions from any conditionally-included headers.
54673         * lib/stdlib.in.h (includes): Likewise.
54674         * lib/unistd.in.h (includes): Likewise.
54676 2009-12-24  Bruno Haible  <bruno@clisp.org>
54678         * tests/test-argv-iter.c: Include header file being tested immediately
54679         after config.h.
54680         * tests/test-base64.c: Likewise.
54681         * tests/test-flock.c: Likewise.
54682         * tests/test-fsync.c: Likewise.
54683         * tests/test-getdate.c: Likewise.
54684         * tests/test-getndelim2.c: Likewise.
54685         * tests/test-isfinite.c: Likewise.
54686         * tests/test-isinf.c: Likewise.
54687         * tests/test-strerror.c: Likewise.
54688         * tests/test-strsignal.c: Likewise.
54690 2009-12-23  Eric Blake  <ebb9@byu.net>
54692         unistd: work around cygwin bug
54693         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
54694         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
54695         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
54697 2009-12-23  Bruno Haible  <bruno@clisp.org>
54699         localename: More tests.
54700         * tests/test-localename.c (SIZEOF): New macro.
54701         (categories): New variable.
54702         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
54703         test_locale_name_default): Add test w.r.t. thread locale.
54704         (test_locale_name_thread): New function.
54705         (main): Invoke it.
54707         localename: Make aware of thread locale.
54708         * lib/localename.h (gl_locale_name_thread): New declaration.
54709         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
54710         behaviour with respect to thread locale.
54711         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
54712         <langinfo.h>, glthread/lock.h.
54713         (SIZE_BITS): New macro.
54714         (string_hash): New function.
54715         (struct hash_node): New type.
54716         (HASH_TABLE_SIZE): New macro.
54717         (struniq_hash_table, struniq_lock): New variables.
54718         (struniq): New function.
54719         (gl_locale_name_thread): New function.
54720         (gl_locale_name): Invoke it.
54721         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
54722         * modules/localename (Depends-on): Add lock.
54723         Reported by Mike Gran <spk121@yahoo.com>.
54725 2009-12-23  Eric Blake  <ebb9@byu.net>
54727         va-args: new module
54728         * modules/va-args: New file.
54729         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
54730         * MODULES.html.sh (Core language properties): Mention it.
54732         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
54733         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
54734         named alias for __attribute__((__unused__)).
54735         * lib/chown.c: Update client.
54736         * lib/fchmodat.c: Likewise.
54737         * lib/fts.c: Likewise.
54738         * lib/getdate.y: Likewise.
54739         * lib/getgroups.c: Likewise.
54740         * lib/getopt.c: Likewise.
54741         * lib/getugroups.c: Likewise.
54742         * lib/mkdir.c: Likewise.
54743         * lib/mkfifo.c: Likewise.
54744         * lib/mkfifoat.c: Likewise.
54745         * lib/mknod.c: Likewise.
54746         * lib/mknodat.c: Likewise.
54747         * lib/readlink.c: Likewise.
54748         * lib/se-context.in.h: Likewise.
54749         * lib/se-selinux.in.h: Likewise.
54750         * lib/sockets.c: Likewise.
54751         * lib/symlink.c: Likewise.
54752         * lib/symlinkat.c: Likewise.
54753         * lib/unicodeio.c: Likewise.
54754         * lib/unistr.h: Likewise.
54755         * tests/test-areadlink.c: Likewise.
54756         * tests/test-areadlinkat.c: Likewise.
54757         * tests/test-filenamecat.c: Likewise.
54758         * tests/test-fseeko.c: Likewise.
54759         * tests/test-ftello.c: Likewise.
54760         * tests/test-getdate.c: Likewise.
54761         * tests/test-getgroups.c: Likewise.
54762         * tests/test-gethostname.c: Likewise.
54763         * tests/test-quotearg.c: Likewise.
54764         * tests/test-version-etc.c: Likewise.
54765         * tests/test-xalloc-die.c: Likewise.
54766         * tests/test-xfprintf-posix.c: Likewise.
54767         * tests/test-xprintf-posix.c: Likewise.
54768         * tests/test-xvasprintf.c: Likewise.
54770         tests: avoid compiler warnings
54771         * tests/test-fcntl.c (main): Delete unused parameters.
54772         * tests/test-freopen-safer.c (main): Likewise.
54773         * tests/test-xalloc-die.c (main): Mark unused parameters.
54774         * tests/test-fseeko.c (main): Likewise.
54775         * tests/test-ftello.c (main): Likewise.
54776         * tests/test-nanosleep.c (main): Avoid declaration warning.
54777         * tests/test-sleep.c (main): Likewise.
54778         * tests/test-unsetenv.c (main): Silence warning about string
54779         literal.
54780         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
54782 2009-12-23  Bruno Haible  <bruno@clisp.org>
54784         * tests/test-localename.c (test_locale_name): New function, extracted
54785         from main. Also test mixed situations.
54786         (test_locale_name_posix, test_locale_name_environ,
54787         test_locale_name_default): New functions.
54788         (main): Invoke them all.
54789         * modules/localename-tests (configure.ac): Test for newlocale.
54791 2009-12-23  Bruno Haible  <bruno@clisp.org>
54793         unistd: Ensure getcwd gets declared before being overridden.
54794         * lib/unistd.in.h: Conditionally include <io.h>.
54796 2009-12-22  Bruno Haible  <bruno@clisp.org>
54798         wchar: Diagnose broken combination of glibc and gcc versions and flags.
54799         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
54800         (gl_WCHAR_H): Invoke it.
54801         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
54802         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
54803         Reported by Karl Berry <karl@freefriends.org>.
54805 2009-12-22  Eric Blake  <ebb9@byu.net>
54807         math, unistd: avoid redundant includes
54808         * lib/math.in.h (isnan): No need to re-include <math.h>.
54809         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
54811         getsubopt: work around cygwin bug
54812         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
54813         avoid conflicting with system getsubopt.
54814         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
54815         bug.
54817         getopt: synchronize from glibc
54818         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
54819         parameter order.  Adjust all callers.
54820         (_getopt_internal_r, main): Adjust quoting in error messages.
54821         Drop considerations for outdated POSIX 1003.2 error message.
54822         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
54823         callers.
54824         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
54826         test-getopt: test stderr behavior
54827         * modules/getopt-posix-tests (Depends-on): Add dup2.
54828         * tests/test-getopt.c (ASSERT): Avoid stderr.
54829         (main): Move stderr to a temporary file.
54830         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
54831         Instead, add parameter to inform caller if output occurred.
54832         (test_getopt): Adjust all existing tests to expect silence, and
54833         add new tests of leading ":".
54834         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
54835         glibc shortcomings with leading "-:" or "+:" in optstring.
54836         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
54837         Likewise.
54838         * doc/posix-functions/getopt.texi (getopt): Likewise.
54840         test-getopt: enhance test
54841         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
54842         supports optind=0.
54843         * tests/test-getopt.c (OPTIND_MIN): Move...
54844         * tests/test-getopt.h (OPTIND_MIN): ...here.
54845         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
54846         Require that optind=0 works, since modern BSD supports it in
54847         addition to optreset, and since coreutils expects it.
54848         (test_getopt_long_only): New test.
54849         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
54850         glibc shortcomings with 'W;', and enforcement of optind=0.
54851         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
54852         Likewise.
54854 2009-12-21  Bruno Haible  <bruno@clisp.org>
54856         localename: Improvements for MacOS X and Cygwin.
54857         * lib/localename.h (gl_locale_name_environ): New declaration.
54858         * lib/localename.c (gl_locale_name_environ): New function, extracted from
54859         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
54860         (gl_locale_name_posix): Invoke it.
54861         (gl_locale_name_default): Add comments. Use Windows native API also on
54862         Cygwin.
54864 2009-12-21  Bruno Haible  <bruno@clisp.org>
54866         Update list of Win32 locale ids.
54867         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
54868         (LANG_SAMI): Renamed from LANG_SAAMI.
54869         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
54870         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
54871         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
54872         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
54873         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
54874         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
54875         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
54876         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
54877         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
54878         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
54879         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
54880         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
54881         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
54882         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
54883         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
54884         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
54885         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
54886         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
54887         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
54888         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
54889         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
54890         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
54891         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
54892         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
54893         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
54894         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
54895         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
54896         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
54897         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
54898         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
54899         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
54900         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
54901         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
54902         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
54903         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
54904         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
54905         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
54906         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
54907         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
54908         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
54909         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
54910         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
54911         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
54912         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
54913         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
54914         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
54915         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
54916         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
54917         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
54918         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
54919         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
54920         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
54921         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
54922         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
54923         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
54924         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
54925         Add more languages and countries for Sami, Sorbian. Add more countries
54926         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
54927         for Pashto. Change country for Syriac, Tswana.
54929 2009-12-21  Eric Blake  <ebb9@byu.net>
54931         test-utimens: avoid spurious failure
54932         * tests/test-chown.h (nap): Factor...
54933         * tests/nap.h: ...into new file.
54934         * tests/test-lchown.h (nap): Avoid duplication.
54935         * tests/test-utimens-common.h (nap): Use shared implementation,
54936         necessary on file systems with 1-second resolution.
54937         * modules/chown-tests (Files): Include new file.
54938         * modules/fdutimensat-tests (Files): Likewise.
54939         * modules/futimens-tests (Files): Likewise.
54940         * modules/lchown-tests (Files): Likewise.
54941         * modules/openat-tests (Files): Likewise.
54942         * modules/utimens-tests (Files): Likewise.
54943         * modules/utimensat-tests (Files): Likewise.
54945 2009-12-19  Eric Blake  <ebb9@byu.net>
54947         futimens, utimensat: work around Linux bug
54948         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
54949         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
54950         * lib/utimensat.c (rpl_utimensat): Work around it.
54951         * lib/futimens.c (rpl_futimens): Adjust comment.
54953         utimens: work around Linux ctime bug
54954         * lib/utimens.c (detect_ctime_bug): New helper function.
54955         (update_timespec): Differentiate between workaround needed for
54956         this bug vs. what is needed for systems that lack utimensat.
54957         (fdutimens, lutimens): Work around bug.
54959         utimens: check for ctime update
54960         * tests/test-utimens-common.h (check_ctime): Define.
54961         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
54962         * tests/test-futimens.h (test_futimens): Likewise.
54963         * tests/test-lutimens.h (test_lutimens): Likewise.
54964         * doc/posix-functions/futimens.texi (futimens): Document the bug.
54965         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
54967 2009-12-19  Bruno Haible  <bruno@clisp.org>
54969         dprintf-posix: Check against memory leak fixed on 2009-12-15.
54970         * tests/test-dprintf-posix2.sh: New file.
54971         * tests/test-dprintf-posix2.c: New file.
54972         * modules/dprintf-posix-tests (Files): Add them.
54973         (configure.ac): Check for getrlimit and setrlimit.
54974         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
54976 2009-12-19  Bruno Haible  <bruno@clisp.org>
54978         fprintf-posix: Check against memory leak fixed on 2009-12-15.
54979         * tests/test-fprintf-posix3.sh: New file.
54980         * tests/test-fprintf-posix3.c: New file.
54981         * modules/fprintf-posix-tests (Files): Add them.
54982         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
54984 2009-12-19  Eric Blake  <ebb9@byu.net>
54986         dirfd: fix prototype
54987         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
54988         * lib/dirfd.c (dirfd): Likewise.
54990         canonicalize: reduce memory usage
54991         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
54992         allocation to size.
54993         Reported by Solar Designer <solar@openwall.com>.
54995 2009-12-19  Bruno Haible  <bruno@clisp.org>
54997         New module attribute 'Applicability'.
54998         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
54999         * gnulib-tool: New option --extract-applicability.
55000         (func_usage): Document it.
55001         (sed_extract_prog): Recognize it.
55002         (func_get_applicability): New function.
55003         (func_import): Generalize handling of 'link-warning' module.
55004         * modules/link-warning (Applicability): New section.
55005         * modules/arg-nonnull (Applicability): New section.
55006         Repoted by Simon Josefsson <simon@josefsson.org>.
55008 2009-12-19  Bruno Haible  <bruno@clisp.org>
55010         fflush: tweak
55011         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
55012         * lib/fseeko.c (rpl_fseeko): Likewise.
55014 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
55016         * lib/gl_list.h: Fix typo in comment.
55018 2009-12-16  Eric Blake  <ebb9@byu.net>
55020         fcntl: use to simplify other modules
55021         * modules/cloexec (Depends-on): Add fcntl.
55022         * modules/fchdir (Depends-on): Likewise.
55023         * modules/fd-safer-flag (Depends-on): Likewise.
55024         * modules/unistd-safer (Depends-on): Likewise.
55025         * modules/dup3 (configure.ac): Set module indicator.
55026         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
55027         missing.
55028         * lib/fchdir.c (_gl_register_dup): Fix comment.
55029         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
55030         * lib/dup-safer.c (dup_safer): Likewise.
55031         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
55032         * lib/dup3.c (dup3): Likewise.
55033         * tests/test-fchdir.c (main): Enhance test.
55034         Fixes a dup_cloexec bug reported by Ondřej Vašík.
55036         fcntl: port portions of fcntl to mingw
55037         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
55038         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
55039         replacement for mingw.
55040         * modules/fcntl (Description): Update.
55041         (Depends-on): Add dup2.
55042         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
55043         * modules/fcntl-h (Makefile.am): Substitute it.
55044         * lib/fcntl.in.h (fcntl): Update declaration.
55045         (F_DUPFD, F_GETFD): New macros, when needed.
55046         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
55047         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
55048         * tests/test-fcntl.c (check_flags, main): Enhance test for items
55049         we now guarantee.
55051         fcntl: work around cygwin bug in F_DUPFD
55052         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
55053         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
55054         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
55055         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
55056         * doc/posix-functions/fcntl.texi (fcntl): Document it.
55058         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
55059         * modules/fcntl (Files): List new files.
55060         (configure.ac): Run a test.
55061         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
55062         * lib/fcntl.c (rpl_fcntl): Likewise.
55063         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
55064         (gl_FCNTL_H): Always replace fcntl.h.
55065         * modules/fcntl-h (Makefile.am): Substitute witnesses.
55066         * lib/fcntl.in.h (fcntl): Declare replacement.
55067         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
55068         needed, plus a witness.
55069         * doc/posix-functions/fcntl.texi (fcntl): Document this.
55070         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
55071         * tests/test-fcntl.c: New file.
55072         * modules/fcntl-tests: Likewise.
55074         binary-io: avoid potential compilation warning
55075         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
55076         directives.
55078         fflush: avoid compilation error on NetBSD
55079         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
55080         between off_t and fpos_t, since the latter is sometimes a struct.
55081         * lib/fseeko.c (rpl_fseeko): Likewise.
55082         Reported by Alexander Nasonov <alnsn@yandex.ru>.
55084 2009-12-15  Eric Blake  <ebb9@byu.net>
55086         fcntl-h, stdio, sys_ioctl: fix declarations
55087         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
55088         function must not take arguments.
55089         * lib/sys_ioctl.in.h (ioctl): Likewise.
55090         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
55091         (open): Add a link warning.
55093 2009-12-15  Jim Meyering  <meyering@redhat.com>
55095         areadlink, areadlink-with-size: relax license to LGPLv2+
55096         * modules/areadlink (License): Relax to LGPLv2+.
55097         * modules/areadlink-with-size (License): Likewise.
55099 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
55100             Bruno Haible  <bruno@clisp.org>
55102         *printf: Fix memory leak.
55103         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
55104         * lib/vfprintf.c (vfprintf): Likewise.
55105         * lib/dprintf.c (dprintf): Likewise.
55106         * lib/vdprintf.c (vdprintf): Likewise.
55108 2009-12-14  Eric Blake  <ebb9@byu.net>
55110         accept4: adjust module dependencies
55111         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
55113         utimens: one more try at avoiding compiler warning
55114         * lib/utimens.c (lutimens): Lower scope of result.
55116 2009-12-13  Bruno Haible  <bruno@clisp.org>
55118         Move the malloc checking from module 'list' to new module 'xlist'.
55119         * modules/xlist: New file.
55120         * lib/gl_xlist.h: New file.
55121         * lib/gl_xlist.c: New file.
55122         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
55123         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
55124         gl_list_add_last, gl_list_add_before, gl_list_add_after,
55125         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
55126         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
55127         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
55128         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
55129         gl_sortedlist_nx_add): New declarations.
55130         (struct gl_list_implementation): Rename and change methods accordingly.
55131         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
55132         (gl_list_nx_create): Renamed from gl_list_create.
55133         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
55134         (gl_list_nx_set_at): Renamed from gl_list_set_at.
55135         (gl_list_nx_add_first): Renamed from gl_list_add_first.
55136         (gl_list_nx_add_last): Renamed from gl_list_add_last.
55137         (gl_list_nx_add_before): Renamed from gl_list_add_before.
55138         (gl_list_nx_add_after): Renamed from gl_list_add_after.
55139         (gl_list_nx_add_at): Renamed from gl_list_add_at.
55140         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
55141         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
55142         gl_list_create_empty.
55143         (gl_list_nx_create): Renamed from gl_list_create.
55144         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
55145         (gl_list_nx_set_at): Renamed from gl_list_set_at.
55146         (gl_list_nx_add_first): Renamed from gl_list_add_first.
55147         (gl_list_nx_add_last): Renamed from gl_list_add_last.
55148         (gl_list_nx_add_before): Renamed from gl_list_add_before.
55149         (gl_list_nx_add_after): Renamed from gl_list_add_after.
55150         (gl_list_nx_add_at): Renamed from gl_list_add_at.
55151         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
55152         * lib/gl_array_list.c: Don't include xalloc.h.
55153         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
55154         NULL upon out-of-memory.
55155         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
55156         out-of-memory.
55157         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
55158         Change return type to 'int'.
55159         (gl_array_nx_set_at): Renamed from gl_array_set_at.
55160         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
55161         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
55162         upon out-of-memory.
55163         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
55164         upon out-of-memory.
55165         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
55166         upon out-of-memory.
55167         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
55168         upon out-of-memory.
55169         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
55170         out-of-memory.
55171         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
55172         Update.
55173         (gl_array_list_implementation): Update.
55174         * lib/gl_carray_list.c: Don't include xalloc.h.
55175         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
55176         Return NULL upon out-of-memory.
55177         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
55178         out-of-memory.
55179         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
55180         Change return type to 'int'.
55181         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
55182         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
55183         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
55184         upon out-of-memory.
55185         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
55186         upon out-of-memory.
55187         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
55188         out-of-memory.
55189         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
55190         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
55191         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
55192         Update.
55193         (gl_carray_list_implementation): Update.
55194         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
55195         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
55196         gl_linked_create_empty. Return NULL upon out-of-memory.
55197         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
55198         out-of-memory.
55199         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
55200         Change return type to 'int'. Return -1 upon out-of-memory.
55201         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
55202         out-of-memory.
55203         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
55204         upon out-of-memory.
55205         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
55206         upon out-of-memory.
55207         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
55208         NULL upon out-of-memory.
55209         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
55210         upon out-of-memory.
55211         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
55212         out-of-memory.
55213         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
55214         Update.
55215         * lib/gl_linked_list.c: Don't include xalloc.h.
55216         (gl_linked_list_implementation): Update.
55217         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
55218         (add_to_bucket): Change return type to 'int'.
55219         (gl_linkedhash_list_implementation): Update.
55220         * lib/gl_anytree_list1.h (free_subtree): New function.
55221         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
55222         gl_tree_create_empty. Return NULL upon out-of-memory.
55223         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
55224         Change return type to 'int'. Return -1 upon out-of-memory.
55225         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
55226         out-of-memory.
55227         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
55228         (gl_tree_remove_node): New function, moved here from
55229         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
55230         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
55231         Update.
55232         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
55233         malloc, not xmalloc. Return NULL upon out-of-memory.
55234         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
55235         out-of-memory.
55236         (gl_tree_remove_node_from_tree): New function, extracted from
55237         gl_tree_remove_node.
55238         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
55239         upon out-of-memory.
55240         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
55241         out-of-memory.
55242         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
55243         upon out-of-memory.
55244         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
55245         upon out-of-memory.
55246         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
55247         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
55248         not xmalloc. Return NULL upon out-of-memory.
55249         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
55250         out-of-memory.
55251         (gl_tree_remove_node_from_tree): New function, extracted from
55252         gl_tree_remove_node.
55253         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
55254         upon out-of-memory.
55255         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
55256         out-of-memory.
55257         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
55258         upon out-of-memory.
55259         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
55260         upon out-of-memory.
55261         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
55262         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
55263         gl_anytree_list1.h before gl_anyavltree_list2.h.
55264         (gl_avltree_list_implementation): Update.
55265         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
55266         gl_anytree_list1.h before gl_anyavltree_list2.h.
55267         (gl_rbtree_list_implementation): Update.
55268         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
55269         Change return type to 'int'. Return -1 upon out-of-memory. Use
55270         __builtin_expect.
55271         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
55272         (gl_avltreehash_list_implementation): Update.
55273         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
55274         (gl_rbtreehash_list_implementation): Update.
55275         * modules/array-list (Depends-on): Remove xalloc.
55276         * modules/carray-list (Depends-on): Likewise.
55277         * modules/linked-list (Depends-on): Likewise.
55278         * modules/linkedhash-list (Depends-on): Likewise.
55279         * modules/avltree-list (Depends-on): Likewise.
55280         * modules/rbtree-list (Depends-on): Likewise.
55281         * modules/avltreehash-list (Depends-on): Likewise.
55282         * modules/rbtreehash-list (Depends-on): Likewise.
55284         * modules/xsublist: New file.
55285         * lib/gl_xsublist.h: New file.
55286         * lib/gl_xsublist.c: New file.
55287         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
55288         (gl_sublist_nx_create): New declaration.
55289         * lib/gl_sublist.c: Don't include xalloc.h.
55290         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
55291         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
55292         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
55293         Change return type to 'int'. Return -1 upon out-of-memory.
55294         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
55295         upon out-of-memory.
55296         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
55297         NULL upon out-of-memory.
55298         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
55299         upon out-of-memory.
55300         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
55301         NULL upon out-of-memory.
55302         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
55303         NULL upon out-of-memory.
55304         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
55305         upon out-of-memory.
55306         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
55307         (gl_sublist_list_implementation): Update.
55308         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
55309         upon out-of-memory.
55310         * modules/sublist (Depends-on): Remove xalloc.
55312         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
55313         * tests/test-carray_list.c: Likewise.
55314         * tests/test-linked_list.c: Likewise.
55315         * tests/test-linkedhash_list.c: Likewise.
55316         * tests/test-avltree_list.c: Likewise.
55317         * tests/test-rbtree_list.c: Likewise.
55318         * tests/test-avltreehash_list.c: Likewise.
55319         * tests/test-rbtreehash_list.c: Likewise.
55320         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
55321         * modules/carray-list-tests (Makefile.am): Likewise.
55322         * modules/linked-list-tests (Makefile.am): Likewise.
55323         * modules/linkedhash-list-tests (Makefile.am): Likewise.
55324         * modules/avltree-list-tests (Makefile.am): Likewise.
55325         * modules/rbtree-list-tests (Makefile.am): Likewise.
55326         * modules/avltreehash-list-tests (Makefile.am): Likewise.
55327         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
55329         * NEWS: Mention the changes.
55331         * lib/clean-temp.c: Include gl_xlist.h.
55332         * modules/clean-temp (Depends-on): Add xlist.
55334         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
55335         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
55337         * tests/test-array_oset.c: Include gl_xlist.h.
55338         * modules/array-oset-tests (Depends-on): Add xlist.
55340         Reported by José E. Marchesi <jemarch@gnu.org>.
55342 2009-12-13  Bruno Haible  <bruno@clisp.org>
55344         Move the malloc checking from module 'oset' to new module 'xoset'.
55345         * modules/xoset: New file.
55346         * lib/gl_xoset.h: New file.
55347         * lib/gl_xoset.c: New file.
55348         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
55349         declarations.
55350         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
55351         (struct gl_oset_implementation): Rename and change methods accordingly.
55352         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
55353         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
55354         'int'. Mark as __warn_unused_result__.
55355         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
55356         gl_oset_create_empty.
55357         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
55358         'int'.
55359         * lib/gl_array_oset.c: Don't include xalloc.h.
55360         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
55361         malloc, not xmalloc.
55362         (grow): Change return type to 'int'. Don't call xalloc_die.
55363         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
55364         to 'int'.
55365         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
55366         'int'.
55367         (gl_array_oset_implementation): Update.
55368         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
55369         gl_tree_create_empty.
55370         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
55371         'int'.
55372         * lib/gl_avltree_oset.c: Don't include xalloc.h.
55373         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
55374         xmalloc.
55375         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
55376         not xmalloc.
55377         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
55378         xmalloc.
55379         (gl_avltree_oset_implementation): Update.
55380         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
55381         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
55382         xmalloc.
55383         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
55384         not xmalloc.
55385         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
55386         xmalloc.
55387         (gl_rbtree_oset_implementation): Update.
55388         * modules/array-oset (Depends-on): Remove xalloc.
55389         * modules/avltree-oset (Depends-on): Likewise.
55390         * modules/rbtree-oset (Depends-on): Likewise.
55391         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
55392         * tests/test-avltree_oset.c: Likewise.
55393         * tests/test-rbtree_oset.c: Likewise.
55394         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55395         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
55396         * modules/rbtree-oset-tests (Makefile.am): Likewise.
55397         * NEWS: Mention the change.
55399 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
55401         maint.mk: allow a project to override release-prep commands
55402         * top/maint.mk (alpha, beta, stable): Move release-preparatory
55403         commands into a new rule.
55404         (release-prep): New rule.
55405         (release-prep-hook): New overridable variable.
55407 2009-12-13  Bruno Haible  <bruno@clisp.org>
55409         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
55411 2009-12-13  Jim Meyering  <meyering@redhat.com>
55413         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
55414         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
55416 2009-12-12  Bruno Haible  <bruno@clisp.org>
55418         duplocale: Tweak.
55419         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
55421 2009-12-12  Karl Berry  <karl@gnu.org>
55423         * config/srclist.txt (strtoll.c): tab changes, no more sync.
55425 2009-12-12  Bruno Haible  <bruno@clisp.org>
55427         * m4/po.m4: Undo incorrect untabification.
55429 2009-12-12  Bruno Haible  <bruno@clisp.org>
55431         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
55432         * modules/c-strtod (Depends-on): Add locale.
55433         * modules/c-strtold (Depends-on): Likewise.
55435 2009-12-12  Bruno Haible  <bruno@clisp.org>
55437         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
55439 2009-12-11  Eric Blake  <ebb9@byu.net>
55441         setenv: relax requirement in light of POSIX ruling
55442         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
55443         not NULL.
55444         * tests/test-setenv.c (main): Relax test.
55445         * tests/test-unsetenv.c (main): Likewise.
55446         * doc/posix-functions/setenv.texi (setenv): Document this.
55447         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
55449 2009-12-11  Bruno Haible  <bruno@clisp.org>
55451         New module 'fd-safer-flag'.
55452         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
55453         * lib/dup-safer.c (dup_safer_flag): Remove function.
55454         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
55455         * lib/fd-safer.c (fd_safer_flag): Remove function.
55456         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
55457         * modules/cloexec (configure.ac): Drop indicator macro.
55458         * modules/fd-safer-flag: New file.
55459         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
55460         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
55461         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
55463 2009-12-11  Bruno Haible  <bruno@clisp.org>
55465         Tests for module 'nl_langinfo'.
55466         * modules/nl_langinfo-tests: New file.
55467         * tests/test-nl_langinfo.sh: New file.
55468         * tests/test-nl_langinfo.c: New file.
55470         New module 'nl_langinfo'.
55471         * lib/nl_langinfo.c: New file.
55472         * m4/nl_langinfo.m4: New file.
55473         * modules/nl_langinfo: New file.
55474         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
55476 2009-12-11  Bruno Haible  <bruno@clisp.org>
55478         Tests for module 'langinfo'.
55479         * modules/langinfo-tests: New file.
55480         * tests/test-langinfo.c: New file.
55482         New module 'langinfo'.
55483         * lib/langinfo.in.h: New file.
55484         * m4/langinfo_h.m4: New file.
55485         * modules/langinfo: New file.
55486         * doc/posix-headers/langinfo.texi: Mention the new module.
55488 2009-12-11  Bruno Haible  <bruno@clisp.org>
55490         * lib/config.charset: Untabify.
55492 2009-12-11  Bruno Haible  <bruno@clisp.org>
55494         * modules/unistd-safer (configure.ac): Drop indicator macro.
55496 2009-12-11  Bruno Haible  <bruno@clisp.org>
55498         Move pipe2-safer code to its own file.
55499         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
55500         * lib/pipe-safer.c (pipe2_safer): Remove function.
55501         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
55502         (Makefile.am): Add it to lib_SOURCES.
55504 2009-12-10  Bruno Haible  <bruno@clisp.org>
55506         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
55508 2009-12-10  Bruno Haible  <bruno@clisp.org>
55510         Declare which arguments expect non-NULL values, for GCC and clang.
55511         * build-aux/arg-nonnull.h: New file.
55512         * modules/arg-nonnull: New file.
55513         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
55514         (inet_ntop, inet_pton): Use it.
55515         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
55516         (closedir, dirfd, opendir, scandir, alphasort): Use it.
55517         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
55518         (open, openat): Use it.
55519         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
55520         (fnmatch): Use it.
55521         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
55522         (getopt, getopt_long, getopt_long_only): Use it.
55523         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
55524         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
55525         Use it.
55526         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
55527         (iconv_open): Use it.
55528         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
55529         (strtoimax, strtoumax): Use it.
55530         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
55531         (duplocale): Use it.
55532         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
55533         (frexp, frexpl): Use it.
55534         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
55535         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
55536         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
55537         (tsearch, tfind, tdelete, twalk): Use it.
55538         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
55539         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
55540         sigpending): Use it.
55541         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
55542         (posix_spawn, posix_spawnp, posix_spawnattr_init,
55543         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
55544         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
55545         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
55546         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
55547         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
55548         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
55549         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
55550         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
55551         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
55552         Use it.
55553         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
55554         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
55555         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
55556         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
55557         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
55558         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
55559         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
55560         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
55561         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
55562         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
55563         strtoull, unsetenv): Use it.
55564         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
55565         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
55566         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
55567         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
55568         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
55569         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
55570         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
55571         (strcasecmp, strncasecmp): Use it.
55572         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
55573         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
55574         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
55575         rpl_setsockopt): Use it.
55576         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
55577         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
55578         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
55579         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
55580         (gettimeofday): Use it.
55581         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
55582         (times): Use it.
55583         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
55584         (uname): Use it.
55585         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
55586         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
55587         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
55588         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
55589         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
55590         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
55591         unlinkat, write): Use it.
55592         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
55593         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
55594         * lib/argv-iter.h: Include arg-nonnull.h.
55595         (_ATTRIBUTE_NONNULL_): Remove macro.
55596         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
55597         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
55598         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
55599         optimization.
55600         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
55601         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
55602         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
55603         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
55604         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
55605         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
55606         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
55607         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
55608         * modules/arpa_inet (Depends-on): Add arg-nonnull.
55609         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
55610         * modules/dirent (Depends-on): Add arg-nonnull.
55611         (Makefile.am): Insert arg-nonnull.h into dirent.h.
55612         * modules/fcntl-h (Depends-on): Add arg-nonnull.
55613         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
55614         * modules/fnmatch (Depends-on): Add arg-nonnull.
55615         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
55616         * modules/getopt-posix (Depends-on): Add arg-nonnull.
55617         (Makefile.am): Insert arg-nonnull.h into getopt.h.
55618         * modules/glob (Depends-on): Add arg-nonnull.
55619         (Makefile.am): Insert arg-nonnull.h into glob.h.
55620         * modules/iconv_open (Depends-on): Add arg-nonnull.
55621         (Makefile.am): Insert arg-nonnull.h into iconv.h.
55622         * modules/inttypes (Depends-on): Add arg-nonnull.
55623         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
55624         * modules/locale (Depends-on): Add arg-nonnull.
55625         (Makefile.am): Insert arg-nonnull.h into locale.h.
55626         * modules/math (Depends-on): Add arg-nonnull.
55627         (Makefile.am): Insert arg-nonnull.h into math.h.
55628         * modules/netdb (Depends-on): Add arg-nonnull.
55629         (Makefile.am): Insert arg-nonnull.h into netdb.h.
55630         * modules/search (Depends-on): Add arg-nonnull.
55631         (Makefile.am): Insert arg-nonnull.h into search.h.
55632         * modules/signal (Depends-on): Add arg-nonnull.
55633         (Makefile.am): Insert arg-nonnull.h into signal.h.
55634         * modules/spawn (Depends-on): Add arg-nonnull.
55635         (Makefile.am): Insert arg-nonnull.h into spawn.h.
55636         * modules/stdio (Depends-on): Add arg-nonnull.
55637         (Makefile.am): Insert arg-nonnull.h into stdio.h.
55638         * modules/stdlib (Depends-on): Add arg-nonnull.
55639         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
55640         * modules/string (Depends-on): Add arg-nonnull.
55641         (Makefile.am): Insert arg-nonnull.h into string.h.
55642         * modules/strings (Depends-on): Add arg-nonnull.
55643         (Makefile.am): Insert arg-nonnull.h into strings.h.
55644         * modules/sys_socket (Depends-on): Add arg-nonnull.
55645         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
55646         * modules/sys_stat (Depends-on): Add arg-nonnull.
55647         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
55648         * modules/sys_time (Depends-on): Add arg-nonnull.
55649         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
55650         * modules/sys_times (Depends-on): Add arg-nonnull.
55651         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
55652         * modules/sys_utsname (Depends-on): Add arg-nonnull.
55653         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
55654         * modules/time (Depends-on): Add arg-nonnull.
55655         (Makefile.am): Insert arg-nonnull.h into time.h.
55656         * modules/unistd (Depends-on): Add arg-nonnull.
55657         (Makefile.am): Insert arg-nonnull.h into unistd.h.
55658         * modules/wchar (Depends-on): Add arg-nonnull.
55659         (Makefile.am): Insert arg-nonnull.h into wchar.h.
55660         * modules/argv-iter (Depends-on): Add arg-nonnull.
55661         * tests/test-canonicalize.c (null_ptr): New function.
55662         (main): Use it.
55663         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
55664         (main): Use it.
55665         * tests/test-memmem.c (null_ptr): New function.
55666         (main): Use it.
55667         Reported by Jim Meyering.
55669 2009-12-10  Bruno Haible  <bruno@clisp.org>
55671         Use spaces for indentation, not tabs.
55672         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
55673         * m4/*.m4: Untabify.
55674         * build-aux/*.h: Untabify.
55675         * tests/**/*.[hc]: Untabify.
55676         * README: New section "Indent with spaces, not TABs", based on
55677         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
55678         * NEWS: Mention the change.
55680 2009-12-10  Bruno Haible  <bruno@clisp.org>
55682         pty test: Fix link error.
55683         * modules/pty-tests (Makefile.am): Add the default LDADD value to
55684         test_pty_LDADD.
55686 2009-12-07  Simon Josefsson  <simon@josefsson.org>
55688         * modules/pty: New file.
55689         * modules/pty-tests: New file.
55690         * m4/pty.m4: New file.
55691         * tests/test-pty.c: New file.
55692         * doc/glibc-headers/pty.texi: Modified.
55693         * doc/glibc-functions/forkpty.texi: Modified.
55694         * doc/glibc-functions/openpty.texi: Modified.
55696 2009-12-10  Bruno Haible  <bruno@clisp.org>
55698         Avoid syntax error in C++ mode.
55699         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
55701 2009-12-10  Bruno Haible  <bruno@clisp.org>
55703         Use sed with option -e.
55704         * gnulib-tool (func_version, func_emit_copyright_notice,
55705         func_emit_initmacro_end, func_import, func_create_testdir): Pass
55706         option -e to sed.
55707         * modules/link-warning (Makefile.am): Likewise.
55709 2009-12-10  Jim Meyering  <meyering@redhat.com>
55711         mgetgroups: do not write bytes beyond end of malloc'd buffer
55712         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
55713         username, we call getgroups with a one-element-shorter buffer,
55714         but still told it the length was original, max_n_groups.
55716 2009-12-09  Eric Blake  <ebb9@byu.net>
55718         cloexec: relax license
55719         * modules/cloexec (Maintainer): Add myself.
55720         (License): Use LGPL, not GPL.
55722         link-warning: optimize generation
55723         * modules/link-warning (Makefile.am): Reduce process usage.
55725 2009-12-09  Bruno Haible  <bruno@clisp.org>
55727         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
55728         workaround was added on 2009-11-17.
55730 2009-12-09  Jim Meyering  <meyering@redhat.com>
55731             Bruno Haible  <bruno@clisp.org>
55733         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
55734         * modules/link-warning (Makefile.am): Make the comment-removing sed
55735         command more robust in the face of bootstrap-prepended comment lines.
55737 2009-12-09  Bruno Haible  <bruno@clisp.org>
55739         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
55740         most one group.
55742 2009-12-09  Simon Josefsson  <simon@josefsson.org>
55743             Bruno Haible  <bruno@clisp.org>
55745         * build-aux/link-warning.h: Add copyright notice.
55746         * modules/link-warning (Makefile.am): Generate link-warning.h from
55747         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
55748         * NEWS: Mention change in link-warning module.
55749         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
55750         * modules/dirent (Makefile.am): Add dependency to dirent.h.
55751         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
55752         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
55753         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
55754         * modules/math (Makefile.am): Add dependency to math.h.
55755         * modules/search (Makefile.am): Add dependency to search.h.
55756         * modules/signal (Makefile.am): Add dependency to signal.h.
55757         * modules/spawn (Makefile.am): Add dependency to spawn.h.
55758         * modules/stdio (Makefile.am): Add dependency to stdio.h.
55759         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
55760         * modules/string (Makefile.am): Add dependency to string.h.
55761         * modules/strings (Makefile.am): Add dependency to strings.h.
55762         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
55763         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
55764         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
55765         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
55766         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
55767         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
55768         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
55769         * modules/unistd (Makefile.am): Add dependency to unistd.h.
55770         * modules/wchar (Makefile.am): Add dependency to wchar.h.
55772 2009-12-09  Bruno Haible  <bruno@clisp.org>
55774         fchdir: Optimize away rpl_fstat when possible.
55775         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
55776         REPLACE_OPEN_DIRECTORY.
55777         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
55779 2009-12-09  Bruno Haible  <bruno@clisp.org>
55781         * lib/fchdir.c: Update comment.
55783 2009-12-09  Bruno Haible  <bruno@clisp.org>
55785         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
55787 2009-12-08  Eric Blake  <ebb9@byu.net>
55789         fchdir: avoid memory leak on re-registration.
55790         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
55792 2009-12-08  Jim Meyering  <meyering@redhat.com>
55794         init.sh: avoid Solaris 10 /bin/sh portability problem
55795         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
55796         sourced script:
55797           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
55798           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
55799           bar
55800         tests/init.sh relied on that, accepting a --set-path=DIR argument,
55801         and two tests used that idiom.
55802         * tests/init.sh: Update suggested usage comments.
55803         (path_prepend_): New function, to be used in place
55804         of the --src-path=DIR option.
55805         (setup_): Move PATH-prepending code into path_prepend_.
55806         * tests/test-pread.sh: Adapt to new usage.
55807         * tests/test-xalloc-die.sh: Likewise.
55809 2009-12-08  Simon Josefsson  <simon@josefsson.org>
55811         * doc/gnulib.texi (Glibc pty.h): Add.
55812         * doc/glibc-functions/forkpty.texi: Add.
55813         * doc/glibc-functions/openpty.texi: Add.
55814         Suggested by Bruno Haible.
55816 2009-12-08  Eric Blake  <ebb9@byu.net>
55818         fchdir: fix logic bugs
55819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
55820         * tests/test-fchdir.c (main): Enhance test.
55821         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
55822         is in use.
55824         dup2: fix logic bugs
55825         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
55826         REPLACE_DUP2 to decide when rpl_dup2 is needed.
55827         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
55828         exists.
55829         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
55831 2009-12-07  Eric Blake  <ebb9@byu.net>
55833         unlink: fix m4 detection
55834         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
55836         unistd-safer: add unit test
55837         * modules/unistd-safer-tests: New file.
55838         * tests/test-dup-safer.c: Likewise.
55839         * tests/test-cloexec.c (setmode): Avoid compiler warning.
55840         * tests/test-dup2.c (setmode): Likewise.
55841         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
55843         cloexec: preserve text vs. binary across dup_cloexec
55844         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
55845         mode.
55846         * modules/dup2-tests (Depends-on): Add binary-io.
55847         * modules/cloexec-tests (Depends-on): Likewise.
55848         * tests/test-dup2.c (setmode, is_mode): New helpers.
55849         (main): Add tests that translation mode is preserved.
55850         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
55851         Reported by Bruno Haible.
55853         mgetgroups: reduce duplicate listings
55854         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
55855         resulting array.
55856         * tests/test-chown.h (test_chown): Simplify client.
55857         * tests/test-lchown.h (test_lchown): Likewise.
55859 2009-12-06  Bruno Haible  <bruno@clisp.org>
55861         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
55862         value.
55864 2009-12-06  Bruno Haible  <bruno@clisp.org>
55866         * lib/progname.c: Include stdio.h, stdlib.h.
55867         (set_program_name): Reject a NULL argument.
55869 2009-12-05  Eric Blake  <ebb9@byu.net>
55871         pipe2-safer: new module
55872         * modules/pipe2-safer: New file.
55873         * lib/unistd-safer.h (pipe2_safer): New prototype.
55874         * lib/unistd--.h (pipe2): New wrapper.
55875         * lib/pipe-safer.c (pipe2_safer): New function.
55876         * modules/pipe (Depends-on): Add pipe2-safer.
55877         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
55879         stdlib-safer: preserve cloexec flag for mkostemp[s]
55880         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
55881         fd_safer_flag.
55883         unistd-safer: allow preservation of cloexec status via flag
55884         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
55885         prototypes.
55886         * lib/dup-safer.c (dup_safer_flag): New function.
55887         * lib/fd-safer.c (fd_safer_flag): Likewise.
55888         * modules/cloexec (configure.ac): Set witness.
55890         test-dup2: enhance test
55891         * modules/dup2-tests (Depends-on): Add cloexec.
55892         * tests/test-dup2.c (main): Enhance test.
55894         cloexec: add dup_cloexec
55895         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
55896         header and comments.
55897         * lib/cloexec.c (set_cloexec_flag): Add comments.
55898         (dup_cloexec): New function, with mingw implementation borrowed
55899         from...
55900         * lib/w32spawn.h (dup_noinherit): ...here.
55901         * modules/execute (Depends-on): Add cloexec.
55902         * modules/pipe (Depends-on): Likewise.
55903         * modules/cloexec (Depends-on): Add dup2.
55904         * modules/cloexec-tests (Files): New file.
55905         * tests/test-cloexec.c: Likewise.
55907         test-xalloc-die: fix test for mingw
55908         * modules/xalloc-die-tests (Files): Add tests/init.sh.
55909         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
55910         directory and .exe suffix off argv[0] output.
55912         test-fseeko: fix test for mingw
55913         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
55914         than undefining fseek, so test will pass on mingw.
55916 2009-12-05  Bruno Haible  <bruno@clisp.org>
55918         * lib/progname.h (set_program_name): Clarify specification.
55919         * lib/progname.c (set_program_name): Likewise.
55920         Reported by Jim Meyering.
55922 2009-12-05  Jim Meyering  <meyering@redhat.com>
55924         maint.mk: backslash-escape parens in default regexp
55925         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
55926         backslash-escape the literal parentheses.
55928         maint.mk: news-date-check: use grep -E
55929         * top/maint.mk (today): Define a Make variable, not a...
55930         (news-date-check): ...shell variable.
55931         (news-date-regexp): Use the Make variable.
55932         Use grep's -E option.  Change the failing diagnostic to mention
55933         the variable, $(news-date-regexp).
55935 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
55937         maintainer-makefile: allow customization of NEWS entry format
55938         * top/maint.mk (news-date-regexp): New overridable variable.
55939         (news-date-check): Use it.
55941 2009-12-04  Eric Blake  <ebb9@byu.net>
55943         mgetgroups: add xgetgroups, and avoid ENOSYS failures
55944         * lib/mgetgroups.h (xgetgroups): New prototype.
55945         * lib/mgetgroups.c (xgetgroups): New wrapper.
55946         (mgetgroups): Handle ENOSYS.
55947         * modules/mgetgroups (Depends-on): Add realloc.
55948         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
55950         mgetgroups: avoid argument promotion issues with -1
55951         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
55952         for invalid gid_t.
55953         * tests/test-chown.h (getegid, test_chown): Likewise.
55954         * tests/test-lchown.h (getegid, test_lchown): Likewise.
55956 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
55958         exclude: Fix header file problems.
55959         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
55961 2009-12-01  Jim Meyering  <meyering@redhat.com>
55963         fts: fts_open: do not let an empty string cause immediate failure
55964         This is required in support of GNU rm, for which the command
55965         "rm A '' B" must process and remove both A and B, in spite of
55966         the empty string argument.
55967         * lib/fts.c (fts_open): Do not let the presence of an empty string
55968         cause fts_open to fail immediately.  Most fts-using tools must be
55969         able to process all arguments, in order, and can be expected to
55970         diagnose such arguments themselves.
55972 2009-11-30  Eric Blake  <ebb9@byu.net>
55974         utimens: fix compilation error
55975         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
55976         Declare variable at right scope.
55978 2009-11-29  Jim Meyering  <meyering@redhat.com>
55980         bootstrap: handle perl-5.11's changed --version output
55981         * build-aux/bootstrap (get_version): Handle perl separately,
55982         since perl-5.11's --version output is different.
55984 2009-11-28  Jim Meyering  <meyering@redhat.com>
55986         userspec: depend on the inttostr module, too
55987         * modules/userspec (Depends-on): Add inttostr.
55989         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
55990         * lib/userspec.c (parse_with_separator): Do not accept a user ID
55991         number of MAXUID when it evaluates to (uid_t) -1.
55992         Likewise for group ID.  Reported by Matt McCutchen in
55993         <http://savannah.gnu.org/bugs/?28113>
55995         userspec: reformat to use spaces, not TABs
55996         * lib/userspec.c: Expand TABs to spaces.
55997         Add Emacs' "indent-tabs-mode: nil" hint.
55999 2009-11-27  Eric Blake  <ebb9@byu.net>
56001         getopt-gnu: flush out another BSD bug
56002         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
56003         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
56004         flush out BSD bug.
56005         * tests/test-getopt.h (test_getopt): End lists with NULL.
56006         * tests/test-getopt_long.h (test_getopt_long): Likewise.
56007         (test_getopt_long_posix): Enhance test.
56008         * modules/getopt-posix-tests (Depends-on): Add stdbool.
56009         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
56010         getopt-gnu.
56011         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
56012         Likewise.
56014 2009-11-27  Simon Josefsson  <simon@josefsson.org>
56016         * modules/idpriv-droptemp-tests (Notice): Fix text.
56018 2009-11-27  Jim Meyering  <meyering@redhat.com>
56020         test-xalloc-die: avoid spurious failure due to libtool argv difference
56021         In a libtool-enabled project, this test would fail due to a difference
56022         in the emitted program name, e.g.,
56023         -test-xalloc-die: memory exhausted
56024         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
56025         Use program to avoid that.
56026         * modules/xalloc-die-tests (Depends-on): Add progname.
56027         * tests/test-xalloc-die.c: Include progname.h".
56028         (program_name): Remove decl.
56029         (main): Call set_program_name.
56030         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
56032 2009-11-26  Richard Jones  <rjones@redhat.com>
56034         w32sock: leave win32 error in place.
56035         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
56037 2009-11-26  Eric Blake  <ebb9@byu.net>
56039         init.sh: suggest to use skip_ and fail_ functions in comments
56040         * tests/init.sh: Add a sentence.
56042 2009-11-25  Bruno Haible  <bruno@clisp.org>
56044         init.sh: add documentation in comments
56045         * tests/init.sh: Add some developer and user documentation.
56047 2009-11-26  Jim Meyering  <meyering@redhat.com>
56049         init.sh: accommodate even those who specify bogus srcdir manually
56050         * tests/init.sh: Normally, srcdir is guaranteed by automake and
56051         configure-time tests to be sanitized, so that there is no need to
56052         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
56053         (with no double quotes) suffices.  However, since tests may be
56054         invoked manually, and since you may explicitly set srcdir to the
56055         name of a directory containing spaces, do quote its uses here.
56056         * tests/test-pread.sh: Likewise.
56057         Suggested by Bruno Haible.
56059         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
56060         * tests/test-pread.sh: Write no data into the pipe, because
56061         test-pread actually reads none.  This avoids a diagnostic,
56062         "bash: echo: write error: Broken pipe", that arises in the unusual
56063         event something is ignoring SIGPIPE, and might be interpreted
56064         as some sort of failure.  Reported by Bruno Haible.
56066 2009-11-25  Jim Meyering  <meyering@redhat.com>
56068         test-pread: cover failure with ESPIPE and EINVAL
56069         * tests/test-pread.c (main): Test for failure, too.
56070         * tests/test-pread.sh: Invoke with stdin on a pipe.
56071         Suggested by Eric Blake.
56073         pread: improvement and fix
56074         * modules/pread (Depends-on): Depend on lseek, for portability to
56075         e.g., mingw.  Suggested by Eric Blake.
56076         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
56078         unistd.in.h: correct declaration of pread
56079         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
56080         Reported by Richard W.M. Jones.
56082         test-pread.sh: distribute the test script
56083         * modules/pread-tests (Files): Include test-pread.sh.
56085         test-pread.sh: clean up
56086         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
56087         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
56088         That is unnecessary, since it's always ".".
56089         Suggestion from Eric Blake.
56091         test-pread.sh: make executable
56092         * tests/test-pread.sh: Set executable bit.
56093         Reported by Eric Blake.
56095         correct typo in test-pread.sh
56096         * tests/test-pread.sh: Add #! line.
56098         test pread
56099         * tests/test-pread.c: New file.
56100         * tests/test-pread.sh: Likewise.
56101         * modules/pread-tests: Likewise.
56103         pread: new module
56104         * modules/pread: New file.
56105         * lib/unistd.in.h (pread): Define/declare.
56106         * lib/pread.c (pread): New file.
56107         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
56108         * modules/unistd (Makefile.am): Substitute witnesses.
56109         * doc/posix-functions/pread.texi (pread): Update.
56110         * MODULES.html.sh: Add pread.
56112 2009-11-25  Jim Meyering  <meyering@redhat.com>
56114         tests/init.sh: new file to be used via most *.sh tests
56115         * tests/init.sh: New file.
56117 2009-11-25  Eric Blake  <ebb9@byu.net>
56119         utimens: work around older Linux failure with symlinks
56120         * lib/utimens.c (lutimensat_works_really): New variable.
56121         (fdutimens, lutimens): Use it to manage kernels that support
56122         nanosecond times on files, but not on symlinks.
56123         Reported by Ondřej Vašík.
56125         utimes: fix configure grammar
56126         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
56128 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
56130         regex: Fix fastmap for multibyte character ranges.
56131         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
56132         characters when a multibyte character range is included.
56134 2009-11-22  Andy Wingo  <wingo@pobox.com>
56136         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
56137         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
56139 2009-11-24  Bruno Haible  <bruno@clisp.org>
56141         doc: Most *_l functions exist in MacOS X 10.5.
56142         * doc/posix-functions/duplocale.texi: Update platforms list.
56143         * doc/posix-functions/freelocale.texi: Likewise.
56144         * doc/posix-functions/newlocale.texi: Likewise.
56145         * doc/posix-functions/uselocale.texi: Likewise.
56146         * doc/posix-functions/isalnum_l.texi: Likewise.
56147         * doc/posix-functions/isalpha_l.texi: Likewise.
56148         * doc/posix-functions/isblank_l.texi: Likewise.
56149         * doc/posix-functions/iscntrl_l.texi: Likewise.
56150         * doc/posix-functions/isdigit_l.texi: Likewise.
56151         * doc/posix-functions/isgraph_l.texi: Likewise.
56152         * doc/posix-functions/islower_l.texi: Likewise.
56153         * doc/posix-functions/isprint_l.texi: Likewise.
56154         * doc/posix-functions/ispunct_l.texi: Likewise.
56155         * doc/posix-functions/isspace_l.texi: Likewise.
56156         * doc/posix-functions/isupper_l.texi: Likewise.
56157         * doc/posix-functions/iswalnum_l.texi: Likewise.
56158         * doc/posix-functions/iswalpha_l.texi: Likewise.
56159         * doc/posix-functions/iswblank_l.texi: Likewise.
56160         * doc/posix-functions/iswcntrl_l.texi: Likewise.
56161         * doc/posix-functions/iswctype_l.texi: Likewise.
56162         * doc/posix-functions/iswdigit_l.texi: Likewise.
56163         * doc/posix-functions/iswgraph_l.texi: Likewise.
56164         * doc/posix-functions/iswlower_l.texi: Likewise.
56165         * doc/posix-functions/iswprint_l.texi: Likewise.
56166         * doc/posix-functions/iswpunct_l.texi: Likewise.
56167         * doc/posix-functions/iswspace_l.texi: Likewise.
56168         * doc/posix-functions/iswupper_l.texi: Likewise.
56169         * doc/posix-functions/iswxdigit_l.texi: Likewise.
56170         * doc/posix-functions/isxdigit_l.texi: Likewise.
56171         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
56172         * doc/posix-functions/strcasecmp_l.texi: Likewise.
56173         * doc/posix-functions/strcoll_l.texi: Likewise.
56174         * doc/posix-functions/strfmon_l.texi: Likewise.
56175         * doc/posix-functions/strftime_l.texi: Likewise.
56176         * doc/posix-functions/strncasecmp_l.texi: Likewise.
56177         * doc/posix-functions/strxfrm_l.texi: Likewise.
56178         * doc/posix-functions/tolower_l.texi: Likewise.
56179         * doc/posix-functions/toupper_l.texi: Likewise.
56180         * doc/posix-functions/towctrans_l.texi: Likewise.
56181         * doc/posix-functions/towlower_l.texi: Likewise.
56182         * doc/posix-functions/towupper_l.texi: Likewise.
56183         * doc/posix-functions/wcscoll_l.texi: Likewise.
56184         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
56185         * doc/posix-functions/wctrans_l.texi: Likewise.
56186         * doc/posix-functions/wctype_l.texi: Likewise.
56187         * doc/glibc-functions/strptime_l.texi: Likewise.
56188         * doc/glibc-functions/strtod_l.texi: Likewise.
56189         * doc/glibc-functions/strtof_l.texi: Likewise.
56190         * doc/glibc-functions/strtol_l.texi: Likewise.
56191         * doc/glibc-functions/strtold_l.texi: Likewise.
56192         * doc/glibc-functions/strtoll_l.texi: Likewise.
56193         * doc/glibc-functions/strtoul_l.texi: Likewise.
56194         * doc/glibc-functions/strtoull_l.texi: Likewise.
56195         * doc/glibc-functions/wcsftime_l.texi: Likewise.
56196         * doc/glibc-functions/wcstod_l.texi: Likewise.
56197         * doc/glibc-functions/wcstof_l.texi: Likewise.
56198         * doc/glibc-functions/wcstol_l.texi: Likewise.
56199         * doc/glibc-functions/wcstold_l.texi: Likewise.
56200         * doc/glibc-functions/wcstoll_l.texi: Likewise.
56201         * doc/glibc-functions/wcstoul_l.texi: Likewise.
56202         * doc/glibc-functions/wcstoull_l.texi: Likewise.
56204 2009-11-24  Bruno Haible  <bruno@clisp.org>
56206         duplocale: Fix logic bug.
56207         * lib/duplocale.c: Don't include <langinfo.h>.
56208         (_NL_LOCALE_NAME): Remove macro.
56209         (rpl_duplocale): Use setlocale instead of nl_langinfo.
56210         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
56212 2009-11-23  Jim Meyering  <meyering@redhat.com>
56214         test-update-copyright: don't hard-code /usr/bin/perl
56215         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
56216         perl to print the current year.  Gilles Espinasse reported that
56217         the replaced use of perl was hard-coded as /usr/bin/perl.
56219 2009-11-23  Bruno Haible  <bruno@clisp.org>
56221         duplocale: Add support for glibc 2.3.x.
56222         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
56224 2009-11-22  Bruno Haible  <bruno@clisp.org>
56226         vasnprintf: Tiny optimization.
56227         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
56228         MacOS X.
56230 2009-11-22  Bruno Haible  <bruno@clisp.org>
56232         Tests for module 'duplocale'.
56233         * modules/duplocale-tests: New file.
56234         * tests/test-duplocale.c: New file.
56236         New module 'duplocale'.
56237         * m4/duplocale.m4: New file.
56238         * lib/locale.in.h (duplocale): New declaration.
56239         * lib/duplocale.c: New file.
56240         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
56241         gl_LOCALE_H_DEFAULTS): New macros.
56242         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
56243         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
56244         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
56245         REPLACE_DUPLOCALE.
56246         * modules/duplocale: New file.
56247         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
56249 2009-11-22  Bruno Haible  <bruno@clisp.org>
56251         * modules/locale-tests (configure.ac): Test for newlocale function.
56252         * tests/test-locale.c: When the system has extended locale functions,
56253         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
56255         locale: Make locale_t available when possible.
56256         * lib/locale.in.h: Include <xlocale.h> when it exists.
56257         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
56258         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
56259         * modules/locale (Depends-on): Add extensions.
56260         (Makefile.am): Also substitute HAVE_XLOCALE_H.
56261         * doc/posix-headers/locale.texi: Document the problem with locale_t.
56263 2009-11-22  Bruno Haible  <bruno@clisp.org>
56265         Add comments.
56266         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
56267         invocation.
56268         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
56269         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
56270         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
56272 2009-11-22  Bruno Haible  <bruno@clisp.org>
56274         error: account for the possibility of freopen (stdout).
56275         * lib/error.c: Include <unistd.h>.
56276         (flush_stdout): New function, extracted from error and error_at_line.
56277         Determine stdout's fd dynamically.
56278         (error, error_at_line): Invoke flush_stdout.
56279         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
56280         * modules/error (Depends-on): Add unistd.
56282 2009-11-22  Bruno Haible  <bruno@clisp.org>
56284         diffseq: Add comment.
56285         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
56287 2009-11-22  Jim Meyering  <meyering@redhat.com>
56289         c-stack: avoid defining an unused static function
56290         * lib/c-stack.c (find_stack_direction): Do not define this function
56291         when it will not be used.
56293         diffseq: avoid spurious gcc warnings
56294         * lib/diffseq.h (IF_LINT2): Define.
56295         (compareseq): Use it to initialize two members of "part".
56296         This avoids two used-uninitialized warnings.
56298 2009-11-21  Jim Meyering  <meyering@redhat.com>
56300         c-stack: avoid "ignoring return value of `write'" warning
56301         * lib/c-stack.c: Include "ignore-value.h".
56302         (die): Explicitly ignore each write return value.
56303         * modules/c-stack (Depends-on): Add ignore-value.
56305 2009-11-21  Bruno Haible  <bruno@clisp.org>
56307         diffseq: reduce scope of variable 'best'.
56308         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
56309         variable, earlier used for two different purposes.
56311 2009-11-21  Jim Meyering  <meyering@redhat.com>
56313         diffseq: remove useless assignment to "best"
56314         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
56315         assignment.  At that point "best" is already guaranteed to be zero.
56317 2009-11-20  Eric Blake  <ebb9@byu.net>
56319         build: mention ftp redirector in release announcements
56320         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
56321         values that used to come from cfg.mk; mention FTP redirect URL.
56322         * build-aux/announce-gen: Mention the mirror list.
56323         Suggested by Karl Berry.
56325         nanosleep: improve port to mingw
56326         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
56327         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
56328         LIB_NANOSLEEP, but only when needed.
56329         * modules/select (Link): Document LIBSOCKET.
56330         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
56331         enough.
56333         nanosleep: work around cygwin bug
56334         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
56335         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
56336         bug.
56337         (getnow): Delete, not needed.
56338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
56339         LIB_CLOCK_GETTIME.
56340         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
56341         clock-time, gettime.
56342         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
56343         bug.
56344         * modules/nanosleep-tests: New test.
56345         * tests/test-nanosleep.c: New file.
56347         sleep: work around cygwin bug
56348         * lib/sleep.c (rpl_sleep): Work around the bug.
56349         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
56350         (gl_PREREQ_SLEEP): Delete unused macro.
56351         * modules/sleep (Depends-on): Add verify.
56352         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
56353         * modules/unistd (Makefile.am): Substitute witness.
56354         * lib/unistd.in.h (sleep): Update prototype.
56355         * doc/posix-functions/sleep.texi (sleep): Document the bug.
56356         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
56357         * modules/sleep-tests (Depends-on): Check for alarm.
56359 2009-11-20  Jim Meyering  <meyering@redhat.com>
56361         maint.mk: improve sc_prohibit_magic_number_exit
56362         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
56363         so it does not match uses like System.exit(1).
56364         Add comments showing how to correct all offenders.
56366 2009-11-19  Eric Blake  <ebb9@byu.net>
56368         xalloc-die-tests: add missing library
56369         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
56371         test-xvasprintf: silence compiler warnings
56372         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
56373         empty string from gcc.
56375 2009-11-19  Jim Meyering  <meyering@redhat.com>
56377         xfreopen: new module, from coreutils
56378         * modules/xfreopen: New module.
56379         * lib/xfreopen.c: New file.
56380         * lib/xfreopen.h: New file.
56381         * MODULES.html.sh (File stream based Input/Output"): Add it.
56383 2009-11-19  Eric Blake  <ebb9@byu.net>
56385         manywarnings: depend on warnings
56386         * modules/manywarnings (Depends-on): Add warnings.
56388         build: avoid compiler warnings
56389         * lib/select.c (rpl_select): Delete unused variable.
56390         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
56392 2009-11-18  Eric Blake  <ebb9@byu.net>
56394         tests: avoid false negative with --with-packager
56395         * tests/test-version-etc.sh: Discard packager information.
56396         * tests/test-argp-version-etc-1.sh: Likewise.
56397         Reported by Mike Frysinger.
56399         utimens: fix regression on Solaris
56400         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
56401         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
56402         can only change fd timestamps via futimesat.  Instead, use an
56403         additional witness macro to avoid BSD bug.
56404         Reported by Jim Meyering.
56406 2009-11-17  Eric Blake  <ebb9@byu.net>
56408         usleep: use it to simplify tests
56409         * modules/stat-time-tests (Depends-on): Add usleep.
56410         (configure.ac): Drop usleep check.
56411         * modules/chown-tests (Depends-on, configure.ac): Likewise.
56412         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
56413         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
56414         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
56415         * modules/openat-tests (Depends-on, configure.ac): Likewise.
56416         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
56417         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
56418         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
56419         Likewise.
56420         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
56421         * tests/test-lchown.h (nap): Likewise.
56422         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
56423         * tests/test-stat-time.c (nap): Likewise.
56424         * tests/test-utimens-common.h (nap): Update comments.
56426         usleep: new module
56427         * modules/usleep: New file.
56428         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
56429         * lib/usleep.c (usleep): Likewise.
56430         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
56431         * modules/unistd (Makefile.am): Substitute witnesses.
56432         * lib/unistd.in.h (usleep): Add declaration.
56433         * doc/pastposix-functions/usleep.texi (usleep): Document this.
56434         * MODULES.html.sh (Date and time): Likewise.
56435         * modules/usleep-tests (Depends-on): New test.
56436         * tests/test-usleep.c: New file.
56438         chown: work around OpenBSD bug
56439         * lib/chown.c (rpl_chown): Work around the bug.
56440         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
56441         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
56442         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
56443         * modules/chown (Depends-on): Add stdbool.
56444         * modules/lchown (Depends-on): Likewise.
56445         * doc/posix-functions/chown.texi (chown): Document the bug.
56446         * doc/posix-functions/lchown.texi (lchown): Likewise.
56447         * tests/test-lchown.h (test_chown): Relax test.
56449         mkstemp: avoid conflict with C++ keyword template
56450         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
56451         * lib/mkostemp.c (mkostemp): Likewise.
56452         * lib/mkostemps.c (mkostemps): Likewise.
56453         * lib/mkstemp.c (mkstemp): Likewise.
56454         * lib/mkstemps.c (mkstemps): Likewise.
56456         xalloc-die-tests: optimize
56457         * tests/test-xalloc-die.sh: Reduce number of processes.
56459 2009-11-17  Simon Josefsson  <simon@josefsson.org>
56461         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
56462         patch from ludo@gnu.org (Ludovic Courtès).
56464 2009-11-17  Jim Meyering  <meyering@redhat.com>
56466         version-etc: use proper license string
56467         * modules/version-etc (License): Use LGPL, not LGPLv3+.
56468         * modules/version-etc-fsf: Likewise.
56470 2009-11-17  Simon Josefsson  <simon@josefsson.org>
56472         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
56473         printed to stdout.  Deal with EOL differences.
56475 2009-11-17  Eric Blake  <ebb9@byu.net>
56477         unsetenv: work around Solaris bug
56478         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
56479         * lib/unsetenv.c (rpl_unsetenv): Work around it.
56480         Reported by Jim Meyering.
56482         vasnprintf: avoid compiler warnings
56483         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
56484         variables.
56485         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
56487 2009-11-17  Simon Josefsson  <simon@josefsson.org>
56489         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
56490         settings since xalloc-die is no longer the self test,
56491         xalloc-die.sh is.
56493 2009-11-17  Jim Meyering  <meyering@redhat.com>
56495         test-xalloc-die.sh: make the code agree with the commit log
56496         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
56497         at the end, just in case you happen to have a test-xalloc-die
56498         program in some other PATH directory.
56500         test-xalloc-die.sh: fix a portability bug
56501         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
56502         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
56503         Otherwise, argv[0] (as often seen in diagnostics) would be too
56504         system-dependent, sometimes with, and sometimes without the leading "./".
56506         version-etc-fsf: relax license to LGPLv3+
56507         * modules/version-etc-fsf (License): Relax license.
56509 2009-11-16  Eric Blake  <ebb9@byu.net>
56511         xalloc-die-tests: avoid printing null pointer
56512         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
56513         shell script.
56514         * tests/test-xalloc-die.c (program_name): Declare.
56515         * tests/test-xalloc-die.sh (tmpfiles): New file.
56517         setenv, unsetenv: work around various bugs
56518         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
56519         (setenv) [HAVE_SETENV]: Work around bugs.
56520         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
56521         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
56522         for bugs.
56523         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
56524         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
56525         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
56526         * modules/stdlib (Makefile.am): Update substitutions.
56527         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
56528         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
56529         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
56530         * modules/setenv-tests: New test.
56531         * modules/unsetenv-tests: Likewise.
56532         * tests/test-setenv.c: New file.
56533         * tests/test-unsetenv.c: Likewise.
56535 2009-11-16  Jim Meyering  <meyering@redhat.com>
56537         version-etc: relax license to LGPLv3+
56538         * modules/version-etc (License): Relax license.
56540         better AC_REQUIRE expanded-before-required-warning avoidance
56541         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
56542         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
56543         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
56544         which is no longer needed.
56546 2009-11-16  Eric Blake  <ebb9@byu.net>
56548         test-freading: clean up temporary file
56549         * tests/test-freading.c (main): Remove file on success, and use
56550         ASSERT more liberally.
56551         Reported by Jim Meyering.
56553 2009-11-16  Jim Meyering  <meyering@redhat.com>
56555         avoid new AC_REQUIRE expanded-before-required warnings
56556         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
56557         merely using it.
56558         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
56559         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
56561 2009-11-15  Simon Josefsson  <simon@josefsson.org>
56563         * tests/test-xalloc-die.c: New file.
56564         * modules/xalloc-die-tests: New file.
56565         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
56566         XFAIL_TESTS so it can be appended by modules.
56568 2009-11-15  Simon Josefsson  <simon@josefsson.org>
56570         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
56571         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
56573 2009-11-14  Eric Blake  <ebb9@byu.net>
56575         fnmatch: avoid compiler warning
56576         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
56577         to silence compiler warning about mismatch signedness in ?:.
56578         Reported by Robert Millan.
56580         intprops: add double-inclusion guard
56581         * lib/intprops.h: Allow idempotent includes.
56582         Suggested by Bruce Korb.
56584         openat: detect Solaris fchownat bug
56585         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
56586         penalizing glibc chownat when only lchownat is broken.
56587         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
56588         trailing slash bugs.
56589         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
56590         * modules/openat-tests (Files): Include more files.
56591         (Depends-on): Add mgetgroups, sleep, stat-time.
56592         (configure.ac): Add additional checks.
56593         (Makefile.am): Build new test.
56594         * tests/test-fchownat.c: New file.
56596         lchown: detect Solaris and FreeBSD bug
56597         * lib/lchown.c (rpl_lchown): Work around bug.
56598         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
56599         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
56600         * modules/unistd (Makefile.am): Populate it.
56601         * lib/unistd.in.h (lchown): Update declaration.
56602         * doc/posix-functions/lchown.texi (lchown): Document the bug.
56603         * modules/lchown-tests: New file.
56604         * tests/test-lchown.h (test_lchown): Likewise.
56605         * tests/test-lchown.c (main): Likewise.
56607         chown: detect Solaris and FreeBSD bug
56608         * lib/chown.c (rpl_chown): Work around bug.
56609         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
56610         (gl_PREREQ_CHOWN): Delete.
56611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
56612         * modules/unistd (Makefile.am): Populate it.
56613         * lib/unistd.in.h (chown): Update declaration.
56614         * lib/lchown.c (chown): Update client.
56615         * modules/lchown (Depends-on): Add lstat.
56616         * doc/posix-functions/chown.texi (chown): Document the bug.
56617         * doc/posix-functions/getgroups.texi (getgroups): Document
56618         getgroups pitfall.
56619         * modules/chown-tests: New file.
56620         * tests/test-chown.h (test_chown): Likewise.
56621         * tests/test-chown.c (main): Likewise.
56623 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
56625         gnulib-tool: correctly detect absence of m4 directories
56626         * gnulib-tool: Avoid extra newline on data passed to wc -l.
56628 2009-11-14  Jim Meyering  <meyering@redhat.com>
56630         maint.mk: Prohibit inclusion of "xalloc.h" without use.
56631         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
56633 2009-11-14  John W. Eaton  <jwe@gnu.org>
56635         strftime.h: wrap function declaration in extern "C" block
56636         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
56638 2009-11-13  Eric Blake  <ebb9@byu.net>
56640         getgroups: avoid compiler warning
56641         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
56643         getgroups: work around FreeBSD bug
56644         * lib/getgroups.c (rpl_getgroups): Work around the bug.
56645         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
56646         * doc/posix-functions/getgroups.texi (getgroups): Document it.
56647         * tests/test-getgroups.c (main): Fix buffer overrun.
56649         getgroups: avoid compilation failure
56650         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
56651         * modules/getgroups (Depends-on): Add stdint.
56653 2009-11-13  Jim Meyering  <meyering@redhat.com>
56655         test-getgroups: avoid compilation failure
56656         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
56658 2009-11-13  Eric Blake  <ebb9@byu.net>
56660         mgetgroups: new module, taken from coreutils
56661         * modules/mgetgroups: New file.
56662         * lib/mgetgroups.h: Likewise.
56663         * lib/mgetgroups.c (mgetgroups): Likewise.
56664         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
56665         * MODULES.html.sh (Users and groups): Mention it.
56667         getgroups: don't expose GETGROUPS_T to user
56668         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
56669         an element at a time if GETGROUPS_T is wrong size.
56670         * lib/getugroups.h (getugroups): Change signature.
56671         * lib/unistd.in.h (getgroups): Likewise.
56672         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
56673         signature needs fixing.
56674         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
56675         AC_TYPE_GETGROUPS.
56676         * modules/group-member (Depends-on): Add getgroups.
56677         * lib/group-member.c (group_info, get_group_info): Use gid_t.
56678         (group_member): Rely on getgroups replacement.
56679         * lib/getugroups.c (getugroups): Use gid_t.
56680         * tests/test-getgroups.c (main): Likewise.
56681         * NEWS: Mention the signature change.
56682         * doc/posix-functions/getgroups.texi (getgroups): Mention the
56683         problem with signature.
56684         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
56685         GETGROUPS_T is still useful for setgroups.
56687         getgroups, getugroups: provide stubs for mingw
56688         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
56689         * lib/getugroups.c (getugroups): Likewise.
56690         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
56691         function.  Modernize replacement scheme.
56692         (gl_PREREQ_GETGROUPS): Delete.
56693         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
56694         * modules/getgroups (configure.ac): Declare witness.
56695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
56696         * modules/unistd (Depends-on): Substitute witness.
56697         * lib/unistd.in.h (getgroups): Declare replacement.
56699         getgroups: avoid calling exit
56700         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
56701         drop xalloc.
56702         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
56703         dependencies.
56704         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
56705         exiting, in the rare case of malloc failure.
56707         getgroups: fix logic error
56708         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
56709         has more than 20 groups.
56710         * modules/getgroups-tests: New test.
56711         * tests/test-getgroups.c: New file.
56713 2009-11-13  Simon Josefsson  <simon@josefsson.org>
56715         * tests/test-base64.c: Improve.
56717 2009-11-13  Simon Josefsson  <simon@josefsson.org>
56719         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
56720         Blake <ebb9@byu.net>.
56722 2009-11-13  Simon Josefsson  <simon@josefsson.org>
56724         * tests/test-xvasprintf.c: Add %s%s related checks.
56726 2009-11-12  Eric Blake  <ebb9@byu.net>
56728         version-etc: match standards.texi style
56729         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
56730         and use <> only for URLs.
56732 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
56734         fts: do not fail on a submount during traversal
56735         * lib/fts.c (fts_build): Read the stat info again after opening
56736         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
56737         Original report at http://bugzilla.redhat.com/501848.
56739 2009-11-12  Jim Meyering  <meyering@redhat.com>
56741         bootstrap: sync from coreutils
56742         * build-aux/bootstrap (bootstrap_epilogue): New function.
56743         Use git_modules_config in one more place.  This make bootstrap's
56744         --gnulib-srcdir option more useful for testing.
56746         bootstrap: generalize autoheader check
56747         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
56748         AC_CONFIG_HEADERS.
56750 2009-11-11  Eric Blake  <ebb9@byu.net>
56752         mkfifoat: use new modules for Solaris and BSD bugs
56753         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
56754         * lib/mkfifoat.c (mknodat): Split...
56755         * lib/mknodat.c (mknodat): ...into new file.
56756         * modules/mkfifoat (Files): Ship new file.
56757         (Depends-on): Add mkfifo, mknod.
56758         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
56759         (Depends-on): Add symlink.
56760         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
56761         redundant with test_mkfifo.h.
56762         (do_mkfifoat, do_mknodat): New helpers.
56764         mknod: new module
56765         * modules/mknod: New file.
56766         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
56767         * lib/mknod.c (mknod): Likewise.
56768         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
56769         defaults.
56770         * modules/sys_stat (Makefile.am): Substitute them.
56771         * lib/sys_stat.in.h (mknod): Declare replacement.
56772         * MODULES.html.sh (Support for systems lacking POSIX:2008):
56773         Document it.
56774         * doc/posix-functions/mknod.texi (mknod): Likewise.
56775         * modules/mknod-tests: New test.
56776         * tests/test-mknod.c: Likewise.
56778         mkfifo: new module
56779         * modules/mkfifo: New file.
56780         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
56781         * lib/mkfifo.c (mkfifo): Likewise.
56782         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
56783         defaults.
56784         * modules/sys_stat (Makefile.am): Substitute them.
56785         * lib/sys_stat.in.h (mkfifo): Declare replacement.
56786         * MODULES.html.sh (Support for systems lacking POSIX:2008):
56787         Document it.
56788         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
56789         * modules/mkfifo-tests: New test.
56790         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
56791         from test-mkfifoat.c.
56792         * tests/test-mkfifo.c: New file.
56794         readlink: detect FreeBSD bug
56795         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
56796         slash on symlink.
56797         * doc/posix-functions/readlink.texi (readlink): Document the bug.
56798         * tests/test-readlink.h (test_readlink): Enhance test.
56800         symlink: detect FreeBSD bug
56801         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
56802         slash on symlink.
56803         * doc/posix-functions/symlink.texi (symlink): Document the bug.
56804         * tests/test-symlink.h (test_symlink): Enhance test.
56806 2009-11-10  Eric Blake  <ebb9@byu.net>
56808         link: detect FreeBSD bug
56809         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
56810         symlink.
56811         * doc/posix-functions/link.texi (link): Document the bug.
56812         * tests/test-link.h (test_link): Enhance test.
56813         * tests/test-linkat.c (main): Update caller.
56815         unlink, remove: detect FreeBSD bug
56816         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
56817         slash on symlink.
56818         * doc/posix-functions/unlink.texi (unlink): Document the bug.
56819         * doc/posix-functions/remove.texi (remove): Likewise.
56820         * tests/test-unlink.h (test_unlink): Enhance test.
56821         * tests/test-remove.c (main): Likewise.
56823 2009-11-09  Eric Blake  <ebb9@byu.net>
56825         rename: detect FreeBSD bug
56826         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
56827         slash on symlink.
56828         * modules/renameat-tests (Depends-on): Add filenamecat.
56829         * tests/test-rename.h (test_rename): Allow one more errno.
56830         * tests/test-renameat.c (main): Likewise.
56831         * doc/posix-functions/rename.texi (rename): Document the bug.
56833         open: detect FreeBSD bug
56834         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
56835         symlink.
56836         * doc/posix-functions/open.texi (open): Document the bug.
56837         * doc/posix-functions/utimes.texi (utimes): Likewise.
56838         * tests/test-open.h (test_open): Add parameters, and test symlink
56839         handling.
56840         * tests/test-open.c (main): Adjust caller.
56841         * tests/test-fcntl-safer.c (main): Likewise.
56842         * modules/open-tests (Depends-on): Add stdbool, symlink.
56843         * modules/fcntl-safer-tests (Depends-on): Likewise.
56844         * tests/test-openat.c (main): Add test-open tests.
56846         stat: detect FreeBSD bug
56847         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
56848         symlink.
56849         * doc/posix-functions/stat.texi (stat): Document the bug.
56850         * tests/test-stat.h (test_stat_func): Add argument.
56851         * tests/test-stat.c (main): Adjust caller.
56852         * tests/test-fstatat.c (main): Likewise.
56853         * modules/stat-tests (Depends-on): Add stdbool, symlink.
56854         Reported by Jim Meyering.
56856 2009-11-09  James Youngman  <jay@gnu.org>
56858         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
56859         * lib/strftime.c: Correct placement of #include "ignore-value.h".
56861 2009-11-08  Jim Meyering  <meyering@redhat.com>
56863         utimens: remove invalid futimesat call
56864         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
56865         It used the file descriptor of the target file as the DIR_FD
56866         parameter and NULL as the file name.  That caused failure with
56867         errno == EFAULT on FreeBSD-8.0-rc2
56869 2009-11-07  Eric Blake  <ebb9@byu.net>
56871         fflush, freadseek: use fseeko, not fseek
56872         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
56873         (clear_ungetc_buffer): Avoid potential problems on large files.
56874         * lib/freadseek.c (freadseek): Likewise.
56875         * modules/freadseek (Depends-on): Add fseeko.
56876         * modules/fseek (configure.ac): Set a witness.
56877         * tests/test-fflush.c (main): Use fseeko.
56878         * tests/test-fpurge.c (fseek): Disable link warning.
56879         * tests/test-freadable.c (fseek): Likewise.
56880         * tests/test-freading.c (fseek): Likewise.
56881         * tests/test-fseeko.c (fseek): Likewise.
56882         * tests/test-ftell.c (fseek): Likewise.
56883         * tests/test-ftello.c (fseek): Likewise.
56884         * tests/test-fwritable.c (fseek): Likewise.
56885         * tests/test-fwriting.c (fseek): Likewise.
56887 2009-11-06  Simon Josefsson  <simon@josefsson.org>
56889         * modules/memchr (Depends-on): Drop getpagesize dependency.
56891 2009-11-06  Simon Josefsson  <simon@josefsson.org>
56893         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
56894         Reported by Ludovic Courtès.
56895         * build-aux/pmccabe2html: Improve example usage.
56896         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
56898 2009-11-06  Jim Meyering  <meyering@redhat.com>
56900         do-release-commit-and-tag: New module.
56901         Automate the release-commit and tag process.
56902         * build-aux/do-release-commit-and-tag: New script, from coreutils.
56903         * modules/do-release-commit-and-tag: New file.
56904         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56906 2009-11-06  Simon Josefsson  <simon@josefsson.org>
56908         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
56909         because test-select.c uses inet_pton.
56911 2009-11-06  Simon Josefsson  <simon@josefsson.org>
56913         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
56914         GETADDRINFO_LIB.  Bump serial number.
56915         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
56916         Suggested by Eric Blake <ebb9@byu.net>.
56918 2009-11-05  Eric Blake  <ebb9@byu.net>
56920         strtod: detect darwin bug
56921         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
56922         Reported by Leo Davis.
56924         freopen-safer: new module
56925         * modules/freopen-safer: New module.
56926         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
56927         * lib/freopen-safer.c (freopen_safer): New file.
56928         * lib/stdio-safer.h (freopen_safer): New declaration.
56929         * lib/stdio--.h (freopen): New override.
56930         * MODULES.html.sh (File stream based Input/Output): Mention it.
56931         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
56932         freopen-safer module.
56933         * doc/posix-functions/stderr.texi (stderr): Likewise.
56934         * doc/posix-functions/stdin.texi (stdin): Likewise.
56935         * doc/posix-functions/stdout.texi (stdout): Likewise.
56936         * modules/freopen-safer-tests: New test.
56937         * tests/test-reopen-safer.c: New file.
56939 2009-11-05  Jim Meyering  <meyering@redhat.com>
56941         maint.mk: Prohibit inclusion of "close-stream.h" without use.
56942         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
56944 2009-11-05  Simon Josefsson  <simon@josefsson.org>
56946         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
56948 2009-11-05  Simon Josefsson  <simon@josefsson.org>
56950         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
56952 2009-11-05  Simon Josefsson  <simon@josefsson.org>
56954         Fix link error.
56955         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
56956         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56958 2009-11-05  Simon Josefsson  <simon@josefsson.org>
56960         * tests/test-func.c: Also test value of __func__.
56962 2009-11-05  Simon Josefsson  <simon@josefsson.org>
56964         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
56965         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
56967 2009-11-05  Bruno Haible  <bruno@clisp.org>
56969         Fix link error.
56970         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
56971         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56972         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
56974 2009-11-05  Bruno Haible  <bruno@clisp.org>
56976         Tests for module 'inet_pton'.
56977         * modules/inet_pton-tests: New file.
56978         * tests/test-inet_pton.c: New file.
56980 2009-11-05  Bruno Haible  <bruno@clisp.org>
56982         Tests for module 'inet_ntop'.
56983         * modules/inet_ntop-tests: New file.
56984         * tests/test-inet_ntop.c: New file.
56986 2009-11-04  Eric Blake  <ebb9@byu.net>
56988         stdlib-safer: wrap all mkstemp variants
56989         * modules/mkostemp (configure.ac): Set witness.
56990         * modules/mkostemps (configure.ac): Likewise.
56991         * modules/mkstemps (configure.ac): Likewise.
56992         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
56993         (mkstemps_safer): Wrap more functions.
56994         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
56995         wrapping.
56996         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
56997         (mkstemps_safer): Implement the wrappers.
56999         mkstemps, mkostemps: new modules
57000         * modules/mkostemps: New module.
57001         * modules/mkstemps: Likewise.
57002         * lib/mkostemps.c (mkostemps): New file.
57003         * lib/mkstemps.c (mkstemps): Likewise.
57004         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
57005         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
57006         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
57007         * modules/stdlib (Makefile.am): Substitute them.
57008         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
57009         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
57010         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
57011         * doc/gnulib.texi (Glibc stdlib.h): Include them.
57012         * MODULES.html.sh (File system functions): Mention them.
57014         tempname: resync from glibc
57015         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
57016         same values for __GT_FILE as glibc.  Abort even when assertions
57017         are disabled.
57018         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
57019         match its value otherwise.  Allow idempotent inclusion.
57020         * lib/mkdtemp.c (mkdtemp): Adjust caller.
57021         * lib/mkostemp.c (mkostemp): Likewise.
57022         * lib/mkstemp.c (mkstemp): Likewise.
57023         * lib/tmpfile.c (tmpfile): Likewise.
57024         * NEWS: Document this.
57026         utimens: fix use of futimens on older Linux
57027         * lib/utimens.c (fdutimens): Use updated, rather than original,
57028         timespec to avoid bug in older Linux kernel.
57029         Reported by Simon Josefsson.
57031 2009-11-04  Bruno Haible  <bruno@clisp.org>
57033         Make num_processors more flexible and consistent.
57034         * lib/nproc.h (enum nproc_query): New type.
57035         (num_processors): Add a 'query' argument.
57036         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
57037         (num_processors): Add a 'query' argument. Test the value of the
57038         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
57039         mingw, count the number of CPUs available for the current process.
57040         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
57041         Check for sched_getaffinity and sched_getaffinity_np.
57042         * modules/nproc (Depends-on): Add c-ctype, extensions.
57043         * NEWS: Mention the change.
57045 2009-11-03  Bruno Haible  <bruno@clisp.org>
57047         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
57049 2009-11-03  Jim Meyering  <meyering@redhat.com>
57051         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
57052         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
57053         if it is defined.
57055 2009-11-02  Eric Blake  <ebb9@byu.net>
57057         mktime, timegm: share common declaration
57058         * lib/mktime-internal.h: New file.
57059         * lib/mktime.c: Use it rather than open-coding a declaration.
57060         * lib/timegm.c: Likewise.
57061         * modules/mktime (Files): Ship it.
57062         * modules/timegm (Files): Likewise.
57063         Suggested by Bruno Haible.
57065         test-update-copyright: update test to match script changes
57066         * tests/test-update-copyright.sh: Avoid hard-coding perl
57067         location.  Don't update *.bak created by earlier runs.
57069 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
57070             Simon Josefsson  <simon@josefsson.org>
57071             Bruno Haible  <bruno@clisp.org>
57073         Fix link error on Solaris 8.
57074         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
57075         also in libnsl. Define also INET_PTON_LIB.
57076         * modules/inet_pton (Link): New section.
57078 2009-11-02  Simon Josefsson  <simon@josefsson.org>
57079             Bruno Haible  <bruno@clisp.org>
57081         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
57082         * modules/inet_ntop (Link): New section.
57083         Reported by Boyan Kasarov <bkasarov@gmail.com>.
57085 2009-11-02  Eric Blake  <ebb9@byu.net>
57087         maint: avoid compiler warnings in m4 macros
57088         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
57089         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
57091 2009-11-02  Simon Josefsson  <simon@josefsson.org>
57093         * m4/pmccabe2html.m4: Remove file.
57094         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
57095         function.  Change maintainer.
57096         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
57097         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
57098         Courtès).
57100 2009-10-31  Eric Blake  <ebb9@byu.net>
57102         fseeko: fix m4 regression
57103         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
57104         regression from 2009-10-27.
57105         Reported by Ralf Wildenhues.
57107 2009-10-31  Jim Meyering  <meyering@redhat.com>
57109         inttostr: aesthetics and improved (compile-time) safety
57110         Define inttype_is_signed rather than inttype_is_unsigned,
57111         since the sole use is via "#if inttype_is_signed".
57112         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
57113         inttype_is_unsigned.
57114         * lib/offtostr.c (inttype_is_signed): Likewise.
57115         * lib/uinttostr.c (inttype_is_signed): Likewise.
57116         * lib/umaxtostr.c (inttype_is_signed): Likewise.
57117         * lib/inttostr.c (inttostr): Use verify to cross-check the
57118         inttype_is_signed value and the signedness of the actual type.
57119         * modules/inttostr (Depends-on): Add verify.
57121 2009-10-30  Eric Blake  <ebb9@byu.net>
57123         build: avoid compiler warnings
57124         * lib/fchmodat.c (lchmod): Mark unused variables.
57125         * lib/getopt.c (_getopt_initialize): Likewise.
57126         * lib/mktime.c (__mktime_internal): Provide prototype.
57127         * lib/inttostr.c (inttostr): Avoid compiler warning even with
57128         older gcc that do not understand #pragma GCC diagnostic.
57129         * lib/uinttostr.c (inttype_is_unsigned): Define.
57130         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
57132 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
57134         stat: fix compilation on AIX
57135         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
57136         only see struct stat64.
57138 2009-10-30  Eric Blake  <ebb9@byu.net>
57140         exclude: make more robust
57141         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
57142         rather than masking a coding bug.
57143         Suggested by Bruno Haible.
57145 2009-10-30  Jim Meyering  <meyering@redhat.com>
57147         perl scripts: remove #!/usr/bin/perl in favor of more portable...
57148         Rather than putting #!/usr/bin/perl on the first line,
57149         start with a variant of what's recommended by "man perlrun" that
57150         invokes the first "perl" program from your shell's search path.
57151         * build-aux/gitlog-to-changelog: Replace #!... as above.
57152         Add a "Local Variables" perl mode setting.
57153         Prompted by a patch from Ludovic Courtès.
57154         Improved by Eric Blake.
57155         * build-aux/useless-if-before-free: Likewise.
57156         * build-aux/announce-gen: Likewise.
57157         * build-aux/update-copyright: Likewise.
57159 2009-10-29  Eric Blake  <ebb9@byu.net>
57161         filenamecat-lgpl: adjust clients
57162         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
57163         filenamecat.
57164         * modules/renameat (Depends-on): Likewise.
57166         filenamecat: split into filenamecat-lgpl
57167         * modules/filenamecat-lgpl: New module.
57168         * modules/filenamecat (Files): Move library-safe files into
57169         filenamecat-lgpl.
57170         (Depends-on): Add filenamecat-lgpl.
57171         (configure.ac): Declare witness.
57172         * lib/filenamecat.h (file_name_concat): Only declare when using
57173         GPL module.
57174         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
57175         Move...
57176         * lib/filenamecat-lgpl.c: ...into new file.
57177         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
57178         (gl_FILE_NAME_CONCAT): Use it.
57179         * MODULES.html.sh (File system functions): Mention new module.
57181         argp: avoid memory leak
57182         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
57183         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
57184         base_name, since the latter malloc()s and can call exit().
57185         Leak introduced 2006-07-03.
57187         dirname-lgpl: adjust clients that don't need full dirname
57188         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
57189         * modules/filenamecat (Depends-on): Likewise.
57190         * modules/linkat (Depends-on): Likewise.
57191         * modules/mkancesdirs (Depends-on): Likewise.
57192         * modules/mkdir (Depends-on): Likewise.
57193         * modules/openat (Depends-on): Likewise.
57194         * modules/savewd (Depends-on): Likewise.
57195         * modules/rename (Depends-on): Likewise.
57196         (License): Relax license.
57197         * modules/mkdir-tests (Depends-on): Drop progname.
57198         (Makefile.am): Delete unneeded LDADD.
57199         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
57201         dirname: split into dirname-lgpl
57202         * modules/dirname-lgpl: New module.
57203         * modules/dirname (Files): Move library-safe files into
57204         dirname-lgpl.
57205         (Depends-on): Add dirname-lgpl.
57206         (configure.ac): Declare witness.
57207         * modules/double-slash-root (License): Relax license.
57208         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
57209         module.
57210         * lib/dirname.c (dir_len, mdir_name): Move...
57211         * lib/dirname-lgpl.c: ...into new file.
57212         * lib/basename.c (last_component, base_len): Move...
57213         * lib/basename-lgpl.c: ...into new file.
57214         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
57215         (gl_DIRNAME): Use it.
57216         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
57217         Mention new module.
57218         * modules/dirname-tests (Depends-on): Add progname.
57219         * tests/test-dirname.c (program_name): Delete.
57221         mkdir: make safe for libraries
57222         * modules/mkdir (Depends-on): Drop xalloc.
57223         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
57224         exit.
57226         tests: avoid some compiler warnings
57227         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
57228         literals.
57229         * tests/test-memchr.c (main): Avoid type mismatch.
57230         * tests/test-arpa_inet.c (main): Avoid unused parameters.
57231         * tests/test-base64.c (main): Likewise.
57232         * tests/test-getdelim.c (main): Likewise.
57233         * tests/test-gethostname.c (main): Likewise.
57234         * tests/test-getline.c (main): Likewise.
57235         * tests/test-netinet_in.c (main): Likewise.
57236         * tests/test-select.c (open_server_socket, main): Likewise.
57237         * tests/test-select-stdin.c (main): Likewise.
57238         * tests/test-sockets.c (main): Likewise.
57239         * tests/test-strsignal.c (main): Likewise.
57240         * tests/test-sys_select.c (main): Likewise.
57241         * tests/test-sys_socket.c (main): Likewise.
57242         * tests/test-u64.c (main): Likewise.
57243         * tests/test-xfprintf-posix.c (main): Likewise.
57244         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
57246         sockets: avoid compiler warning
57247         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
57249         maint: detect usage(1) and other suspicious exits
57250         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
57252 2009-10-29  Jim Meyering  <meyering@redhat.com>
57254         timespec: long-to-int truncation could make timespec_cmp malfunction
57255         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
57256         a multiple of 2^32 nanoseconds as no difference.
57258 2009-10-28  Jim Meyering  <meyering@redhat.com>
57260         fprintftime: wrap macro code argument in "do {...} while(0)"
57261         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
57262         cpy macro must be a statement that can be followed by a semicolon.
57263         Now that the else clause contains a comment and is hence longer
57264         than one line, I require curly braces.  That in turn requires
57265         that we wrap this code block in the standard do...while(0).
57267         fprintftime: remove stray semicolon from previous change
57268         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
57270         fprintftime: avoid a warning about ignored fwrite return value
57271         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
57272         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
57273         that is unsafe.
57274         * modules/fprintftime (Depends-on): Add ignore-value.
57276         exclude: avoid an unwarranted warning
57277         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
57279 2009-10-27  Eric Blake  <ebb9@byu.net>
57281         fseek: avoid compilation failure when fflush is replaced
57282         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
57283         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
57284         module is in use.
57285         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
57286         module is not in use; since REPLACE_FSEEK worked otherwise.
57287         (GNULIB_FTELLO): Likewise for ftell.
57288         Reported by Ian Beckwith and others.
57290 2009-10-27  Bruno Haible  <bruno@clisp.org>
57292         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
57293         Reported by Jim Meyering.
57295 2009-10-27  Jim Meyering  <jim@meyering.net>
57296             Bruno Haible  <bruno@clisp.org>
57298         Avoid warning despite dropping the return value of fwrite.
57299         * lib/unicodeio.c: Include ignore-value.h.
57300         (fwrite_success_callback): Explicitly ignore fwrite's return value.
57301         * modules/unicodeio (Depends-on): Add ignore-value.
57303 2009-10-26  Eric Blake  <ebb9@byu.net>
57305         areadlinkat: fix fallback path
57306         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
57307         pointer and zero.
57309 2009-10-22  Pádraig Brady  <P@draigBrady.com>
57311         Use a better IO block size for modern systems
57312         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
57313         * lib/md2.c: Likewise.
57314         * lib/md4.c: Likewise.
57315         * lib/md5.c: Likewise.
57316         * lib/sha1.c: Likewise.
57317         * lib/sha256.c: Likewise.
57318         * lib/sha512.c: Likewise.
57320 2009-10-22  Eric Blake  <ebb9@byu.net>
57322         tests: avoid several compiler warnings
57323         * tests/test-getcwd.c (main): Avoid buffer underflow.
57324         * tests/test-getdate.c (main): String literals are not safe with
57325         putenv, so use setenv.  Declare unused argument.
57326         * modules/getdate-tests (Depends-on): Add setenv.
57327         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
57328         problems with string literals in char *.
57329         * tests/test-hash.c (main): Avoid shadowing declaration.
57330         (insert_new): Treat string literals as char const *.
57331         * tests/test-getopt.h (test_getopt): Likewise.
57332         (getopt_loop): Alter types to minimize casting elsewhere.
57333         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
57334         (test_getopt_long_posix): Likewise.
57335         (do_getopt_long): Add wrapper to minimize casting.
57336         * tests/test-atexit.c (clear_temp_file): Use void.
57337         * tests/test-areadlink-with-size.c (main): Declare unused
57338         arguments.
57339         * tests/test-areadlink.c (main): Likewise.
57340         * tests/test-areadlinkat-with-size.c (main): Likewise.
57341         * tests/test-areadlinkat.c (main): Likewise.
57342         * tests/test-canonicalize-lgpl.c (main): Likewise.
57343         * tests/test-canonicalize.c (main): Likewise.
57344         * tests/test-dirent-safer.c (main): Likewise.
57345         * tests/test-dirname.c (main): Likewise.
57346         * tests/test-dup2.c (main): Likewise.
57347         * tests/test-fchdir.c (main): Likewise.
57348         * tests/test-fcntl-h.c (main): Likewise.
57349         * tests/test-fcntl-safer.c (main): Likewise.
57350         * tests/test-fdopendir.c (main): Likewise.
57351         * tests/test-fdutimensat.c (main): Likewise.
57352         * tests/test-fflush.c (main): Likewise.
57353         * tests/test-filenamecat.c (main): Likewise.
57354         * tests/test-filevercmp.c (main): Likewise.
57355         * tests/test-fopen-safer.c (main): Likewise.
57356         * tests/test-fopen.c (main): Likewise.
57357         * tests/test-fpending.c (main): Likewise.
57358         * tests/test-fpurge.c (main): Likewise.
57359         * tests/test-freading.c (main): Likewise.
57360         * tests/test-fstatat.c (main): Likewise.
57361         * tests/test-fsync.c (main): Likewise.
57362         * tests/test-futimens.c (main): Likewise.
57363         * tests/test-getndelim2.c (main): Likewise.
57364         * tests/test-gettimeofday.c (main): Likewise.
57365         * tests/test-getopt.c (main): Likewise.
57366         * tests/test-i-ring.c (main): Likewise.
57367         * tests/test-inttypes.c (main): Likewise.
57368         * tests/test-link.c (main): Likewise.
57369         * tests/test-lstat.c (main): Likewise.
57370         * tests/test-math.c (main): Likewise.
57371         * tests/test-md5.c (main): Likewise.
57372         * tests/test-memchr2.c (main): Likewise.
57373         * tests/test-memrchr.c (main): Likewise.
57374         * tests/test-mkdir.c (main): Likewise.
57375         * tests/test-mkdirat.c (main): Likewise.
57376         * tests/test-mkfifoat.c (main): Likewise.
57377         * tests/test-open.c (main): Likewise.
57378         * tests/test-openat-safer.c (main): Likewise.
57379         * tests/test-openat.c (main): Likewise.
57380         * tests/test-quotearg.c (main): Likewise.
57381         * tests/test-rawmemchr.c (main): Likewise.
57382         * tests/test-readlink.c (main): Likewise.
57383         * tests/test-remove.c (main): Likewise.
57384         * tests/test-rename.c (main): Likewise.
57385         * tests/test-renameat.c (main): Likewise.
57386         * tests/test-rmdir.c (main): Likewise.
57387         * tests/test-sha1.c (main): Likewise.
57388         * tests/test-signal.c (main): Likewise.
57389         * tests/test-sigaction.c (main): Likewise.
57390         * tests/test-stat.c (main): Likewise.
57391         * tests/test-stat-time.c (main): Likewise.
57392         * tests/test-stddef.c (main): Likewise.
57393         * tests/test-stdint.c (main): Likewise.
57394         * tests/test-stdio.c (main): Likewise.
57395         * tests/test-stdlib.c (main): Likewise.
57396         * tests/test-strchrnul.c (main): Likewise.
57397         * tests/test-strerror.c (main): Likewise.
57398         * tests/test-string.c (main): Likewise.
57399         * tests/test-strtod.c (main): Likewise.
57400         * tests/test-strverscmp.c (main): Likewise.
57401         * tests/test-symlink.c (main): Likewise.
57402         * tests/test-symlinkat.c (main): Likewise.
57403         * tests/test-sys_stat.c (main): Likewise.
57404         * tests/test-sys_time.c (main): Likewise.
57405         * tests/test-time.c (main): Likewise.
57406         * tests/test-unistd.c (main): Likewise.
57407         * tests/test-unlink.c (main): Likewise.
57408         * tests/test-unlinkat.c (main): Likewise.
57409         * tests/test-utimens.c (main): Likewise.
57410         * tests/test-utimensat.c (main): Likewise.
57411         * tests/test-version-etc.c (main): Likewise.
57412         * tests/test-wchar.c (main): Likewise.
57413         * tests/test-wctype.c (main): Likewise.
57414         * tests/test-xprintf-posix.c (main): Likewise.
57415         * tests/test-posixtm.c (main): Likewise.
57416         (STREQ): Delete unused macro.
57417         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
57418         shadowed variables.
57419         * tests/test-memchr.c (main): Likewise.
57421 2009-10-21  Eric Blake  <ebb9@byu.net>
57423         areadlinkat: avoid failure on older glibc
57424         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
57425         rather than mis-comparing 0 against FUNC_RESULT of char*.
57427 2009-10-21  Bruno Haible  <bruno@clisp.org>
57429         * modules/stpncpy (License): Relicense under LGPLv2+.
57430         Reported by David Lutterkort <lutter@redhat.com>.
57432 2009-10-20  Eric Blake  <ebb9@byu.net>
57434         utimensat: work around Solaris 9 bug
57435         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
57436         has trailing slash bugs.
57437         * tests/test-lutimens.h (test_lutimens): Enhance test.
57438         * tests/test-utimens.h (test_utimens): Likewise.
57439         * doc/posix-functions/utime.texi (utime): Enhance documentation.
57440         * doc/posix-functions/utimes.texi (utimes): Likewise.
57441         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
57442         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
57443         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
57444         * doc/posix-functions/futimens.texi (futimens): Likewise.
57446         fdutimensat: new module
57447         * modules/fdutimensat: New file.
57448         * lib/fdutimensat.c (fdutimensat): Likewise.
57449         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
57450         * MODULES.html.sh (File system functions): Mention module.
57451         * modules/fdutimensat-tests: New test.
57452         * tests/test-fdutimensat.c: Likewise.
57454         doc: regenerate INSTALL
57455         * doc/INSTALL: Reflect recent autoconf update.
57456         * doc/INSTALL.ISO: Likewise.
57457         * doc/INSTALL.UTF-8: Likewise.
57459 2009-10-20  Pádraig Brady  <P@draigBrady.com>
57461         acl: warn if ACL support is not detected
57462         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
57464 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
57466         * lib/nproc.h: Add extern "C" block for C++.
57468 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
57469             Bruno Haible  <bruno@clisp.org>
57471         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
57472         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
57473         * doc/posix-functions/isalpha.texi: Likewise.
57474         * doc/posix-functions/isblank.texi: Likewise.
57475         * doc/posix-functions/iscntrl.texi: Likewise.
57476         * doc/posix-functions/isdigit.texi: Likewise.
57477         * doc/posix-functions/isgraph.texi: Likewise.
57478         * doc/posix-functions/islower.texi: Likewise.
57479         * doc/posix-functions/isprint.texi: Likewise.
57480         * doc/posix-functions/ispunct.texi: Likewise.
57481         * doc/posix-functions/isspace.texi: Likewise.
57482         * doc/posix-functions/isupper.texi: Likewise.
57483         * doc/posix-functions/isxdigit.texi: Likewise.
57485 2009-10-18  Bruno Haible  <bruno@clisp.org>
57487         Tests for module 'isblank'.
57488         * modules/isblank-tests: New file.
57489         * tests/test-isblank.c: New file.
57491         New module 'isblank'.
57492         * lib/isblank.c: New file.
57493         * m4/isblank.m4: New file.
57494         * modules/isblank: New file.
57495         * doc/posix-functions/isblank.texi: Mention the new module.
57497 2009-10-18  Bruno Haible  <bruno@clisp.org>
57499         New module 'ctype'.
57500         * lib/ctype.in.h: New file.
57501         * m4/ctype.m4: New file.
57502         * modules/ctype: New file.
57503         * doc/posix-headers/ctype.texi: Mention the new module.
57505 2009-10-18  Jim Meyering  <meyering@redhat.com>
57507         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
57508         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
57509         right after its initialization, rather than farther down.
57510         Keeping these in close proximity makes it easier to ensure
57511         that each such variable is initialized.  E.g.,
57513             LIB_CLOCK_GETTIME=
57514             AC_SUBST([LIB_CLOCK_GETTIME])
57516         This change also increments these serial numbers.
57517         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
57518         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
57519         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57521 2009-10-18  Bruno Haible  <bruno@clisp.org>
57523         Don't let environment variables perturb build.
57524         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
57525         (gl_PREREQ_GETHRXTIME): ... not here.
57527 2009-10-18  Bruno Haible  <bruno@clisp.org>
57529         Avoid symlink attack in localcharset module.
57530         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
57531         (O_NOFOLLOW): Define fallback.
57532         (get_charset_aliases): Don't open the file if it is a symbolic link.
57533         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
57534         gl_FCNTL_H.
57535         (gl_FCNTL_H): Require it.
57536         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
57537         * modules/localcharset (Files): Add m4/fcntl_h.m4.
57538         Reported by Fergal Glynn <fglynn@veracode.com>.
57540 2009-10-18  Bruno Haible  <bruno@clisp.org>
57542         Implement nproc for mingw.
57543         * lib/nproc.c: Include <windows.h>
57544         (num_processors): On native Windows platforms, try GetSystemInfo.
57546 2009-10-18  Bruno Haible  <bruno@clisp.org>
57548         Implement nproc for IRIX.
57549         * lib/nproc.c: Include <sys/sysmp.h>.
57550         (num_processors): On IRIX systems, try sysmp.
57551         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
57553 2009-10-18  Bruno Haible  <bruno@clisp.org>
57555         Implement nproc for HP-UX.
57556         * lib/nproc.c: Include <sys/pstat.h>
57557         (num_processors): On HP-UX systems, try pstat_getdynamic.
57558         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
57559         pstat_getdynamic.
57561 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
57562             Bruno Haible  <bruno@clisp.org>
57564         Implement nproc for NetBSD, OpenBSD.
57565         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
57566         (ARRAY_SIZE): New macro.
57567         (num_processors): On BSD systems, try sysctl of HW_NCPU.
57568         * m4/nproc.m4: New file.
57569         * modules/nproc (Files): Add m4/nproc.m4.
57570         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
57571         (Makefile.am): Instead, augment lib_SOURCES.
57573 2009-10-18  Bruno Haible  <bruno@clisp.org>
57575         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
57576         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
57577         sys/param.h.
57579 2009-10-16  Eric Blake  <ebb9@byu.net>
57581         utimensat: new module
57582         * modules/utimensat: New file.
57583         * lib/utimensat.c (utimensat): Likewise.
57584         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
57585         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
57586         so we can work around Linux bugs.
57587         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
57588         * modules/sys_stat (Makefile.am): Substitute them.
57589         * lib/sys_stat.in.h (utimensat): Declare it.
57590         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
57591         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
57592         * modules/utimensat-tests: New test.
57593         * tests/test-utimensat.c: Likewise.
57595         utimens: let lutimens work on non-symlinks
57596         * lib/utimens.c (lutimens): Fall back to utimens rather than
57597         failing with ENOSYS, when file is not a symlink.
57598         (utimens): Reduce redirection.
57599         * tests/test-lutimens.h (test_lutimens): Update test to cover
57600         non-symlinks.
57601         * tests/test-utimens.h (test_utimens): Update test to cover
57602         symlinks.
57603         * tests/test-utimens.c (main): Update caller.
57605         utimens: cache whether utimensat syscall works
57606         * lib/utimens.c (utimensat_works_really): New cache variable.
57607         (fdutimens, lutimens): Use it to avoid failing syscall.
57609         test-stat-time, test-utimens: improve portability
57610         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
57611         ext4 on alpha, and for cygwin.
57612         * tests/test-utimens-common.h: New file.
57613         (nap): Factor delays into single function.
57614         * tests/test-lutimens.h (test_lutimens): Use new header.
57615         * tests/test-futimens.h (test_futimens): Likewise.
57616         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
57617         timestamps to occur from same machine, as was done previously for
57618         test_utimens.
57619         * modules/utimens-tests (Files): Ship new file.
57620         * modules/futimens-tests (Files): Likewise.
57621         Reported in part by Jim Meyering.
57623         sys_stat: sort replacement declarations
57624         * lib/sys_stat.in.h: Sort declarations.
57625         * lib/futimens.c (futimens): Fix typo.
57627 2009-10-15  Jim Meyering  <meyering@redhat.com>
57629         don't let environment settings perturb build
57630         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
57631         could cause a configure-time and/or build-time malfunction.
57632         Typically, a configure-time function-in-library test is performed
57633         via code like this:
57635           LIB_VAR=
57636           AC_SUBST([LIB_VAR])
57637           prefix_saved_LIBS=$LIBS
57638             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
57639                        [test "$ac_cv_search_FUNC" = "none required" ||
57640                         LIB_VAR=$ac_cv_search_FUNC])
57641           LIBS=$prefix_saved_LIBS
57643         However, in each of the files affected by this change, the LIB_VAR=
57644         initialization was omitted.  Thus, when set in the environment, its
57645         value would propagate into generated Makefiles when FUNC is not found
57646         in LIB_NAME.
57647         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
57648         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
57649         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
57651 2009-10-14  Eric Blake  <ebb9@byu.net>
57653         fchdir: avoid infinite recursion in mingw
57654         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
57655         recursing.
57657         test-stat-time: port to mingw
57658         * tests/test-stat-time.c (force_unlink): Return a value.
57659         (test_ctime) [W32]: Fix compilation error.
57660         (nap): Don't call usleep with too large an argument.  Use
57661         force_unlink.
57662         * doc/pastposix-functions/usleep.texi (usleep): Document the
57663         portability issue.
57665 2009-10-13  Jim Meyering  <meyering@redhat.com>
57667         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
57668         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
57669         * modules/pipe-filter-ii: Likewise.
57670         * modules/sys_socket-tests: Likewise.
57671         * modules/tsearch-tests: Likewise.
57672         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
57673         (check): Depend on it.
57675 2009-10-12  Eric Blake  <ebb9@byu.net>
57677         utimens-tests: port to NFS file systems
57678         * tests/test-utimens.h (test_utimens): Refactor utimecmp
57679         comparisons to avoid spurious failures from timestamp drift
57680         between NFS machines.
57682 2009-10-12  Eric Blake  <ebb9@byu.net>
57684         stat-time-tests: minor cleanups
57685         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
57686         * tests/test-stat-time.c (nap): Separate assignment from call.
57687         Suggested by Paolo Bonzini and Bruno Haible.
57689         sys_stat: guarantee struct timespec
57690         * lib/sys_stat.in.h (includes): Always include <time.h>
57691         * modules/sys_stat (Depends-on): Add time.
57692         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
57693         mode_t permission values.
57694         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
57695         get at subsecond timestamps.
57697 2009-10-10  Eric Blake  <ebb9@byu.net>
57699         futimens: new module
57700         * modules/futimens: New file.
57701         * lib/futimens.c (futimens): Likewise.
57702         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
57703         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
57704         we can work around Linux bugs.
57705         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
57706         * modules/sys_stat (Makefile.am): Substitute them.
57707         * lib/sys_stat.in.h (futimens): Declare it.
57708         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
57709         * doc/posix-functions/futimens.texi (futimens): Likewise.
57710         * modules/futimens-tests: New test.
57711         * tests/test-futimens.c: Likewise.
57713         utimens: introduce fdutimens
57714         * lib/utimens.h (fdutimens): New prototype.
57715         * lib/utimens.c (gl_futimens): Move guts...
57716         (fdutimens): ...to new interface.
57717         * tests/test-utimens.c (do_fdutimens): Use it.
57719         utimens: add UTIME_NOW and UTIME_OMIT support
57720         * lib/utimens.c (validate_timespec, update_timespec): New helper
57721         functions.
57722         (gl_futimens, lutimens): Use them.
57723         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
57724         stdbool, sys_stat.
57725         (Link): Mention resulting library dependency.
57726         * modules/utimecmp (Link): Likewise.
57727         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
57728         (Makefile.am): Pick up library dependency.
57729         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
57730         definition.
57731         * tests/test-sys_stat.c: Test the definitions.
57732         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
57733         * NEWS: Document library dependency.
57735         utimecmp: support symlink timestamps
57736         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
57737         hashing when possible.  Use pathconf when available.
57738         (SYSCALL_RESOLUTION): Recognize tighter resolution.
57739         * modules/utimecmp (Depends-on): Add lstat.
57741         utimens: add lutimens interface
57742         * lib/utimens.c (lutimens): New function.
57743         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
57744         * lib/utimens.h (lutimens): Declare new interface.
57745         * tests/test-utimens.c (main): Enhance test.
57746         * tests/test-lutimens.h (test_lutimens): New file.
57747         * modules/utimens-tests (Files): Distribute it.
57748         (Depends-on): Add symlink.
57749         (configure.ac): Check for usleep.
57751         utimens: validate futimens usage
57752         * lib/utimens.c (gl_futimens): Require valid fd up front, using
57753         fewer syscalls on failure later on.  Avoid compiler warning on
57754         mingw.
57755         * modules/utimens (Depends-on): Add dup2.
57757         utimens: add test
57758         * modules/utimens-tests: New test.
57759         * tests/test-utimens.h: New file.
57760         * tests/test-futimens.h: Likewise.
57761         * tests/test-utimens.c: Likewise.
57763         doc: mention timestamp portability issues
57764         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
57765         instead.
57766         * doc/posix-functions/utime.texi (utime): Likewise.
57767         * doc/posix-functions/utimes.texi (utimes): Likewise.
57768         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
57769         instead.
57770         * doc/posix-functions/futimens.texi (futimens): Mention utimens
57771         module.
57772         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
57773         Mention weakness with symlink timestamps.
57774         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
57775         to utimensat/futimens instead.
57776         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
57778         test-dup2: enhance test
57779         * tests/test-dup2.c (main): Also check AT_FDCWD.
57781         test-stat-time: avoid more spurious failures
57782         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
57783         xfs; and avoid race if the two timestamps cross quantization edge.
57785         relocatable: prefer 'file system' over 'filesystem'
57786         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
57787         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
57788         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
57789         * doc/relocatable.texi (Enabling Relocatability): Likewise.
57790         * lib/relocatable.c (compute_curr_prefix): Likewise.
57792 2009-10-10  Jim Meyering  <meyering@redhat.com>
57794         stat-time-tests: check for the usleep function
57795         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
57797 2009-10-10  Bruno Haible  <bruno@clisp.org>
57799         * modules/xnanosleep: Put the Link section after the Include section.
57801 2009-10-09  Eric Blake  <ebb9@byu.net>
57803         dup2: work around FreeBSD 6.1 bug
57804         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
57805         * doc/posix-functions/dup2.texi (dup2): Document it.
57806         Reported by Nelson H. F. Beebe and Jim Meyering.
57808         test-stat-time: port to buggy NFS clients
57809         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
57810         (test_ctime): Also skip test if mtime and ctime are skewed.
57812         maint: prefer 'file system' over 'filesystem'
57813         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
57814         * doc/posix-functions/lstat.texi (lstat): Likewise.
57815         * lib/file-has-acl.c (file_has_acl): Likewise.
57816         * lib/fwriteerror.c [TEST]: Likewise.
57817         * tests/test-areadlink.h (test_areadlink): Likewise.
57818         * tests/test-areadlinkat-with-size.c (main): Likewise.
57819         * tests/test-areadlinkat.c (main): Likewise.
57820         * tests/test-canonicalize-lgpl.c (main): Likewise.
57821         * tests/test-canonicalize.c (main): Likewise.
57822         * tests/test-fstatat.c (main): Likewise.
57823         * tests/test-linkat.c (main): Likewise.
57824         * tests/test-lstat.h (test_lstat_func): Likewise.
57825         * tests/test-mkdir.h (test_mkdir): Likewise.
57826         * tests/test-readlink.h (test_readlink): Likewise.
57827         * tests/test-remove.c (main): Likewise.
57828         * tests/test-rename.h (test_rename): Likewise.
57829         * tests/test-renameat.c (main): Likewise.
57830         * tests/test-rmdir.h (test_rmdir_func): Likewise.
57831         * tests/test-symlink.h (test_symlink): Likewise.
57832         * tests/test-symlinkat.c (main): Likewise.
57833         * tests/test-unlink.h (test_unlink_func): Likewise.
57834         * tests/test-unlinkat.c (main): Likewise.
57836         maint: make realtime library usage explicit
57837         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
57838         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
57839         * modules/settime (Link): Likewise.
57840         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
57842         test-stat-time: speed up execution
57843         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
57844         warning on mingw.
57845         (nap): New helper function.
57846         (prepare_test): Use it to reduce sleep time.
57847         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
57848         execution.
57849         * modules/stat-time-tests (configure.ac): Check for usleep.
57851 2009-10-09  Jim Meyering  <meyering@redhat.com>
57853         selinux-h: always use getfilecon wrappers
57854         * lib/getfilecon.c: New file.
57855         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
57856         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
57857         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
57858         (fgetfilecon): Provide a stub.
57859         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
57860         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
57861         file unconditionally.
57862         When <selinux/selinux.h> is found, arrange to use wrappers.
57863         * modules/selinux-h (Files): Add getfilecon.c.
57864         (Makefile.am): Substitute include-next-related bits
57865         into the now-always-generated selinux/selinux.h file.
57866         * doc/glibc-functions/lgetfilecon.texi: New file.
57867         * doc/glibc-functions/fgetfilecon.texi: New file.
57868         * doc/glibc-functions/getfilecon.texi: New file.
57869         * doc/glibc-functions/getfilecon-desc.texi: New file.
57870         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
57871         which to pull in the new files.
57872         * MODULES.html.sh (Misc): Add selinux-h.
57874 2009-10-08  Jim Meyering  <meyering@redhat.com>
57876         unistd: fix comment typo
57877         * lib/unistd.in.h (euidaccess): Fix a comment typo.
57879 2009-10-08  Eric Blake  <ebb9@byu.net>
57881         areadlink: use SIZE_MAX consistently
57882         * modules/areadlink (Depends-on): Add stdint.
57883         * modules/areadlink-with-size (Depends-on): Likewise.
57884         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
57885         gives NULL; drop sys/types, since unistd gives size_t; and add
57886         stdint for SIZE_MAX.
57887         (SIZE_MAX): Rely on headers.
57888         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
57889         and add stdint.
57890         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
57891         (SIZE_MAX): Likewise.
57892         (INITIAL_BUF_SIZE): Turn into enum.
57893         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
57895 2009-10-08  Jim Meyering  <meyering@redhat.com>
57897         areadlinkat: avoid compilation failure
57898         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
57899         Fix typo in comment.
57901 2009-10-07  Eric Blake  <ebb9@byu.net>
57903         areadlinkat-with-size: new module
57904         * modules/areadlinkat-with-size: New module.
57905         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
57906         * lib/areadlink.h (areadlinkat): Declare it.
57907         * MODULES.html.sh (File system functions): Mention it.
57908         * modules/areadlinkat-with-size-tests: New test.
57909         * tests/test-areadlinkat-with-size.c: New file.
57911         xreadlinkat: new module
57912         * modules/xreadlinkat: New module.
57913         * lib/xreadlinkat.c (xreadlinkat): New file.
57914         * lib/xreadlink.h (xreadlinkat): Declare it.
57915         * MODULES.html.sh (File system functions): Mention it.
57917         areadlinkat: new module
57918         * lib/at-func.c (FUNC_FAIL): New define.
57919         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
57920         * modules/areadlinkat: New module.
57921         * lib/linkat.c (areadlinkat): Move...
57922         * lib/areadlinkat.c (areadlinkat): ...to new file.
57923         * lib/areadlink.h (areadlinkat): Declare it.
57924         * modules/linkat (Depends-on): Add areadlinkat.
57925         * MODULES.html.sh (File system functions): Mention it.
57926         * modules/areadlinkat-tests: New test.
57927         * tests/test-areadlinkat.c: New file.
57929         areadlink, areadlink-with-size: add tests
57930         * modules/areadlink-tests: New test.
57931         * modules/areadlink-with-size-tests: Likewise.
57932         * tests/test-areadlink.h: New file.
57933         * tests/test-areadlink.c: Likewise.
57934         * tests/test-areadlink-with-size.c: Likewise.
57936         maint: minor cleanups
57937         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
57938         _UNUSED_PARAMETER_ instead.
57939         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
57940         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
57941         * modules/linkat-tests (Files): Distribute test-link.h.
57943         openat, utimens: whitespace cleanup
57944         * lib/openat.c: Prefer space throughout, rather than mix of 8
57945         spaces vs. tabs.
57946         * lib/at-func.c: Likewise.
57947         * lib/utimens.c: Likewise.
57949         openat: avoid using wrong fd
57950         * lib/openat.c (openat_permissive): Reject user's fd if saving the
57951         working directory chooses same fd.
57952         * lib/at-func.c (AT_FUNC_NAME): Likewise.
57954         mkdir, mkdirat: fix cygwin 1.5.x bug
57955         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
57956         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
57957         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
57958         bug.
57959         (gl_PREREQ_MKDIR): Delete unused macro.
57960         * modules/mkdir (Files): Track file rename.
57961         (configure.ac): Update macro name.
57962         * modules/openat (Depends-on): Add mkdir.
57963         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
57965         mkdir, mkdirat: add tests
57966         * modules/mkdir-tests: New test.
57967         * tests/test-mkdir.h: New file.
57968         * tests/test-mkdir.c: Likewise.
57969         * tests/test-mkdirat.c: Likewise.
57970         * modules/openat-tests (Files): Add new files.
57971         (Makefile.am): Run new test.
57973 2009-10-06  Eric Blake  <ebb9@byu.net>
57975         doc: tweak *at function documentation
57976         * doc/posix-functions/faccessat.texi (faccessat): Mention
57977         known issue with replacement.
57978         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
57979         * doc/posix-functions/linkat.texi (linkat): Likewise.
57980         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
57981         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
57982         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
57983         * doc/posix-functions/renameat.texi (renameat): Likewise.
57984         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
57986         openat: fix GNU/Hurd bug in unlinkat
57987         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
57988         broken.
57989         * doc/posix-functions/unlink.texi (unlink): Document this.
57990         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
57992         fdopendir: fix GNU/Hurd bug
57993         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
57994         allowing non-directory fds.
57995         * lib/fdopendir.c (rpl_fdopendir): Work around it.
57996         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
57997         * modules/dirent (Makefile.am): Substitute it.
57998         * lib/dirent.in.h (fdopendir): Declare replacement.
57999         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
58000         * tests/test-fdopendir.c (main): Test something other than
58001         /dev/null, since on Hurd that behaves like a directory.
58003         test-symlink: port to GNU/Hurd
58004         * tests/test-symlink.h (test_symlink): Relax expected errno.
58006         doc: tweak more cygwin information
58007         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
58008         now compatible with glibc.
58009         * doc/posix-functions/getopt.texi (getopt): Likewise.
58011         getopt-gnu: add another test
58012         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
58013         guarantee behavior relied on by m4.
58014         * tests/test-getopt.c (main): Use it.
58015         * modules/getopt-posix-tests (Depends-on): Add setenv.
58016         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
58018         getopt: fix compilation on darwin
58019         * lib/getopt.in.h (includes): Leave breadcrumbs during system
58020         include.
58021         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
58022         Reported by Ludovic Courtès.
58024 2009-10-06  Bruno Haible  <bruno@clisp.org>
58026         * modules/size_max (Description): Discourage its use.
58027         Reported by Simon Josefsson.
58029 2009-10-06  Jim Meyering  <meyering@redhat.com>
58031         linkat: avoid compilation failure
58032         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
58034 2009-10-05  Eric Blake  <ebb9@byu.net>
58036         linkat: support Linux 2.6.17
58037         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
58038         linkat on Linux, but allow cache variable override.
58039         * lib/linkat.c (rpl_linkat): Define override.
58040         * modules/linkat (Depends-on): Add symlinkat.
58041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
58042         * modules/unistd (Makefile.am): Substitute it.
58043         * lib/unistd.in.h (linkat): Declare replacement.
58044         Reported by Pádraig Brady.
58046         quotearg: port test to systems with C.UTF-8 locale
58047         * tests/test-quotearg.c (struct result_strings): Add another
58048         member, differentiating between C.ASCII and C.UTF-8 handling.
58049         (compare_strings): Add parameter.
58050         (main): Adjust all callers.
58052         getopt: avoid clash with FreeBSD _getopt_internal
58053         * lib/getopt.in.h (_getopt_internal): Override the name.
58054         * lib/getopt_int.h (includes): Pick up any overrides.
58055         Reported by Reuben Thomas.
58057         hash: allow C89 compilation
58058         * lib/hash.c (check_tuning): Move declaration before statement.
58059         Reported by Reuben Thomas.
58061 2009-10-05  Karl Berry  <karl@gnu.org>
58063         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
58065 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
58066             Bruno Haible  <bruno@clisp.org>
58068         * lib/uname.c (uname): Use a table-driven algorithm to compute
58069         Windows NT versions.
58071 2009-10-04  Bruno Haible  <bruno@clisp.org>
58073         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
58074         program_invocation_short_name.
58075         * modules/progname (configure.ac): Test for presence of
58076         program_invocation_short_name.
58077         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
58079 2009-10-04  Bruno Haible  <bruno@clisp.org>
58081         * lib/progname.c (set_program_name): Fix comment.
58082         Reported by Jim Meyering.
58084 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
58085             Bruno Haible  <bruno@clisp.org>
58087         * lib/uname.c: Include <string.h>.
58088         (uname): Do only one call to GetVersionEx in the common case.
58090 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
58091             Bruno Haible  <bruno@clisp.org>
58093         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
58094         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
58095         (uname): Add support for Windows CE and various non-x86 CPU types.
58097 2009-10-03  Bruno Haible  <bruno@clisp.org>
58099         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
58100         invocation to tests/configure.ac.
58101         Reported by Ian Beckwith <ianb@erislabs.net>.
58103 2009-10-02  Eric Blake  <ebb9@byu.net>
58105         fchdir: avoid compiler warning
58106         * lib/fchdir.c (canonicalize_file_name)
58107         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
58109         test-open: support mingw errno values
58110         * tests/test-open.h (test_open): Relax test.
58111         * tests/test-fopen.h (test_fopen): Likewise.
58112         * tests/test-openat-safer.c (main): Likewise.
58114         open: fix opening directory on mingw
58115         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
58117         test-open: on GNU/Hurd, /dev/null is a directory
58118         * tests/test-fopen.h (main): Rename...
58119         (test_fopen): ...to this.  Use a guaranteed non-directory when
58120         confirming open behavior on trailing slash.
58121         * tests/test-openat-safer.c (main): Likewise.
58122         * tests/test-open.h (main): Likewise....
58123         (test_open): ...to this.
58124         * tests/test-fopen.c (main): Adjust caller.
58125         * tests/test-fopen-safer.c (main): Likewise.
58126         * tests/test-open.c (main): Likewise.
58127         * tests/test-fcntl-safer.c (main): Likewise.
58128         Reported by Samuel Thibault.
58130         rename, fchdir: don't ignore chdir failure
58131         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
58132         * lib/rename.c (rpl_rename) [W32]: Likewise.
58133         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
58134         an empty destination directory if source cannot be renamed,
58135         although there is still possibility for failure.
58136         * doc/posix-functions/rename.texi (rename): Document the race.
58137         Reported by Jim Meyering.
58139         maint: cleanup whitespace in recent commits
58140         * lib/rename.c (rpl_rename): Remove tabs.
58141         * tests/test-link.h (test_link): Likewise.
58142         * lib/fchdir.c (get_name): Likewise.
58143         Reported by Jim Meyering.
58145 2009-10-02  Ben Pfaff  <blp@gnu.org>
58147         relocatable-prog-wrapper: Add missing dependency on
58148         double-slash-root.
58149         * modules/relocatable-prog-wrapper: Add dependency.
58150         Reported by Ian Beckwith <ianb@erislabs.net>.
58152 2009-10-02  Eric Blake  <ebb9@byu.net>
58154         renameat: fix Solaris bugs
58155         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
58156         needed fixing.
58157         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
58158         * modules/stdio (Makefile.am): Substitute it.
58159         * lib/stdio.in.h (renameat): Declare replacement.
58160         * lib/renameat.c (rpl_renameat): Implement fix.
58162         renameat: new module
58163         * modules/renameat: New file.
58164         * lib/renameat.c (renameat): Likewise.
58165         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
58166         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
58167         * modules/stdio (Makefile.am): Substitute them.
58168         * lib/stdio.in.h (renameat): Declare it.
58169         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
58170         * doc/posix-functions/renameat.texi (renameat): Likewise.
58171         * modules/renameat-tests: New test.
58172         * tests/test-renameat.c: Likewise.
58174         rename: fix mingw bugs
58175         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
58176         directory overwrite bugs.
58178         rename: fix another cygwin 1.5 bug
58179         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
58180         checks.
58181         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
58182         unnecessary cygwin workarounds.  Also work around bug with moving
58183         full directory onto an empty one.
58184         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
58186         rename-dest-slash: merge into rename module
58187         * modules/rename-dest-slash (Status): Mark obsolete.
58188         (Depends-on): Add rename.
58189         (Files): Let rename do it all.
58190         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
58191         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
58192         * m4/rename-dest-slash.m4: ...so this file can be deleted.
58193         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
58194         * lib/rename.c (rpl_rename): Update comments.
58196         rename: fix cygwin 1.5.x bugs
58197         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
58198         * lib/rename.c (rpl_rename): Work around them.
58199         * modules/rename (Depends-on): Add same-inode.
58201         rename: fix Solaris 10 bug
58202         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
58203         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
58204         was the only bug.
58206         rename: fix Solaris 9 bug
58207         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
58208         on non-directory.  Avoid calling exit.
58209         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
58210         strdup.
58211         * modules/rename-tests (Depends-on): Drop lstat.
58212         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
58213         (gl_PREREQ_RENAME): Delete unused macro.
58215         rename-dest-slash: fix NetBSD bug
58216         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
58217         links.
58218         * modules/rename-dest-slash (Depends-on): Add same-inode.
58220         rename-tests: new test, exposes several platform bugs
58221         * modules/rename-tests: New file.
58222         * tests/test-rename.h: Likewise.
58223         * tests/test-rename.c: Likewise.
58224         * doc/posix-functions/rename.texi (rename): Improve documentation,
58225         including bugs that will eventually be fixed in gnulib.
58227 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
58229         * lib/uname.c: Include <stdlib.h>
58230         (uname): Assume version info is available.
58232 2009-10-02  Jim Meyering  <meyering@redhat.com>
58234         gnu-web-doc-update: correct --help output
58235         * build-aux/gnu-web-doc-update: Make --help output relevant.
58237         gnu-web-doc-update: add standard options
58238         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
58240         gnu-web-doc-update: New module.
58241         Use this script to automatically update the on-line web documentation
58242         for your GNU project at http://www.gnu.org/software/$pkg/manual/
58243         * modules/gnu-web-doc-update: New file, from coreutils.
58244         * build-aux/gnu-web-doc-update: New script.
58246 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
58248         link: LoadLibrary is not needed.
58249         * lib/link.c: Use GetModuleHandle.
58251 2009-10-01  Eric Blake  <ebb9@byu.net>
58253         getopt: bump serial number
58254         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
58255         change.
58257         tests: tighten link, rmdir, and remove tests
58258         * tests/test-link.h (includes): No need to use <config.h> here.
58259         Clean up if directory hard link was created, otherwise test for
58260         trailing '.'.
58261         * tests/test-linkat.c (main): Simplify.
58262         * tests/test-remove.c (main): Enhance test for trailing '.'.
58263         * tests/test-rmdir.h (test_rmdir_func): Likewise.
58265 2009-10-01  Jim Meyering  <meyering@redhat.com>
58267         maint.mk: requiring "make major" was annoying, for a "minor" release.
58268         What is intended is "stable", to contrast with alpha and beta,
58269         so require "make stable", not "make major".
58270         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
58271         (get_tool_versions): Likewise.
58272         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
58274 2009-09-30  Ben Pfaff  <blp@gnu.org>
58276         Fix broken build of replacement for Windows tmpfile().
58277         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
58278         flags argument added along with the 'mkostemp' module.
58280 2009-09-28  Bruno Haible  <bruno@clisp.org>
58282         Avoid identifier clash with POSIX function 'remove' defined as a macro.
58283         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
58284         to 'remove_elt'.
58285         (gl_list_remove): Update.
58286         * lib/gl_list.c (gl_list_remove): Update.
58287         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
58288         to 'remove_elt'.
58289         (gl_oset_remove): Update.
58290         * lib/gl_list.c (gl_oset_remove): Update.
58291         Reported by Eric Blake.
58293 2009-09-28  Eric Blake  <ebb9@byu.net>
58295         doc: mention yet more cygwin 1.7 status
58296         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
58297         cygwin.
58298         * doc/glibc-functions/execvpe.texi (execvpe): New file.
58299         * doc/gnulib.texi (Glibc unistd.h): Mention it.
58301         argp: fix test failure
58302         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
58303         that are not upper-case.  Pass correct range to tolower.
58305 2009-09-27  Jim Meyering  <meyering@redhat.com>
58307         test-yesno: work around sparc-dash here-document infelicity
58308         Without this change, the literal \177 byte in a here document
58309         would make dash 0.5.5.1-3 access uninitialized memory.
58310         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
58311         Instead, use a marker, "@", and filter through tr to create the desired
58312         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
58314 2009-09-27  Bruno Haible  <bruno@clisp.org>
58316         Disable untested support for new flavours of ACLs on AIX.
58317         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
58318         progress.
58319         * lib/set-mode-acl.c (qset_acl): Likewise.
58321 2008-12-07  Bruno Haible  <bruno@clisp.org>
58323         Add support for new flavours of ACLs on AIX. (Untested.)
58324         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
58325         (file_has_acl): Add support for newer AIX.
58326         * lib/set-mode-acl.c (qset_acl): Likewise.
58327         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
58328         Rainer Tammer <tammer@tammer.net>.
58330 2009-09-26  Eric Blake  <ebb9@byu.net>
58332         argp: fix compilation of getopt
58333         * lib/getopt.in.h (includes): Use different guard than glibc.
58334         Reported by Sergey Poznyakoff.
58336         doc: mention more cygwin 1.7 status
58337         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
58338         bug.
58339         * doc/posix-functions/execl.texi (execl): Likewise.
58340         * doc/posix-functions/execle.texi (execle): Likewise.
58341         * doc/posix-functions/execlp.texi (execlp): Likewise.
58342         * doc/posix-functions/execv.texi (execv): Likewise.
58343         * doc/posix-functions/execve.texi (execve): Likewise.
58344         * doc/posix-functions/execvp.texi (execvp): Likewise.
58345         * doc/glibc-functions/canonicalize_file_name.texi
58346         (canonicalize_file_name): Cygwin 1.7 now provides this.
58347         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
58348         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
58349         on AT_SYMLINK_NOFOLLOW.
58351 2009-09-24  Eric Blake  <ebb9@byu.net>
58353         test-linkat: make test more robust
58354         * tests/test-linkat.c (main): Avoid collision with EEXIST.
58356         getopt: fix inclusion guards for cygwin
58357         * modules/getopt-posix (Depends-on): Add include-next.
58358         (Makefile.am): Substitute more items in replacement header.
58359         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
58360         <getopt.h>.
58361         * lib/getopt.in.h (includes): Use split inclusion guard, and
58362         prefer <getopt.h> over include <unistd.h> when one is present.
58363         (option): Also override name of 'struct option'.
58365         same-inode: revert prior change; it is not yet ready
58366         * NEWS: Undo mention of this change.
58367         * lib/same-inode.h (same-inode.h): Undo tri-state change.
58368         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
58369         * lib/cycle-check.c (cycle_check): Likewise.
58370         * lib/same.c (same_name): Likewise.
58371         * lib/at-func2.c (at_func2): Likewise.
58373 2009-09-23  Eric Blake  <ebb9@byu.net>
58375         linkat: new module
58376         * modules/linkat: New file.
58377         * lib/at-func2.c (at_func2): Likewise.
58378         * lib/linkat.c (linkat): Likewise.
58379         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
58380         * lib/openat-priv.h (at_func2): Add declaration.
58381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
58382         * modules/unistd (Makefile.am): Substitute them.
58383         * lib/unistd.in.h (linkat): Declare it.
58384         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
58385         * doc/posix-functions/linkat.texi (linkat): Likewise.
58386         * doc/posix-functions/link.texi (link): Tweak wording.
58387         * tests/test-link.c (main): Move guts...
58388         * tests/test-link.h (test_link): ...into new file.
58389         * modules/linkat-tests: New test.
58390         * tests/test-linkat.c: Likewise.
58391         * modules/link-tests (Files): Ship new file.
58392         (Depends-on): Add stdbool.
58394         dirname: add library-safe mdir_name
58395         * lib/dirname.h (mdir_name): New prototype.
58396         * lib/dirname.c (dir_name): Move guts...
58397         (mdir_name): ...to new function that avoids xalloc_die.
58399         fchdir: another mingw fix
58400         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
58401         * lib/fchdir.c (get_name): New helper method; skips canonicalize
58402         on mingw (where it has not yet been ported), and make it optional
58403         elsewhere.
58404         (_gl_register_fd): Use it.
58406         same-inode: make SAME_INODE tri-state, to port to mingw
58407         * NEWS: Mention this change.
58408         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
58409         st_ino always being 0.
58410         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
58411         * lib/cycle-check.c (cycle_check): Likewise.
58412         * lib/same.c (same_name): Likewise.
58414         lstat: avoid mingw compilation error
58415         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
58416         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
58417         lstat ourselves.
58418         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
58419         was adequate.
58420         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
58421         the checks for lstat.
58422         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
58424         link: fix test failure on Solaris 9
58425         * lib/link.c (rpl_link): Don't assume link will catch bogus
58426         trailing slash on source.
58428         test-symlinkat: enhance test
58429         * tests/test-readlink.c (main): Move guts...
58430         * tests/test-readlink.h (test_readlink): ...into new file.
58431         * tests/test-symlink.c (main): Move guts...
58432         * tests/test-symlink.h (test_symlink): ...into new file.
58433         * tests/test-symlinkat.c (main): Use new files for further
58434         coverage.
58435         (do_symlink, do_readlink): New helper functions.
58436         * modules/symlink-tests (Files): Ship new file.
58437         (Depends-on): Add stdbool.
58438         * modules/readlink-tests (Files): Ship new file.
58439         (Depends-on): Add stdbool.
58440         * modules/symlinkat-tests (Files): Use new files.
58442 2009-09-23  Eric Blake  <ebb9@byu.net>
58444         readlink: document portability issue with symlink length
58445         * doc/posix-functions/lstat.texi (lstat): Mention that some file
58446         systems have bogus st_size on symlinks, and mention the
58447         areadlink-with-size module.
58448         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
58449         * doc/posix-functions/readlink.texi (readlink): Mention the
58450         areadlink module, and ERANGE failure.
58451         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
58452         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
58454         readlink: fix Solaris 9 bug with trailing slash
58455         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
58456         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
58457         * doc/posix-functions/readlink.texi (readlink): Document this.
58458         * modules/readlink-tests: New test.
58459         * tests/test-readlink.c: Likewise.
58461         readlink: fix cygwin 1.5.x bug with return type
58462         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
58463         * lib/unistd.in.h (readlink): Use ssize_t.
58464         * lib/readlink.c (readlink): Likewise.
58465         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
58466         * modules/unistd (Makefile.am): Substitute it.
58467         * lib/unistd.in.h (readlink): Declare replacement.
58468         * doc/posix-functions/readlink.texi (readlink): Document this.
58470         symlink: use throughout gnulib
58471         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
58472         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
58473         symlink is not used.
58474         * modules/symlinkat (Depends-on): Add symlink.
58475         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
58476         * modules/canonicalize-tests (Depends-on): Likewise.
58477         * modules/lstat-tests (Depends-on): Likewise.
58478         * modules/openat-tests (Depends-on): Likewise.
58479         * modules/remove-tests (Depends-on): Likewise.
58480         * modules/rmdir-tests (Depends-on): Likewise.
58481         * modules/unlink-tests (Depends-on): Likewise.
58482         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
58483         * tests/test-canonicalize.c (symlink): Likewise.
58484         * tests/test-fstatat.c (symlink): Likewise.
58485         * tests/test-lstat.c (symlink): Likewise.
58486         * tests/test-remove.c (symlink): Likewise.
58487         * tests/test-rmdir.c (symlink): Likewise.
58488         * tests/test-unlink.c (symlink): Likewise.
58489         * tests/test-unlinkat.c (symlink): Likewise.
58491         symlink: new module, for Solaris 9 bug
58492         * modules/symlink: New file.
58493         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
58494         * lib/symlink.c: Likewise.
58495         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
58496         * modules/unistd (Makefile.am): Substitute them.
58497         * lib/unistd.in.h (symlink): Declare replacement.
58498         * MODULES.html.sh (File system functions): Mention it.
58499         * doc/posix-functions/symlink.texi (symlink): Likewise.
58500         * modules/symlink-tests: New test.
58501         * tests/test-symlink.c: Likewise.
58503 2009-09-23  Bruno Haible  <bruno@clisp.org>
58505         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
58506         when needed.
58507         Test case: gnulib-tool --import --with-tests atexit inttypes.
58508         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
58510 2009-09-23  Bruno Haible  <bruno@clisp.org>
58512         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
58513         subcommand, not in a subshell.
58515 2009-09-22  Eric Blake  <ebb9@byu.net>
58517         unistd: sort replacement declarations
58518         * lib/unistd.in.h: Sort declarations.
58520         open, openat: minor optimization
58521         * lib/open.c (open): If open succeeded, len is non-zero.
58522         * lib/openat.c (rpl_openat): Likewise.
58524         link-follow: ensure correct result
58525         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
58526         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
58527         distinguish between possible failures.
58529 2009-09-21  Eric Blake  <ebb9@byu.net>
58531         fts: avoid compiler warning
58532         * lib/fts.c (dirent_inode_sort_may_be_useful)
58533         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
58535 2009-09-19  Bruno Haible  <bruno@clisp.org>
58537         * lib/progreloc.c (canonicalize_file_name): New declaration.
58539 2009-09-19  Eric Blake  <ebb9@byu.net>
58541         link: fix quoting
58542         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
58544         openat: fix openat bugs on Solaris 9
58545         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
58546         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
58547         * modules/openat (Depends-on): Add open.
58548         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
58549         * modules/fcntl-h (Makefile.am): Substitute it.
58550         * lib/fcntl.in.h (openat): Declare replacement.
58551         * doc/posix-functions/openat.texi (openat): Document this.
58553         openat: move fstatat and unlinkat into correct files
58554         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
58555         compiled.
58556         * lib/openat.c (fstatat, unlinkat): Move...
58557         * lib/fstatat.c (fstatat): ...into correct files.
58558         * lib/unlinkat.c (unlinkat): Likewise.
58560         openat: fix unlinkat bugs on Solaris 9
58561         * lib/unlinkat.c (unlinkat): New file.
58562         * modules/openat (Depends-on): Add unlink.
58563         (Files): Distribute it.
58564         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
58565         trailing slash behavior is broken.
58566         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
58567         * modules/unistd (Makefile.am): Substitute it.
58568         * lib/unistd.in.h (unlinkat): Declare replacement.
58569         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
58571         openat: fix fstatat bugs on Solaris 9
58572         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
58573         stat.
58574         * doc/posix-functions/fstatat.texi (fstatat): Document this.
58576         test-unlinkat: enhance test, to expose Solaris 9 bug
58577         * tests/test-unlink.c (main): Factor guts...
58578         * tests/test-unlink.h (test_rmdir_func): ...into new file.
58579         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
58580         * tests/test-rmdir.c (main): Adjust caller.
58581         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
58582         (unlinker): New helper function.
58583         (rmdirat): Enhance check.
58584         * modules/rmdir-tests (Depends-on): Add stdbool.
58585         * modules/unlink-tests (Depends-on): Likewise.
58586         (Files): Add test-unlink.h.
58587         * modules/openat-tests (Files): Likewise.
58588         (Depends-on): Add unlinkdir.
58590         test-fstatat: new test, to expose Solaris 9 bugs
58591         * tests/test-stat.c (main): Factor guts...
58592         * tests/test-stat.h (test_stat_func): ...into new file.
58593         * tests/test-lstat.c (main): Factor guts...
58594         * tests/test-lstat.h (test_lstat_func): ...into new file.
58595         * tests/test-fstatat.c: New file.
58596         * modules/stat-tests (Files): Add test-stat.h.
58597         * modules/lstat-tests (Files): Add test-lstat.h.
58598         (Depends-on): Add stdbool.
58599         * modules/openat-tests (Depends-on): Add pathmax.
58600         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
58601         (Makefile.am): Run new test.
58603         remove: new module, for mingw and Solaris 9 bugs
58604         * modules/remove: New file.
58605         * lib/remove.c: Likewise.
58606         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
58607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
58608         * modules/stdio (Makefile.am): Use them.
58609         * lib/stdio.in.h (remove): Declare replacement.
58610         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
58611         * doc/posix-functions/remove.texi (remove): Likewise.
58612         * modules/remove-tests: New test.
58613         * tests/test-remove.c: Likewise.
58615         unlink: new module, for Solaris 9 bug
58616         * modules/unlink: New file.
58617         * lib/unlink.c: Likewise.
58618         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58619         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
58620         * modules/unistd (Makefile.am): Use them.
58621         * lib/unistd.in.h (stat): Declare replacement.
58622         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
58623         * doc/posix-functions/unlink.texi (unlink): Likewise.
58624         * modules/unlink-tests: New test.
58625         * tests/test-unlink.c: Likewise.
58627         lstat: fix Solaris 9 bug
58628         * lib/lstat.c (lstat): Also check for trailing slash on
58629         non-symlink, non-directories.  Use stat module to simplify logic.
58630         * doc/posix-functions/lstat.texi (lstat): Document it.
58631         * modules/lstat-tests (Depends-on): Add errno, same-inode.
58632         (configure.ac): Check for symlink.
58633         * tests/test-lstat.c (main): Add more tests.
58635         stat: add as dependency to other modules
58636         * modules/chown (Depends-on): Add stat.
58637         * modules/euidaccess (Depends-on): Likewise.
58638         * modules/fchdir (Depends-on): Likewise.
58639         * modules/isdir (Depends-on): Likewise.
58640         * modules/link (Depends-on): Likewise.
58641         * modules/lstat (Depends-on): Likewise.
58642         * modules/mkdir-p (Depends-on): Likewise.
58643         * modules/modechange (Depends-on): Likewise.
58644         * modules/open (Depends-on): Likewise.
58645         * modules/readlink (Depends-on): Likewise.
58646         * modules/same (Depends-on): Likewise.
58648         stat: fix Solaris 9 bug
58649         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
58650         slash.
58651         * lib/stat.c (rpl_stat): Work around it.
58652         * doc/posix-functions/stat.texi (stat): Update documentation.
58654         stat: new module, for mingw bug
58655         * modules/stat: New file.
58656         * lib/stat.c: Likewise.
58657         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58658         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
58659         * modules/sys_stat (Makefile.am): Use them.
58660         * lib/sys_stat.in.h (stat): Declare replacement.
58661         * lib/openat.c (fstatat): Deal with lstat and stat being function
58662         macros.
58663         * modules/openat (Depends-on): Add inline.
58664         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
58665         * doc/posix-functions/stat.texi (stat): Likewise.
58666         * modules/stat-tests: New test.
58667         * tests/test-stat.c: Likewise.
58669 2009-09-19  Jim Meyering  <meyering@redhat.com>
58671         syntax-check: detect unnecessary inclusion of canonicalize.h
58672         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
58674 2009-09-19  Eric Blake  <ebb9@byu.net>
58676         canonicalize-lgpl: adjust clients to use correct header
58677         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
58678         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
58679         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
58680         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
58681         * lib/progreloc.c (includes): Likewise.
58683 2009-09-19  Jim Meyering  <meyering@redhat.com>
58685         test-posixtm.c: correct a comment
58686         * tests/test-posixtm.c: Correct first-line comment.
58687         Spotted by Eric Blake.
58689 2009-09-16  Jim Meyering  <meyering@redhat.com>
58691         posixtm-tests: make T const-correct; add a test case
58692         * tests/test-posixtm.c (T): Declare const.
58693         Add a test for -(2^31+1).
58694         Remove useless can-succeed-only-in-2002 test.
58696         posixtm-tests: adjust the sole failing test
58697         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
58698         expected output matches what mktime now produces.  Cross-checked via
58699         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
58701         posixtm: move #ifdef'd tests into a new module
58702         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
58703         * tests/test-posixtm.c: ... this new file.
58704         * modules/posixtm-tests: New module.
58706 2009-09-19  Eric Blake  <ebb9@byu.net>
58708         openat: simplify use of at-func.c
58709         * lib/at-func.c (includes): Include prerequisites here, to
58710         simplify requirements on client files.
58711         * lib/openat-priv.h: Add double-inclusion guard.
58712         * lib/faccessat.c (includes): Simplify.
58713         * lib/fchmodat.c (includes): Likewise.
58714         * lib/fchownat.c (includes): Likewise.
58715         * lib/mkdirat.c (includes): Likewise.
58716         * lib/mkfifoat.c (includes): Likewise.
58717         * lib/symlinkat.c (includes): Likewise.
58719         openat: allow return of fd 0
58720         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
58721         * modules/save-cwd (Depends-on): Replace fcntl-safer with
58722         unistd-safer.
58723         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
58724         <fcntl.h>; this module does not leak fds.
58725         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
58726         must be allowed to return 0, leaving openat_safer to add the
58727         safety.
58728         (openat_permissive): Avoid writing to just-opened fd 2 if
58729         restoring the current directory fails.
58730         * lib/openat-die.c (openat_restore_fail): Add comment.
58731         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
58732         (save_cwd): Guarantee safe fd, but without use of open_safer.
58733         * tests/test-openat.c: New test.
58734         * modules/openat-tests (Files, Makefile.am): Distribute and build
58735         new file.
58737         relocatable-prog-wrapper: fix build
58738         * modules/relocatable-prog-wrapper (Files): Update name of
58739         canonicalize m4 file, broken on 2009-09-17.
58740         Reported by emad hajjar <aleppos@hotmail.com>.
58742 2009-09-19  Bruno Haible  <bruno@clisp.org>
58744         * lib/safe-alloc.h: Use the standard header with GPL copyright.
58745         * lib/safe-alloc.c: Likewise.
58746         Reported by Ian Beckwith <ianb@erislabs.net>.
58748 2009-09-18  Bruno Haible  <bruno@clisp.org>
58750         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
58751         Reported by <erobles@sensacd.com.mx>.
58753 2009-09-17  Eric Blake  <ebb9@byu.net>
58755         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
58756         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
58757         slashes when checking if last component is missing.
58758         * tests/test-canonicalize.c (main): Test this.
58760         canonicalize, canonicalize-lgpl: honor // if distinct from /
58761         * modules/canonicalize (Files): Add double-slash-root.m4.
58762         * modules/canonicalize-lgpl (Files): Likewise.
58763         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
58764         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
58765         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
58766         fallback definition.
58767         (canonicalize_filename_mode): Use it to protect //.
58768         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
58769         (__realpath): Likewise.
58770         * tests/test-canonicalize.c (main): Test this.
58771         * tests/test-canonicalize-lgpl.c (main): Likewise.
58772         * modules/canonicalize-tests (Depends-on): Add same-inode.
58773         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
58775         canonicalize-lgpl: fix glibc bug with trailing slash
58776         * m4/canonicalize-lgpl.m4: Move contents...
58777         * m4/canonicalize.m4: ...here.
58778         (gl_CANONICALIZE_LGPL): Factor realpath check...
58779         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
58780         glibc 2.3.5 bug, fixed 2005-04-27.
58781         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
58782         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
58783         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
58784         * modules/canonicalize-lgpl (Files): Manage file rename.
58785         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
58786         * modules/stdlib (Makefile.am): Substitute witness.
58787         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
58788         is needed.
58789         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
58790         replacement is required.
58791         * lib/canonicalize.c (canonicalize_file_name): Likewise.
58792         * doc/glibc-functions/canonicalize_file_name.texi
58793         (canonicalize_file_name): Document this.
58794         * doc/posix-functions/realpath.texi (realpath): Likewise.
58796         canonicalize-lgpl: reject non-directory with trailing slash
58797         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
58798         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
58799         catches failures in glibc 2.3.5.
58800         * tests/test-canonicalize.c (main): Likewise.
58802         canonicalize-lgpl: use native realpath if it works
58803         * lib/canonicalize-lgpl.c (realpath): Guard with
58804         FUNC_REALPATH_WORKS.
58805         * lib/stdlib.in.h (realpath): Make declaration optional based on
58806         HAVE_REALPATH.
58807         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
58808         native realpath works.
58809         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
58810         * modules/stdlib (Makefile.am): Substitute witness.
58812         canonicalize, canonicalize-lgpl: use <stdlib.h>
58813         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
58814         (Include): Mention <stdlib.h>.
58815         (configure.ac): Mention functions we provide.
58816         * modules/canonicalize (configure.ac): Likewise.
58817         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
58818         realpath if canonicalize_file_name is missing.
58819         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
58820         * modules/stdlib (Makefile.am): Substitute witnesses.
58821         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
58822         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
58823         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
58824         * NEWS: Document this.
58825         * doc/glibc-functions/canonicalize_file_name.texi
58826         (canonicalize_file_name): Likewise.
58827         * doc/posix-functions/realpath.texi (realpath): Likewise.
58828         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
58830         test-canonicalize: consolidate into single C program
58831         * tests/test-canonicalize.sh: Delete; move setup into...
58832         * tests/test-canonicalize.c (main): ...the program, making it
58833         easier to run in debugger.  Add some tests.
58834         * modules/canonicalize-tests (Files): Remove unused file.
58835         (Depends-on): Add progname.
58836         (configure.ac, Makefile.am): Simplify.
58838         test-canonicalize-lgpl: consolidate into single C program
58839         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
58840         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
58841         easier to run in debugger.  Add some tests.
58842         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
58843         (configure.ac, Makefile.am): Simplify.
58845         canonicalize: avoid resolvepath
58846         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
58847         unnecessary checks.
58848         * lib/canonicalize.c (includes): Simplify.
58849         (canonicalize_file_name): Drop resolvepath implementation.
58850         * modules/canonicalize (Depends-on): Drop filenamecat.
58852         canonicalize: don't lose errno
58853         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
58854         over calls to free.
58856         canonicalize: simplify errno handling
58857         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
58858         assignment.
58860         canonicalize, canonicalize-lgpl: update module dependencies
58861         * modules/canonicalize (Depends-on): Add extensions, lstat,
58862         pathmax, stdlib.
58863         (Files): Drop pathmax.h.
58864         (configure.ac): Adjust macro name.
58865         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
58866         lstat, stdlib, sys_stat.
58867         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
58868         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
58869         extensions.
58870         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
58871         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
58872         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
58873         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
58874         declaration, if available.
58875         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
58876         we can rely on the readlink module.
58877         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
58878         (includes): Use <unistd.h> unconditionally.
58880 2009-09-17  Eric Blake  <ebb9@byu.net>
58882         maint: make Include sections of modules consistent
58883         * modules/alloca: Use only header name; no need to list #include.
58884         * modules/alloca-opt: Likewise.
58885         * modules/arpa_inet: Likewise.
58886         * modules/canon-host: Likewise.
58887         * modules/configmake: Likewise.
58888         * modules/dirent: Likewise.
58889         * modules/eealloc: Likewise.
58890         * modules/environ: Likewise.
58891         * modules/fchdir: Likewise.
58892         * modules/fcntl: Likewise.
58893         * modules/fcntl-h: Likewise.
58894         * modules/gethrxtime: Likewise.
58895         * modules/gettime: Likewise.
58896         * modules/ignore-value: Likewise.
58897         * modules/inet_ntop: Likewise.
58898         * modules/inet_pton: Likewise.
58899         * modules/inttypes: Likewise.
58900         * modules/isnand-nolibm: Likewise.
58901         * modules/isnanf-nolibm: Likewise.
58902         * modules/mbchar: Likewise.
58903         * modules/mbfile: Likewise.
58904         * modules/mbiter: Likewise.
58905         * modules/mbuiter: Likewise.
58906         * modules/netdb: Likewise.
58907         * modules/netinet_in: Likewise.
58908         * modules/nproc: Likewise.
58909         * modules/pagealign_alloc: Likewise.
58910         * modules/poll: Likewise.
58911         * modules/printf-frexp: Likewise.
58912         * modules/pthread: Likewise.
58913         * modules/putenv: Likewise.
58914         * modules/random_r: Likewise.
58915         * modules/relocatable-prog: Likewise.
58916         * modules/search: Likewise.
58917         * modules/select: Likewise.
58918         * modules/selinux-h: Likewise.
58919         * modules/settime: Likewise.
58920         * modules/signal: Likewise.
58921         * modules/size_max: Likewise.
58922         * modules/socklen: Likewise.
58923         * modules/ssize_t: Likewise.
58924         * modules/stdarg: Likewise.
58925         * modules/stdbool: Likewise.
58926         * modules/stddef: Likewise.
58927         * modules/stdint: Likewise.
58928         * modules/stdio: Likewise.
58929         * modules/stdlib: Likewise.
58930         * modules/string: Likewise.
58931         * modules/strings: Likewise.
58932         * modules/sys_file: Likewise.
58933         * modules/sys_ioctl: Likewise.
58934         * modules/sys_select: Likewise.
58935         * modules/sys_socket: Likewise.
58936         * modules/sys_stat: Likewise.
58937         * modules/sys_time: Likewise.
58938         * modules/sys_times: Likewise.
58939         * modules/sys_utsname: Likewise.
58940         * modules/sys_wait: Likewise.
58941         * modules/sysexits: Likewise.
58942         * modules/time: Likewise.
58943         * modules/times: Likewise.
58944         * modules/tmpfile: Likewise.
58945         * modules/trim: Likewise.
58946         * modules/unistd: Likewise.
58947         * modules/wchar: Likewise.
58948         * modules/wctype: Likewise.
58950 2009-09-17  Bruno Haible  <bruno@clisp.org>
58952         Make getdate.y compile on QNX and NetBSD 5 / i386.
58953         * m4/getdate.m4 (gl_GETDATE): Conditionally define
58954         TIME_T_FITS_IN_LONG_INT.
58955         * lib/getdate.y (long_time_t): New type.
58956         (relative_time): Change type of 'seconds' field to long_time_t.
58957         (get_date): Update types of local variables. Check against overflow
58958         during conversion from long_time_t to time_t.
58959         Reported by Matt Kraai <kraai@ftbfs.org>
58960         and Hasso Tepper <hasso@netbsd.org>.
58962 2009-09-17  Bruno Haible  <bruno@clisp.org>
58964         * modules/COPYING: Update copyright years.
58965         * modules/README: Likeiwse.
58966         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
58967         Reported by Ian Beckwith <ianb@erislabs.net>.
58969 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
58971         * users.txt: Update references for gnuit package.
58973 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
58975         * m4/getdelim.m4: Fix typo in copyright line.
58977 2009-09-17  Bruno Haible  <bruno@clisp.org>
58979         * lib/atoll.c: Use the standard header with GPL copyright.
58980         * lib/argz.in.h: Likewise.
58981         * lib/glob.c: Likewise.
58982         * lib/glob-libc.h: Likewise.
58983         * lib/random_r.c: Likewise.
58984         * lib/siglist.h: Likewise.
58985         * lib/strsignal.c: Likewise.
58986         Reported by Ian Beckwith <ianb@erislabs.net>.
58988 2009-09-17  Eric Blake  <ebb9@byu.net>
58990         rmdir: ensure correct dependency order
58991         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
58993 2009-09-17  Bruno Haible  <bruno@clisp.org>
58995         Disable assertion that fails on NetBSD 5 / i386.
58996         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
58997         Reported by Sam Steingold <sds@gnu.org>
58998         and Hasso Tepper <hasso@netbsd.org>.
59000 2009-09-16  Eric Blake  <ebb9@byu.net>
59002         unlinkdir: port to mingw
59003         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
59004         on which no one can unlink a directory.
59006         stdlib: sort witness names
59007         * modules/stdlib (Makefile.am): Sort replacements.
59008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
59009         * lib/stdlib.in.h: Likewise.
59011         parse-duration-tests: avoid link failure
59012         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
59013         LIBINTL.
59014         Reported by Tom G. Christensen.
59016         openat-tests: ensure unlinkat behaves like rmdir
59017         * tests/test-rmdir.c (main): Factor guts...
59018         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
59019         * modules/rmdir-tests (Files): Ship new file.
59020         * modules/openat-tests: New test.
59021         * tests/test-unlinkat.c: Likewise.
59023         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
59024         * modules/rmdir-errno (Status, Notice): Now obsolete.
59026         rmdir: work around cygwin 1.5.x and mingw bugs
59027         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
59028         * lib/rmdir.c (rmdir): Work around it.
59029         * modules/rmdir (Status, Notice): No longer obsolete.
59030         (Files): Add dos.m4.
59031         (Depends-on): Add unistd.
59032         (configure.ac): Set witnesses.
59033         (License): Relax to LGPLv2+.
59034         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
59035         * modules/unistd (Makefile.am): Substitute witnesses.
59036         * lib/unistd.in.h (rmdir): Declare replacement.
59037         * doc/posix-functions/rmdir.texi (rmdir): Document this.
59038         * modules/rmdir-tests: New tests.
59039         * tests/test-rmdir.c: Likewise.
59041 2009-09-15  Eric Blake  <ebb9@byu.net>
59043         fchdir: improve use of replacement functions
59044         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
59045         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
59046         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
59047         REPLACE_CLOSEDIR.
59048         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
59049         * modules/sys_stat (Makefile.am): Substitute correct witness.
59050         * modules/dirent (Makefile.am): Likewise.
59051         * modules/unistd (Makefile.am): Likewise.
59052         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
59053         * lib/unistd.in.h (dup): Likewise.
59054         * lib/sys_stat.in.h (fstat): Likewise.
59056         maint: ignore gnulib-tool temp files
59057         * .gitignore: Ignore files created during gnulib-tool --test.
59059 2009-09-13  Jim Meyering  <meyering@redhat.com>
59061         posixtm: don't reject a time that specify "60" as the number of seconds
59062         * lib/posixtm.c (posixtime): The code to reject invalid dates
59063         would also reject a time specified with the .60 suffix.
59064         But POSIX allows that, in order to accommodate leap seconds.
59065         So don't reject it.
59066         (main): Adjust tests accordingly.
59067         * modules/posixtm (Depends-on): Add stpcpy.
59069 2009-09-11  Jim Meyering  <meyering@redhat.com>
59071         announce-gen: include [$release_type] in emitted Subject:
59072         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
59073         e.g., [stable] in the emitted Subject: line.
59075 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59077         Remove obsolete macros from several modules.
59078         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
59079         obsolete Autoconf macros with their modern counterparts.
59080         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
59081         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
59082         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
59083         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
59084         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
59085         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
59086         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59087         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
59088         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
59089         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
59090         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
59091         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
59092         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
59093         * m4/sockets.m4 (gl_SOCKETS): Likewise.
59094         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
59095         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
59096         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
59097         * m4/time_r.m4 (gl_TIME_R): Likewise.
59098         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
59099         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
59100         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
59102         Fix copyright header in build-aux scripts.
59103         * build-aux/git-version-gen: Fix copyright header to match GPLv3
59104         recommendation.
59105         * build-aux/ncftpput-ftp: Likewise.
59106         * build-aux/update-copyright: Likewise.
59108 2009-09-09  Eric Blake  <ebb9@byu.net>
59110         test-link: allow Linux choice of errno
59111         * tests/test-link.c (main): Relax test for alternate error.
59113         strndup: fix improper m4 caching
59114         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
59115         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
59116         (gl_PREREQ_STRNDUP): Delete.
59117         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
59118         * modules/string (Makefile.am): Substitute it.
59119         * lib/string.in.h (strndup): Modernize prototype.
59121         getcwd: port to mingw
59122         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
59123         different from the POSIX assumptions made throughout the getcwd
59124         module; fortunately, the mingw getcwd does not need replacement.
59125         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
59126         * modules/getcwd-tests: New test.
59127         * tests/test-getcwd.c: Likewise.
59129         link: fix platform bugs
59130         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
59131         * lib/link.c (link): Work around them.  Fix related mingw bug.
59132         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
59133         * modules/unistd (Makefile.am): Substitute it.
59134         * lib/unistd.in.h (link): Declare replacement.
59135         * doc/posix-functions/link.texi (link): Document this.
59136         * modules/link (Depends-on): Add strdup-posix, sys_stat.
59138         test-link: consolidate into single C program, test more cases
59139         * tests/test-link.sh: Delete.
59140         * tests/test-link.c: Test more error conditions.  Exposes bugs on
59141         at least Cygwin and Solaris.
59142         * modules/link-tests (Files): Remove unused file.
59143         (Depends-on): Add errno, sys_stat.
59144         (Makefile.am): Simplify.
59146 2009-09-08  Bruno Haible  <bruno@clisp.org>
59148         Work around towlower, towupper bug on mingw.
59149         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
59150         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
59151         * doc/posix-functions/towlower.texi: Mention the mingw bug.
59152         * doc/posix-functions/towupper.texi: Likewise.
59153         Reported by Eric Blake.
59155 2009-09-08  Jim Meyering  <meyering@redhat.com>
59157         build: don't try to run autoheader if we don't use it
59158         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
59159         is not used in configure.ac.
59161 2009-09-08  Eric Blake  <ebb9@byu.net>
59163         euidaccess: fix compilation error
59164         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
59166         rawmemchr: relax license
59167         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
59168         okay.
59169         Reported by Jim Meyering.
59171         mkfifoat: new module
59172         * modules/mkfifoat: New file.
59173         * lib/mkfifoat.c: Likewise.
59174         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
59175         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
59176         * modules/sys_stat (Makefile.am): Use them.
59177         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
59178         * MODULES.html.sh (File system functions): Mention module.
59179         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
59180         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
59181         * modules/mkfifoat-tests: New test.
59182         * tests/test-mkfifoat.c: Likewise.
59184         strchrnul: relax license
59185         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
59186         okay.
59187         Reported by Jim Meyering.
59189 2009-09-08  Eric Blake  <ebb9@byu.net>
59191         fstatat: fix compilation on Solaris
59192         * lib/fstatat.c (includes): Add fcntl.h.
59193         Reported by Pádraig Brady.
59195 2009-09-07  Eric Blake  <ebb9@byu.net>
59197         rename: modernize replacement
59198         * modules/rename (Depends-on): Add stdio.
59199         (configure.ac): Declare witness.
59200         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
59201         stdio take care of replacement.
59202         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
59203         * modules/stdio (Makefile.am): Substitute them.
59204         * lib/stdio.in.h (rename): Declare replacement.
59205         * lib/rename.c (includes): Allow cross-compilation to non-windows
59206         machines.
59207         * doc/posix-functions/rename.texi (rename): Improve
59208         documentation.
59210         stdio: sort witness names
59211         * modules/stdio (Makefile.am): Sort replacements.
59212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
59213         * lib/stdio.in.h: Likewise.
59215         getcwd: minor cleanups
59216         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
59217         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
59219         openat: provide more convenience names
59220         * modules/faccessat (configure.ac): Add C witness.
59221         * lib/unistd.in.h (readlinkat): Fix typo.
59222         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
59223         convenience wrappers.
59224         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
59225         wrappers in syntax checks.
59227 2009-09-06  Eric Blake  <ebb9@byu.net>
59229         doc: fix comments in recent patches
59230         * lib/faccessat.c: Mention correct function.
59231         * lib/fchmodat.c: Likewise.
59232         * lib/fchownat.c: Likewise.
59233         * lib/symlinkat.c: Likewise.
59234         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
59235         constants.
59237         faccessat, symlinkat: continue cleanup of previous patch
59238         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
59239         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
59240         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
59241         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
59242         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
59243         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
59244         set.
59246 2009-09-06  Bruno Haible  <bruno@clisp.org>
59248         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
59249         (fstatat): Declare if GNULIB_FSTATAT is set.
59250         (mkdirat): Declare if GNULIB_MKDIRAT is set.
59251         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
59252         (unlinkat): Declare if GNULIB_UNLINKAT is set.
59253         * modules/fcntl-h (Files): Remove m4/openat.m4.
59254         * modules/sys_stat (Files): Remove m4/openat.m4.
59255         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
59256         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
59257         * modules/unistd (Files): Remove m4/openat.m4.
59258         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
59259         GNULIB_OPENAT.
59260         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
59261         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
59262         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
59263         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
59264         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
59265         gl_OPENAT_DEFAULTS.
59266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
59267         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
59268         Don't require gl_OPENAT_DEFAULTS.
59269         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
59270         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
59271         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
59272         (gl_OPENAT_DEFAULTS): Remove macro.
59274 2009-09-06  Bruno Haible  <bruno@clisp.org>
59276         * modules/openat (configure.ac): Remove unneeded witness.
59278 2009-09-06  Bruno Haible  <bruno@clisp.org>
59280         Set errno to ENOSYS when a function is entirely unsupported.
59281         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
59282         EOPNOTSUPP.
59283         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
59284         * modules/chown (Depends-on): Remove errno.
59286 2009-09-06  Bruno Haible  <bruno@clisp.org>
59288         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
59290 2009-09-06  Bruno Haible  <bruno@clisp.org>
59292         * lib/sys_stat.in.h: Fix preprocessor command indentation.
59294 2009-09-06  Ben Pfaff  <blp@gnu.org>
59295             Bruno Haible  <bruno@clisp.org>
59297         Work around a glibc bug in strtok_r.
59298         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
59299         Undefine if UNDEFINE_STRTOK_R is set.
59300         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
59301         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59302         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
59303         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
59304         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
59305         UNDEFINE_STRTOK_R.
59306         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
59308 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
59310         exclude: minor fix
59311         * lib/exclude.c: Include wctype.h
59313 2009-09-06  Akim Demaille  <demaille@gostai.com>
59315         bootstrap: improve error message
59316         * build-aux/bootstrap (find_tool): Upon failure, report the list
59317         of candidates.
59318         Honor the initial value of the envvar.
59320 2009-09-05  Eric Blake  <ebb9@byu.net>
59322         symlinkat: new module
59323         * modules/symlinkat: New file.
59324         * lib/symlinkat.c: Likewise.
59325         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
59326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
59327         * modules/unistd (Makefile.am): Use them.
59328         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
59329         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
59330         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
59331         * MODULES.html.sh (File system functions): Mention module.
59332         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
59333         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
59334         * modules/symlinkat-tests: New test.
59335         * tests/test-symlinkat.c: Likewise.
59337         test-openat-safer: add more checks
59338         * tests/test-openat-safer.c (main): Check more code paths.
59340 2009-09-05  Jim Meyering  <meyering@redhat.com>
59342         syntax-check: detect unnecessary inclusion of openat.h
59343         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
59345 2009-09-05  Bruno Haible  <bruno@clisp.org>
59347         Support towlower, towupper.
59348         * doc/posix-functions/towlower.texi: Mention module wctype.
59349         * doc/posix-functions/towupper.texi: Likewise.
59350         * lib/wctype.in.h (towlower, towupper): New functions.
59351         * tests/test-wctype.c: Include stdio.h, stdlib.h.
59352         (ASSERT): New macro.
59353         (e): New variable.
59354         (main): Test also towlower, towupper. Test WEOF argument.
59355         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
59357 2009-09-05  Bruno Haible  <bruno@clisp.org>
59359         Fix conversion behaviour when the input is invalid.
59360         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
59361         mark occurring in first pass of indirect conversion.
59362         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
59363         input.
59364         Found by clang's static analyzer.
59366 2009-09-05  Bruno Haible  <bruno@clisp.org>
59368         * tests/test-striconveh.c (main): Test indirect conversion on platforms
59369         where direct conversion is possible.
59371 2009-09-04  Eric Blake  <ebb9@byu.net>
59373         openat: fail with ENOENT on empty name
59374         * lib/openat-proc.c (openat_proc_name): Special-case the empty
59375         buffer.
59377         link-follow: fix logic bug in prior patch
59378         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
59379         reversed sense of yes and no in prior patch.  Avoid confusing
59380         compilation failure with desired semantics.
59382         link-follow: accommodate mingw and cross-compilation
59383         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
59384         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
59385         cross-compilation results to -1, to make linkat easier to
59386         implement when cross-compiling.  Trivially support mingw.
59387         * modules/link-follow (configure.ac): Call new name.
59388         * NEWS: Mention this.
59390 2009-09-03  Eric Blake  <ebb9@byu.net>
59392         faccessat: compile replacement
59393         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
59394         needed.
59396         fts: fix compilation error
59397         * lib/fts.c (includes): Re-add "openat.h", for
59398         openat_needs_fchdir.
59400         faccessat: new module
59401         * modules/faccessat: New file.
59402         * lib/faccessat.c: Likewise.
59403         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
59404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
59405         * modules/unistd (Makefile.am): Use it.
59406         * lib/unistd.in.h (faccessat): Declare it.
59407         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
59408         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
59409         * MODULES.html.sh (File system functions): Mention it.
59410         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
59411         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
59413         euidaccess: prefer POSIX over non-standard implementation
59414         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
59415         * lib/euidaccess.c (euidaccess): Use it if available.
59417         openat: make template easier to use
59418         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
59419         AT_FUNC_F2 to be undefined.
59420         (VALIDATE_FLAG): New macro; use it to reject bad flags.
59421         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
59422         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
59423         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
59424         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
59425         Likewise.
59426         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
59427         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
59428         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
59429         Likewise.
59431         openat: declare in POSIX headers
59432         * NEWS: Mention this.
59433         * modules/openat (configure.ac): Declare witnesses.
59434         (Depends-on): Add fcntl-h, sys_stat, unistd.
59435         (Include): Mention correct headers.
59436         * modules/fcntl-h (Depends-on): Add link-warning.
59437         (Files): Add openat.m4.
59438         (Makefile.am): Substitute witnesses.
59439         * modules/sys_stat (Files, Makefile.am): Likewise.
59440         * modules/unistd (Files, Makefile.am): Likewise.
59441         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
59442         (gl_OPENAT_DEFAULTS): New macro.
59443         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
59444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
59445         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
59446         (SYS_STAT_H): Remove unused variable.
59447         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
59448         * lib/fcntl--.h (includes): Remove unneeded header.
59449         * lib/openat-safer.c (includes): Likewise.
59450         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
59451         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
59452         appropriate headers.
59453         (__OPENAT_PREFIX): Delete.
59454         * lib/fcntl.in.h (openat): Provide declaration.
59455         (AT_FDCWD): Fix Solaris bug.
59456         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
59457         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
59458         * lib/fchmodat.c (includes):  Adjust to find declaration.
59459         * lib/fchownat.c (includes): Likewise.
59460         * lib/mkdirat.c (includes): Likewise.
59461         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
59462         still visible.
59464 2009-09-02  Eric Blake  <ebb9@byu.net>
59466         errno: use consistently
59467         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
59468         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
59469         * lib/canonicalize.c (ELOOP): Likewise.
59470         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
59471         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
59472         * lib/lchown.c (EOPNOTSUPP): Likewise.
59473         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
59474         * lib/savewd.c (ESTALE): Likewise.
59475         * lib/settime.c (ENOSYS): Likewise.
59476         * lib/utimens.c (ENOSYS): Likewise.
59477         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
59478         * lib/chdir-safer.c (ELOOP): Likewise.
59479         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
59480         * modules/c-stack (Depends-on): Add errno.
59481         * modules/canonicalize (Depends-on): Likewise.
59482         * modules/chdir-safer (Depends-on): Likewise.
59483         * modules/fdopendir (Depends-on): Likewise.
59484         * modules/inet_ntop (Depends-on): Likewise.
59485         * modules/inet_pton (Depends-on): Likewise.
59486         * modules/lchown (Depends-on): Likewise.
59487         * modules/openat (Depends-on): Likewise.
59488         * modules/savewd (Depends-on): Likewise.
59489         * modules/settime (Depends-on): Likewise.
59490         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
59492         fts: avoid leaking fds
59493         * modules/fts (Depends-on): Add cloexec.
59494         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
59495         flag.
59497         fts: make directory fds more robust
59498         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
59499         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
59501         backupfile, chdir-long, fts, savedir: make safer
59502         * lib/backupfile.c (includes): Use "dirent--.h", since
59503         numbered_backup can write to stderr during readdir.
59504         * lib/savedir.c (includes): Likewise.
59505         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
59506         emulation can write to stderr on failure.
59507         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
59508         * lib/getcwd.c: Document why opendir_safer is unused.
59509         * lib/glob.c: Likewise.
59510         * lib/scandir.c: Likewise.
59511         * lib/openat-proc.c: Likewise, for open_safer.
59512         * modules/backupfile (Depends-on): Add dirent-safer.
59513         * modules/savedir (Depends-on): Likewise.
59514         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
59515         * modules/chdir-long (Depends-on): Add openat-safer.
59517         openat-safer: new module
59518         * modules/openat-safer: New file.
59519         * lib/openat-safer.c: Likewise.
59520         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
59521         * lib/fcntl-safer.h (openat_safer): Declare.
59522         * lib/fcntl--.h (openat): Override.
59523         * MODULES.html.sh (File descriptor based I/O): Mention it.
59524         * lib/openat.h: Add double-inclusion guards.
59525         * lib/openat.c (includes): Only include "fcntl-safer.h", not
59526         "fcntl--.h", so we can implement openat.
59527         * modules/openat-safer-tests: New test.
59528         * tests/test-openat-safer.c: New file.
59530         dirent-safer: new module
59531         * modules/dirent-safer: New file.
59532         * lib/dirent--.h: Likewise.
59533         * lib/dirent-safer.h: Likewise.
59534         * lib/opendir-safer.c: Likewise.
59535         * m4/dirent-safer.m4: Likewise.
59536         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
59537         * modules/dirent-safer-tests: New test.
59538         * tests/test-dirent-safer.c: New file.
59539         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
59541         fdopendir: optimize on mingw
59542         * lib/unistd.in.h (_gl_directory_name): New prototype.
59543         * lib/fchdir.c (_gl_directory_name): Implement it.
59544         (fchdir): Use it to simplify implementation.
59545         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
59546         fchdir, when available, to avoid calling [f]chdir().
59548         fdopendir: split into its own module
59549         * lib/openat.c (fdopendir): Move...
59550         * lib/fdopendir.c: ...into new file.
59551         * modules/fdopendir: New module.
59552         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
59553         * modules/openat (Depends-on): Add fdopendir.
59554         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
59555         fdopendir here.
59556         * modules/savedir (Depends-on): Only need fdopendir, not full
59557         openat.
59558         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
59559         * lib/openat.h (fdopendir): Drop prototype.
59560         * lib/dirent.in.h (fdopendir): Provide prototype.
59561         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
59562         * modules/dirent (Makefile.am): Substitute them.
59563         * MODULES.html.sh (File system functions): Mention it.
59564         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
59565         * modules/fdopendir-tests: New file.
59566         * tests/test-fdopendir.c: Likewise.
59568         fchdir: use more consistent macro convention
59569         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
59570         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
59571         REPLACE_FCHDIR, rather than relying on config.h macros.
59572         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
59573         inside a single make-time REPLACE_FCHDIR block, rather than using
59574         the config.h FCHDIR_REPLACEMENT.
59575         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
59576         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
59577         Manage fstat replacement.
59578         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
59579         REPLACE_FCHDIR.
59580         * modules/sys_stat (Files): Add m4/unistd_h.m4.
59581         (Makefile.am): Substitute REPLACE_FCHDIR.
59582         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
59583         FCHDIR_REPLACEMENT.
59584         * lib/dup-safer.c (dup_safer): Likewise.
59585         * lib/dup2.c (rpl_dup2): Likewise.
59586         * lib/dup3.c (rpl_dup3): Likewise.
59587         * lib/open.c (rpl_open): Likewise.
59589         fchdir: simplify error handling, and support dup3
59590         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
59591         stdbool, malloc-posix, realloc-posix.
59592         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
59593         (ensure_dirs_slot): Return false on allocation failure.
59594         (rpl_dup2): Delete.
59595         (_gl_register_dup): New function.
59596         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
59597         (_gl_register_fd): Close fd on allocation failure.
59598         * lib/fcntl.in.h (_gl_register_fd): Update signature.
59599         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
59600         prototype.
59601         (rpl_dup2_fchdir): Delete prototype.
59602         * lib/open.c (open): Update caller.
59603         * lib/dup2.c (dup2): Track fchdir metadata.
59604         * lib/dup3.c (dup3): Likewise.
59605         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
59606         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
59608 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59610         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
59611         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
59612         don't pass arguments to AC_OUTPUT.
59614 2009-09-02  Bruno Haible  <bruno@clisp.org>
59616         * modules/mkdtemp (License): Relicense under LGPLv2+.
59617         Reported by Paolo Bonzini.
59619 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59621         Replace uses of obsolete autoconf macros in Jim's modules.
59622         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
59623         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
59624         can evoke a warning from autoconf when run with -Wobsolete
59625         enabled.  They were declared obsolete for good reasons (see
59626         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
59627         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
59628         should not continue using the deprecated macros.
59629         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
59630         obsolete Autoconf macros with modern counterparts.
59631         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
59632         * m4/dos.m4 (gl_AC_DOS): Likewise.
59633         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
59634         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
59635         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
59636         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
59637         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
59638         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
59639         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
59640         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
59641         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
59642         Likewise.
59643         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
59644         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
59645         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
59646         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
59647         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
59648         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
59650 2009-09-01  Eric Blake  <ebb9@byu.net>
59652         fchdir: fix off-by-one bug in previous patch
59653         * lib/fchdir.c (rpl_fstat): Use correct bounds.
59654         (_gl_unregister_fd): Delete useless if.
59656 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
59658         maint.mk: sort the list of syntax-check rules
59659         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
59660         easier to get a sense of progress when the rules are run sequentially
59661         and take a long time.
59663 2009-09-01  Simon Josefsson  <simon@josefsson.org>
59665         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
59666         * modules/netinet_in: Likewise.
59667         * modules/sys_file: Likewise.
59668         * modules/sys_ioctl: Likewise.
59669         * modules/sys_select: Likewise.
59670         * modules/sys_socket: Likewise.
59671         * modules/sys_stat: Likewise.
59672         * modules/sys_time: Likewise.
59673         * modules/sys_times: Likewise.
59674         * modules/sys_utsname: Likewise.
59675         * modules/sys_wait: Likewise.
59677 2009-09-01  Jim Meyering  <meyering@redhat.com>
59679         fts: help ensure that return values are not ignored
59680         * lib/fts_.h (__GNUC_PREREQ): Define.
59681         (__attribute_warn_unused_result__): Define.
59682         (fts_children, fts_close, fts_open, fts_read): Declare with
59683         __attribute_warn_unused_result__.
59685         fts: fts_close now fails also when closing a dir file descriptor fails
59686         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
59687         and propagate to caller, along with errno.
59689         announce-gen: correct formatting in --help output
59690         * build-aux/announce-gen (usage): Move the one-line description in
59691         --help output "up", to where it belongs, just after Usage:.
59693 2009-08-31  Eric Blake  <ebb9@byu.net>
59695         fchdir: port to mingw
59696         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
59697         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
59698         opened, then use a substitute.
59699         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
59700         replacement.
59701         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
59702         (_gl_register_fd): No need to check stat if open already filters
59703         all directories.
59704         (fchdir): Fix error condition to match POSIX.
59705         * modules/fchdir (Depends-on): Add sys_stat.
59706         * doc/posix-functions/open.texi (open): Document the limitation.
59707         * modules/fchdir-tests: New file.
59708         * tests/test-fchdir.c: Likewise.
59710         canonicalize: allow cross-testing from cygwin to mingw
59711         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
59712         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
59713         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
59714         Likewise.
59715         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
59716         target does not support symlinks.
59717         * tests/test-canonicalize-lgpl.sh: Likewise.
59719         chown: avoid compilation warning on mingw
59720         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
59721         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
59722         mingw.
59723         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
59724         * modules/chown (Depends-on): Add errno.
59726 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
59728         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
59729         command.
59731 2009-08-31  Jim Meyering  <meyering@redhat.com>
59733         canonicalize: remove useless initialization
59734         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
59735         initialization of local, "end".
59737 2009-08-30  Bruno Haible  <bruno@clisp.org>
59739         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
59740         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
59741         ENOSYS.
59743 2009-08-30  Bruno Haible  <bruno@clisp.org>
59745         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
59746         /usr/xpg4/bin/tr when it exists.
59747         * tests/test-pipe-filter-gi1.sh: Likewise.
59749 2009-08-30  Bruno Haible  <bruno@clisp.org>
59751         Work around deficient /usr/bin/id program on Solaris.
59752         * tests/test-file-has-acl.sh (ID): New variable.
59753         * tests/test-set-mode-acl.sh (ID): Likewise.
59754         * tests/test-copy-acl.sh (ID): Likewise.
59755         * tests/test-copy-file.sh (ID): Likewise.
59757 2009-08-30  Bruno Haible  <bruno@clisp.org>
59759         New module 'xstriconveh'.
59760         * lib/xstriconveh.h: New file.
59761         * lib/xstriconveh.c: New file.
59762         * modules/xstriconveh: New file.
59764 2009-08-30  Bruno Haible  <bruno@clisp.org>
59766         Make it easier to use mem_cd_iconveh.
59767         * lib/striconveh.h (iconveh_t): New type.
59768         (iconveh_open, iconveh_close): New declarations.
59769         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
59770         with a single 'const iconveh_t *' argument.
59771         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
59772         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
59773         with a single 'const iconveh_t *' argument.
59774         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
59775         * tests/test-striconveh.c (main): Update.
59776         * NEWS: Mention the change.
59778 2009-08-30  Bruno Haible  <bruno@clisp.org>
59780         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
59781         problem.
59783 2009-08-30  Bruno Haible  <bruno@clisp.org>
59785         Work around iconv_open problem on Solaris.
59786         * lib/iconv_open-solaris.gperf: New file.
59787         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
59788         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
59789         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
59790         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
59791         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
59792         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
59794 2009-08-29  Jim Meyering  <meyering@redhat.com>
59796         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
59797         * top/maint.mk (cvs-check): Remove target; it was just an alias
59798         to the better-named vc-diff-check.
59799         (maintainer-distcheck): Remove rule.  It was used only from
59800         the (alpha/beta/major) target, and all of its commands but one
59801         were coreutils-specific.
59802         (vc-dist): Remove rule.
59803         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
59804         Run vc-diff-check, not vc-dist.
59805         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
59807 2009-08-27  Bruno Haible  <bruno@clisp.org>
59809         * tests/test-bitrotate.c (main): Remove test that uses a shift count
59810         of 0.
59812 2009-08-27  Bruno Haible  <bruno@clisp.org>
59814         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
59815         compilers.
59816         * doc/func.texi: Document the SunPRO C bug.
59818 2009-08-27  Bruno Haible  <bruno@clisp.org>
59820         Fix link error on Solaris.
59821         * tests/test-parse-duration.c (xstrdup): Remove function.
59823 2009-08-26  Pádraig Brady  <P@draigbrady.com>
59825         ignore-value: handle pointer types, too
59826         * lib/ignore-value.h (__attribute__): Remove definition.
59827         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
59828         of a more concise and more-often effective "(void) i" statement.
59829         (ignore_ptr): New function to suppress warnings from functions that
59830         return pointers, and to make it explicit that one function doesn't
59831         handle all cases.
59833 2009-08-25  Bruno Haible  <bruno@clisp.org>
59835         dup2: work around a Linux bug.
59836         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
59837         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
59838         * doc/posix-functions/dup2.texi: Mention the Linux bug.
59839         Reported by Simon Josefsson.
59841 2009-08-25  Jim Meyering  <meyering@redhat.com>
59843         libguestfs uses gnulib
59844         * users.txt: Add libguestfs.
59846 2009-08-24  Eric Blake  <ebb9@byu.net>
59848         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
59849         * lib/pipe2.c (includes): Add binary-io.h.
59850         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
59852 2009-08-24  Bruno Haible  <bruno@clisp.org>
59854         Tolerate declared but missing accept4 syscall.
59855         * lib/accept4.c (accept4): Invoke original accept4 function first, if
59856         available.
59857         * lib/sys_socket.in.h (accept4): If the function is already present,
59858         override it.
59859         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
59860         * modules/accept4 (Makefile.am): Compile accept4.c always.
59861         Reported by Paolo Bonzini and Eric Blake.
59863 2009-08-23  Bruno Haible  <bruno@clisp.org>
59865         New module 'accept4'.
59866         * lib/sys_socket.in.h (accept4): New declaration.
59867         * lib/accept4.c: New file.
59868         * m4/accept4.m4: New file.
59869         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
59870         GNULIB_ACCEPT4, HAVE_ACCEPT4.
59871         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
59872         HAVE_ACCEPT4.
59873         * modules/accept4: New file.
59874         * doc/glibc-functions/accept4.texi: Mention the new module.
59876 2009-08-24  Jim Meyering  <meyering@redhat.com>
59878         progname: also set global program_invocation_name, when possible
59879         Before this change, a libtool-enabled program that calls glibc's
59880         error function would report the program name as
59881         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
59882         * modules/progname (configure.ac): Check for a declaration of
59883         program_invocation_name.
59884         * lib/progname.c:  Include <errno.h>.
59885         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
59886         Set program_invocation_name.
59888 2009-08-23  Bruno Haible  <bruno@clisp.org>
59890         * lib/dup3.c: Include <string.h>.
59892 2009-08-23  Bruno Haible  <bruno@clisp.org>
59894         * lib/dup3.c (dup3): Test only once whether the system actually exists.
59895         * lib/pipe2.c (pipe2): Likewise.
59896         Suggested by Eric Blake.
59898 2009-08-23  Bruno Haible  <bruno@clisp.org>
59900         Tolerate declared but missing dup3 syscall.
59901         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
59902         * lib/unistd.in.h (dup3): If the function is already present,
59903         override it.
59904         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
59905         * modules/dup3 (Makefile.am): Compile dup3.c always.
59906         Reported by Paolo Bonzini.
59908 2009-08-23  Bruno Haible  <bruno@clisp.org>
59910         Tolerate declared but missing pipe2 syscall.
59911         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
59912         available.
59913         * lib/unistd.in.h (pipe2): If the function is already present,
59914         override it.
59915         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
59916         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
59917         Reported by Paolo Bonzini.
59919 2009-08-23  Bruno Haible  <bruno@clisp.org>
59921         * lib/pipe2.c (pipe2): Move #ifs inside function.
59923 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
59925         quotearg: document limitations of quote_these_too
59926         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
59927         those limitations are created.
59928         * lib/quotearg.h (set_char_quoting): Document that digits and
59929         letters that are special after backslash are not permitted.
59930         (quotearg_char): Cross-reference set_char_quoting documentation.
59932 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
59934         quotearg: implement custom_quoting_style
59935         * lib/quotearg.c: (struct quoting_options): Add left_quote and
59936         right_quote fields.
59937         (set_custom_quoting): New public function.
59938         (quotearg_buffer_restyled): Add left_quote and right_quote
59939         arguments, handle them very much like locale quoting, and update
59940         all uses.
59941         (quotearg_n_custom): New public function.
59942         (quotearg_n_custom_mem): New public function.
59943         (quotearg_custom): New public function.
59944         (quotearg_custom_mem): New public function.
59945         * lib/quotearg.h: Prototype and document new public functions.
59946         (enum quoting_style): For escape_quoting_style and
59947         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
59948         ignored even though they're otherwise like c_quoting_style.
59949         Add custom_quoting_style member and document with comparison to
59950         clocale_quoting_style.
59951         * tests/test-quotearg.c (custom_quotes): New array.
59952         (custom_results): New array.
59953         (main): Extend to test custom quoting.
59955 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
59957         quotearg: fix right quote escaping when it's in quote_these_too
59958         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
59959         quote, be sure to prepend only one backslash.
59960         * tests/test-quotearg.c (use_quote_double_quotes): New function.
59961         (main): Test it.
59963 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
59965         quotearg-tests: test escaping of embedded locale quotes
59966         * tests/test-quotearg.c (struct result_strings): Add member for
59967         new input.
59968         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
59969         (inputs): Add new input.
59970         (results_g): Add expected results.
59971         (flag_results): Likewise.
59972         (locale_results): Likewise.
59973         (compare_strings): Check those.
59975 2009-08-23  Bruno Haible  <bruno@clisp.org>
59977         Tests for module 'dup3'.
59978         * modules/dup3-tests: New file.
59979         * tests/test-dup3.c: New file.
59981         New module 'dup3'.
59982         * lib/unistd.in.h (dup3): New declaration.
59983         * lib/dup3.c: New file.
59984         * m4/dup3.m4: New file.
59985         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
59986         HAVE_DUP3.
59987         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
59988         * modules/dup3: New file.
59989         * doc/glibc-functions/dup3.texi: Mention the new module.
59991 2009-08-23  Bruno Haible  <bruno@clisp.org>
59993         Tweak the dup2 test.
59994         * tests/test-dup2.c (main): Create the test file empty. Verify that an
59995         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
59996         the test file is still empty. Fix argument order of lseek.
59998 2009-08-23  Bruno Haible  <bruno@clisp.org>
60000         Avoid test link errors when the modules getopt-gnu, gettext are used.
60001         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
60002         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
60004 2009-08-23  Bruno Haible  <bruno@clisp.org>
60006         Fix getdtablesize() on mingw.
60007         * lib/getdtablesize.c (getdtablesize): Implement differently.
60008         * lib/unistd.in.h (getdtablesize): Improve comment.
60010 2009-08-23  Bruno Haible  <bruno@clisp.org>
60012         New module 'mkostemp'.
60013         Based on Ulrich Drepper's 2007-08-10 change in glibc.
60014         * lib/stdlib.in.h (mksotemp): New declaration.
60015         * lib/mkostemp.c: New file, from glibc with modifications.
60016         * lib/tempname.h (GT_FILE): Remove outdated comment.
60017         (gen_tempname): Add flags argument.
60018         * lib/tempname.c (__GT_BIGFILE): Remove macro.
60019         (__GT_FILE): Map to 1.
60020         (small_open, large_open): Remove macros.
60021         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
60022         * lib/mkstemp.c (mkstemp): Update.
60023         * lib/mkdtemp.c (mkdtemp): Likewise.
60024         * m4/mkostemp.m4: New file.
60025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
60026         HAVE_MKOSTEMP.
60027         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
60028         HAVE_MKOSTEMP.
60029         * modules/mkostemp: New file, based on modules/mkstemp.
60030         * doc/glibc-functions/mkostemp.texi: Mention the new module.
60031         * NEWS: Mention the change.
60033 2009-08-23  Bruno Haible  <bruno@clisp.org>
60035         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
60036         Reported by Eric Blake.
60038 2009-08-23  Bruno Haible  <bruno@clisp.org>
60040         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
60041         Reported by Eric Blake.
60043 2009-08-23  Bruno Haible  <bruno@clisp.org>
60045         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
60046         * modules/pipe2 (Depends-on): Likewise.
60048 2009-08-23  Eric Blake  <ebb9@byu.net>
60050         fcntl-h: add O_TTY_INIT support
60051         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
60052         * tests/test-fcntl-h.c (o): Test it.
60053         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
60055         fcntl-h: rename from fcntl, in preparation for fcntl(2)
60056         * modules/fcntl: Move <fcntl.h> header replacement...
60057         * modules/fcntl-h: ...to new name, so as not to collide with
60058         like-named function.
60059         * tests/test-fcntl.c: Rename...
60060         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
60061         * modules/fcntl-tests: Rename...
60062         * modules/fcntl-h-tests: ...to this.  Update test file name.
60063         * modules/chdir-long (Depends-on): Update clients.
60064         * modules/chdir-safer (Depends-on): Likewise.
60065         * modules/fcntl-safer (Depends-on): Likewise.
60066         * modules/fts (Depends-on): Likewise.
60067         * modules/mkancesdirs (Depends-on): Likewise.
60068         * modules/mkdir-p (Depends-on): Likewise.
60069         * modules/open (Depends-on): Likewise.
60070         * modules/savewd (Depends-on): Likewise.
60071         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
60072         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
60074 2009-08-22  Bruno Haible  <bruno@clisp.org>
60076         * modules/binary-io (License): Relicense under LGPL.
60077         * modules/pipe2 (License): Likewise.
60079 2009-08-22  Bruno Haible  <bruno@clisp.org>
60081         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
60082         return value.
60083         * lib/pipe-filter-gi.c (filter_init): Likewise.
60084         Reported by Eric Blake.
60086 2009-08-22  Bruno Haible  <bruno@clisp.org>
60088         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
60089         * modules/pipe (Depends-on): Add pipe2.
60091 2009-08-22  Bruno Haible  <bruno@clisp.org>
60093         Tests for module 'pipe2'.
60094         * modules/pipe2-tests: New file.
60095         * tests/test-pipe2.c: New file.
60097         New module 'pipe2'.
60098         * lib/unistd.in.h (pipe2): New declaration.
60099         * lib/pipe2.c: New file.
60100         * m4/pipe2.m4: New file.
60101         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
60102         HAVE_PIPE2.
60103         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
60104         * modules/pipe2: New file.
60105         * doc/glibc-functions/pipe2.texi: Mention the new module.
60107 2009-08-22  Bruno Haible  <bruno@clisp.org>
60109         Reference some new glibc functions.
60110         * doc/glibc-functions/accept4.texi: New file.
60111         * doc/glibc-functions/dup3.texi: New file.
60112         * doc/glibc-functions/mkostemp.texi: New file.
60113         * doc/glibc-functions/pipe2.texi: New file.
60114         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
60115         (Glibc sys/socket.h): Refer to accept4.
60116         (Glibc unistd.h): Refer to dup3, pipe2.
60117         Reported by Eric Blake.
60119 2009-08-22  Jim Meyering  <meyering@redhat.com>
60120             Bruno Haible  <bruno@clisp.org>
60122         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
60123         This makes it so packages using automake-1.11's silent-rules option
60124         can print e.g., a single "GEN    configmake.h" line, rather than
60125         the 30+ statements that perform the job.  If you want to see the
60126         actual commands, you can still run "make V=1".
60127         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
60128         so that make output is abbreviated when those variables are defined
60129         appropriately.
60130         * modules/argz: Likewise.
60131         * modules/arpa_inet: Likewise.
60132         * modules/byteswap: Likewise.
60133         * modules/configmake: Likewise.
60134         * modules/dirent: Likewise.
60135         * modules/errno: Likewise.
60136         * modules/fcntl: Likewise.
60137         * modules/float: Likewise.
60138         * modules/fnmatch: Likewise.
60139         * modules/getopt-posix: Likewise.
60140         * modules/glob: Likewise.
60141         * modules/iconv_open: Likewise.
60142         * modules/inttypes: Likewise.
60143         * modules/localcharset: Likewise.
60144         * modules/locale: Likewise.
60145         * modules/math: Likewise.
60146         * modules/netdb: Likewise.
60147         * modules/netinet_in: Likewise.
60148         * modules/poll: Likewise.
60149         * modules/posix_spawnp-tests: Likewise.
60150         * modules/sched: Likewise.
60151         * modules/search: Likewise.
60152         * modules/selinux-h: Likewise.
60153         * modules/signal: Likewise.
60154         * modules/spawn: Likewise.
60155         * modules/stdarg: Likewise.
60156         * modules/stdbool: Likewise.
60157         * modules/stddef: Likewise.
60158         * modules/stdint: Likewise.
60159         * modules/stdio: Likewise.
60160         * modules/stdlib: Likewise.
60161         * modules/string: Likewise.
60162         * modules/strings: Likewise.
60163         * modules/sys_file: Likewise.
60164         * modules/sys_ioctl: Likewise.
60165         * modules/sys_select: Likewise.
60166         * modules/sys_socket: Likewise.
60167         * modules/sys_stat: Likewise.
60168         * modules/sys_time: Likewise.
60169         * modules/sys_times: Likewise.
60170         * modules/sys_utsname: Likewise.
60171         * modules/sys_wait: Likewise.
60172         * modules/sysexits: Likewise.
60173         * modules/time: Likewise.
60174         * modules/unistd: Likewise.
60175         * modules/wchar: Likewise.
60176         * modules/wctype: Likewise.
60178 2009-08-22  Jim Meyering  <meyering@redhat.com>
60180         announce-gen: detect write failure
60181         * build-aux/announce-gen: Add Coda at end.
60182         Remove equivalent-but-more-verbose block at top.
60184 2009-08-19  Akim Demaille  <demaille@gostai.com>
60186         bootstrap: --help to stdout.
60187         * bootstrap (usage): Don't send --help to stderr.
60188         Use a here doc instead of a long string.
60190 2009-08-21  Eric Blake  <ebb9@byu.net>
60192         test-popen-safer: split from test-popen
60193         * tests/test-popen.c (main): Move...
60194         * tests/test-popen.h: ...into new file.
60195         * tests/test-popen-safer2.c: New file.
60196         * modules/popen-tests (Files): Add test-popen.h.
60197         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
60198         Suggested by Bruno Haible.
60200         test-fcntl-safer: split from test-open
60201         * tests/test-open.c (main): Move...
60202         * tests/test-open.h: ...into new file.
60203         * tests/test-fcntl-safer.c: New file.
60204         * modules/open-tests (Files): Add test-open.h.
60205         * modules/fcntl-safer-tests: New file.
60206         Suggested by Bruno Haible.
60208         test-fopen-safer: split from test-fopen
60209         * tests/test-fopen.c (main): Move...
60210         * tests/test-fopen.h: ...into new file.
60211         * tests/test-fopen-safer.c: New file.
60212         * modules/fopen-tests (Files): Add test-fopen.h.
60213         * modules/fopen-safer-tests: New file.
60214         Suggested by Bruno Haible.
60216 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
60218         popen-safer: test O_CLOEXEC at run-time.
60219         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
60221 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
60223         fcntl: move more flags to the header
60224         * lib/cloexec.c: Do not define FD_CLOEXEC here.
60225         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
60226         * lib/fcntl.in.h: Do both things here.
60228 2009-08-21  Jim Meyering  <meyering@redhat.com>
60230         consistently remove $@-t before redirecting to it
60231         * modules/argz: Remove $@-t and $@ before redirecting to the former.
60232         * modules/alloca-opt: Likewise.
60233         * modules/byteswap: Likewise.
60234         * modules/fnmatch: Likewise.
60235         * modules/getopt-posix: Likewise.
60236         * modules/glob: Likewise.
60237         * modules/poll: Likewise.
60238         * modules/posix_spawnp-tests: Likewise.
60239         * modules/sys_socket: Likewise.
60240         * modules/sysexits: Likewise.
60242 2009-08-21  Eric Blake  <ebb9@byu.net>
60244         popen: simplify access to original popen
60245         * lib/popen.c (rpl_popen): No need to worry about popen being a
60246         macro.
60247         Reported by Bruno Haible.
60249 2009-08-20  Eric Blake  <ebb9@byu.net>
60251         build: avoid some compiler warnings
60252         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
60253         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
60254         type.
60255         (new_exclude_segment, excluded_file_pattern_p)
60256         (excluded_file_name_p): Reduce scope.
60257         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
60258         old-style declaration.
60260 2009-08-20  Simon Josefsson  <simon@josefsson.org>
60262         * tests/test-exclude1.sh: Handle Windows EOL.
60263         * tests/test-exclude2.sh: Likewise.
60264         * tests/test-exclude3.sh: Likewise.
60265         * tests/test-exclude4.sh: Likewise.
60266         * tests/test-exclude5.sh: Likewise.
60267         * tests/test-exclude6.sh: Likewise.
60268         * tests/test-exclude7.sh: Likewise.
60270 2009-08-19  Akim Demaille  <demaille@gostai.com>
60272         bootstrap: find sha1sum when named gsha1sum.
60273         * bootstrap (find_tool): New.
60274         ($SHA1SUM): New.
60275         Use it.
60277 2009-08-20  Jim Meyering  <meyering@redhat.com>
60279         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
60280         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
60281         expression that converts "." in a file name to "\." in the resulting
60282         regexp.  Start with a dummy statement, so that prior shell variable
60283         definitions are expanded portably.  Reported by Simon Josefsson.
60285 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
60287         Fix polling for writeability of a screen buffer.
60288         * lib/poll.c: Distinguish input and screen buffers for the
60289         Win32 implementation.
60290         * lib/select.c: Likewise.
60292 2009-08-19  Eric Blake  <ebb9@byu.net>
60294         popen-safer: prevent popen from clobbering std descriptors
60295         * modules/popen-safer: New file.
60296         * lib/popen-safer.c: Likewise.
60297         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
60298         * lib/stdio--.h (popen): Provide override.
60299         * lib/stdio-safer.h (popen_safer): Provide declaration.
60300         * tests/test-popen.c (includes): Partially test this.
60301         * modules/popen-safer-tests: New file, for more tests.
60302         * tests/test-popen-safer.c: Likewise.
60303         * MODULES.html.sh (file stream based Input/Output): Mention it.
60305         tests: test some of the *-safer modules
60306         * modules/fopen-safer (Depends-on): Add fopen.
60307         * modules/fcntl-safer (Depends-on): Add fcntl.
60308         * modules/stdlib-safer (Depends-on): Add stdlib.
60309         (configure.ac): Set indicator.
60310         * modules/unistd-safer (configure.ac): Likewise.
60311         * modules/tmpfile-safer (configure.ac): Likewise.
60312         (Depends-on): Add tmpfile.
60313         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
60314         active.
60315         * tests/test-fopen.c (includes): Test safer versions when they are
60316         in use.
60317         * tests/test-open.c (includes): Likewise.
60319         popen: fix cygwin 1.5 bug when stdin closed
60320         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
60321         * modules/popen: New file.
60322         * modules/popen-tests: Likewise.
60323         * tests/test-popen.c: Likewise.
60324         * m4/popen.m4: Likewise.
60325         * lib/popen.c: Likewise.
60326         * lib/stdio.in.h (popen): New declaration.
60327         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
60328         * modules/stdio (Makefile.am): Likewise.
60329         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
60331 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
60333         maint.mk: give full control over update-copyright exclusions
60334         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
60335         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
60336         (update-copyright): Don't force inclusion of top-level
60337         ChangeLog.  Don't force exclusion of all COPYING files, but make
60338         them the default exclusion instead.
60340 2009-08-16  Bruno Haible  <bruno@clisp.org>
60342         Fix test failures on Solaris 10.
60343         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
60344         tests when Solaris iconv() is used.
60345         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
60346         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
60347         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
60348         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
60349         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
60351 2009-08-16  Bruno Haible  <bruno@clisp.org>
60353         Fix test failures on Solaris 10.
60354         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
60355         'tr' program and pass it as first argument.
60356         * tests/test-pipe-filter-gi1.sh: Likewise.
60357         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
60358         program as first argument.
60359         * tests/test-pipe-filter-gi1.c (main): Likewise.
60361 2009-08-16  Eric Blake  <ebb9@byu.net>
60363         fpurge: fix previous commits
60364         * modules/fpurge (Makefile.am): Make replacement conditional,
60365         partially reverting 2007-04-29 change; missed in previous
60366         attempt.
60367         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
60368         is missing.
60370 2009-08-16  Bruno Haible  <bruno@clisp.org>
60372         Clarify fpurge's effect on the file position.
60373         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
60374         * tests/test-fpurge.c (main): Make a second pass for checking the file
60375         position.
60377 2009-08-16  Bruno Haible  <bruno@clisp.org>
60379         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
60380         declaration of fpurge is missing.
60381         * tests/test-fpurge.c (main): Check that the file has not more contents
60382         than expected. Close the file before removing it.
60384 2009-08-15  Eric Blake  <ebb9@byu.net>
60386         fpurge: don't wrap working cygwin implementation
60387         * lib/fpurge.c (fpurge): Fix comment typo.
60388         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
60389         1.7 to avoid replacement.
60390         * tests/test-fpurge.c (main): Enhance test.
60392 2009-08-15  Eric Blake  <ebb9@byu.net>
60393         and Jim Meyering  <meyering@redhat.com>
60395         test-update-copyright: skip if perl is insufficient
60396         * tests/test-update-copyright.sh: Failure to run maintainer tool
60397         should not cause testsuite failure on cygwin 1.5.
60399 2009-08-14  Eric Blake  <ebb9@byu.net>
60401         doc: mention more functions added in cygwin 1.7.0
60402         * doc/posix-headers/limits.texi (limits.h): Update for recent
60403         cygwin additions.
60404         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
60405         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
60406         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
60407         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
60408         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
60410 2009-08-14  Eric Blake  <ebb9@byu.net>
60412         maint.mk: simplify update-copyright rule
60413         * top/maint.mk (update-copyright-local): Delete, and document how
60414         to do it in cfg.mk instead.
60415         (update-copyright-exclude-regexp): Delete, and document how to do
60416         it in .x-update-copyright instead.
60417         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
60418         exclude ChangeLog.
60420 2009-08-14  Bruno Haible  <bruno@clisp.org>
60422         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
60424 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
60426         maint.mk: support update-copyright-env
60427         * top/maint.mk (update-copyright-env): Define place-holder.
60428         (update-copyright): Expand $(update-copyright-env) before
60429         invoking update-copyright.
60431 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
60433         update-copyright: implement forced reformatting
60434         * build-aux/update-copyright: Implement and document
60435         UPDATE_COPYRIGHT_FORCE.
60436         * tests/test-update-copyright.sh: Test it.
60438 2009-08-14  Eric Blake  <ebb9@byu.net>
60439         and Bruno Haible  <bruno@clisp.org>
60441         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
60442         * tests/test-locale.c: Revert previous patch related to NULL.
60443         * tests/test-stdio.c: Likewise.
60444         * tests/test-stdlib.c: Likewise.
60445         * tests/test-string.c: Likewise.
60446         * tests/test-unistd.c: Likewise.
60447         * modules/time-tests (Depends-on): Add verify.
60448         * modules/wchar-tests (Depends-on): Likewise.
60449         * tests/test-time.c: Test for NULL compliance.
60450         * tests/test-wchar.c: Likewise.
60451         * modules/locale (Depends-on): Add stddef.
60452         * modules/stdio (Depends-on): Likewise.
60453         * modules/stdlib (Depends-on): Likewise.
60454         * modules/string (Depends-on): Likewise.
60455         * modules/time (Depends-on): Likewise.
60456         * modules/unistd (Depends-on): Likewise.
60457         * modules/wchar (Depends-on): Likewise.
60458         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
60459         * lib/stdlib.in.h (includes): Likewise.
60460         * lib/string.in.h (includes): Likewise.
60461         * lib/time.in.h (includes): Likewise.
60462         * lib/unistd.in.h (includes): Likewise.
60463         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
60464         replaced.
60465         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
60466         * m4/stddef_h.m4: New file.
60467         * modules/stddef: Likewise.
60468         * lib/stddef.in.h: Likewise.
60469         * modules/stddef-tests: Likewise.
60470         * tests/test-stddef.c: Likewise.
60471         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
60472         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
60473         * doc/posix-headers/locale.texi (locale.h): Likewise.
60474         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
60475         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
60476         * doc/posix-headers/string.texi (string.h): Likewise.
60477         * doc/posix-headers/time.texi (time.h): Likewise.
60478         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
60479         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
60481 2009-08-14  Eric Blake  <ebb9@byu.net>
60483         doc: improve git diff of texinfo files
60484         * .gitattributes: Add rule for *.texi files, with hint on how to
60485         use it.
60486         Copied from m4, and based on a report by Bruno Haible.
60488 2009-08-14  Bruno Haible  <bruno@clisp.org>
60490         Disable multithread support by default on Cygwin 1.5.x for real.
60491         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
60493 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
60495         update-copyright: much ado about intervals
60496         * build-aux/update-copyright: Implement and document
60497         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
60498         of copyright year intervals.
60499         Also, document UPDATE_COPYRIGHT_YEAR.
60500         * tests/test-update-copyright.sh: Test it.
60502         update-copyright: convert 2-digit to 4-digit years
60503         * build-aux/update-copyright: Implement and document.
60504         * tests/test-update-copyright.sh: Update.
60506 2009-08-14  Jim Meyering  <meyering@redhat.com>
60508         test-exclude: avoid coreutils "make check" failure
60509         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
60510         just as in test-argmatch.c.
60512 2009-08-13  Eric Blake  <ebb9@byu.net>
60514         test-dup2: fix bad assumption
60515         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
60516         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
60518         test-version-etc: fix CRLF portability issue
60519         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
60520         recognize \r.
60521         * tests/test-argp-version-etc-1.sh: Likewise.
60523         getopt: update client modules
60524         * modules/argp (Depends-on): Use getopt-gnu.
60525         * modules/git-merge-changelog (Depends-on): Likewise.
60526         * modules/long-options (Depends-on): Likewise.
60527         * modules/xstrtol (Depends-on): Likewise.
60529 2009-08-13  Simon Josefsson  <simon@josefsson.org>
60531         * tests/test-version-etc.sh: Don't fail on different
60532         project/version.  Don't fail on CRLF differences.  Rewrite to use
60533         multiple -e instead of multiple sed forks, suggested by Eric Blake
60534         <ebb9@byu.net>.
60535         * tests/test-argp-version-etc-1.sh: Likewise.
60537 2009-08-13  Simon Josefsson  <simon@josefsson.org>
60539         * tests/test-version-etc.sh: Don't fail on different
60540         project/version.
60542 2009-08-12  Bruno Haible  <bruno@clisp.org>
60544         Tests for modules 'getopt-posix', 'getopt-gnu'.
60545         * modules/getopt-posix-tests: New file.
60546         * tests/test-getopt.c: New file.
60547         * tests/test-getopt.h: New file.
60548         * tests/test-getopt_long.h: New file.
60550         New modules 'getopt-posix', 'getopt-gnu'.
60551         * modules/getopt-gnu: New file, renamed from modules/getopt.
60552         * modules/getopt-posix: New file.
60553         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
60554         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
60555         (gl_GETOPT): Remove macro.
60556         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
60557         Disable the test against BSD systems that declare optreset. Test
60558         against mingw bug. Test against lack of support of optional arguments
60559         on many platforms.
60560         * doc/glibc-headers/getopt.texi: Update module name and list of
60561         relevant platforms.
60562         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
60563         'getopt-gnu' and more portability problems.
60564         * NEWS: Mention the changes.
60566 2009-08-12  Bruno Haible  <bruno@clisp.org>
60568         Ensure that optarg etc. get declared by <unistd.h>.
60569         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
60570         AC_USE_SYSTEM_EXTENSIONS.
60571         * modules/getopt (Depends-on): Add 'extensions'.
60573 2009-08-12  Bruno Haible  <bruno@clisp.org>
60575         Avoid test link errors.
60576         * modules/pipe-filter-ii-tests (Makefile.am): Define
60577         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
60578         * modules/pipe-filter-gi-tests (Makefile.am): Define
60579         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
60580         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
60582 2009-08-12  Bruno Haible  <bruno@clisp.org>
60584         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
60585         gl_GETOPT_SUBSTITUTE before.
60586         (gl_GETOPT): Use it.
60587         * m4/argp.m4 (gl_ARGP): Update.
60588         Reported by Sergey Poznyakoff.
60590         * m4/getopt.m4: Reorder macros.
60591         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
60592         (gl_GETOPT_SUBSTITUTE): Remove macro.
60594 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60596         Minor improvement in gitlog-to-changelog
60598         * build-aux/gitlog-to-changelog: New option `--format' makes
60599         output format string configurable.
60601 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60603         Optimize exclude: use hash tables for non-wildcard patterns.
60605         * lib/exclude.c: Include hash.h and mbuiter.h
60606         (struct exclude_pattern, exclude_segment): New data types.
60607         (struct exclude): Rewrite.
60608         (fnmatch_pattern_has_wildcards): New function.
60609         (new_exclude_segment, free_exclude_segment): New functions.
60610         (excluded_file_pattern_p, excluded_file_name_p): New functions.
60611         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
60612         * lib/exclude.h (is_fnmatch_pattern): New prototype.
60613         * modules/exclude: Depend on hash and mbuiter.
60615         * modules/exclude-tests: New file.
60616         * tests/test-exclude.c: New file.
60617         * tests/test-exclude1.sh: New file.
60618         * tests/test-exclude2.sh: New file.
60619         * tests/test-exclude3.sh: New file.
60620         * tests/test-exclude4.sh: New file.
60621         * tests/test-exclude5.sh: New file.
60622         * tests/test-exclude6.sh: New file.
60623         * tests/test-exclude7.sh: New file.
60625 2009-08-12  Bruno Haible  <bruno@clisp.org>
60627         Ensure that getopt() gets declared by <unistd.h>.
60628         * lib/unistd.in.h: Conditionally include getopt.h.
60629         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
60630         Set GNULIB_UNISTD_H_GETOPT.
60631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60632         GNULIB_UNISTD_H_GETOPT.
60633         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
60635 2009-08-12  Bruno Haible  <bruno@clisp.org>
60637         Clarify logic.
60638         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
60639         gl_replace_getopt instead of GETOPT_H.
60641 2009-08-12  Bruno Haible  <bruno@clisp.org>
60643         * m4/getopt.m4: Add comments.
60645 2009-08-12  Bruno Haible  <bruno@clisp.org>
60647         Disable multithread support by default on Cygwin 1.5.x.
60648         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
60649         set gl_use_threads=no if not specified otherwise.
60651 2009-08-11  Bruno Haible  <bruno@clisp.org>
60653         Avoid compilation error on NetBSD 5.0.
60654         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
60655         * tests/test-stdio.c: Likewise.
60656         * tests/test-stdlib.c: Likewise.
60657         * tests/test-string.c: Likewise.
60658         * tests/test-unistd.c: Likewise.
60659         Reported by Greg Troxel <gdt@ir.bbn.com>
60660         at <https://savannah.gnu.org/support/?106973>.
60662 2009-08-11  Bruno Haible  <bruno@clisp.org>
60664         * modules/dup2-tests (Depends-on): Remove close.
60666         Undo 2009-07-19 commit.
60667         * modules/acl-tests (Depends-on): Remove close.
60668         * modules/binary-io-tests (Depends-on): Likewise.
60669         * modules/closein-tests (Depends-on): Likewise.
60670         * modules/flock-tests (Depends-on): Likewise.
60671         * modules/fsync-tests (Depends-on): Likewise.
60672         * modules/lseek-tests (Depends-on): Likewise.
60673         * modules/pipe-tests (Depends-on): Likewise.
60674         * modules/posix_spawn-tests (Depends-on): Likewise.
60675         * modules/posix_spawnp-tests (Depends-on): Likewise.
60676         * modules/stat-time-tests (Depends-on): Likewise.
60677         * modules/yesno-tests (Depends-on): Likewise.
60679 2009-08-10  Bruno Haible  <bruno@clisp.org>
60681         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
60683 2009-08-10  Bruno Haible  <bruno@clisp.org>
60685         Fix a gcc warning.
60686         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
60688 2009-08-10  Bruno Haible  <bruno@clisp.org>
60690         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
60691         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
60692         not only the first time.
60693         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
60694         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
60695         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
60696         is 1, not only the first time.
60698 2009-08-10  Bruno Haible  <bruno@clisp.org>
60700         Make it possible to use module 'gethostname' without module 'close'.
60701         * lib/unistd.in.h (close): Evoke a link error only if
60702         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
60703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60704         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
60705         * modules/unistd (Makefile.am): Substitute
60706         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
60707         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
60708         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
60709         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
60710         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
60711         * modules/sys_ioctl (Makefile.am): Substitute
60712         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
60713         * modules/socket (configure.ac): On native Windows, set
60714         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
60715         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
60716         Reported by Sam Steingold <sds@gnu.org>.
60718 2009-08-10  Bruno Haible  <bruno@clisp.org>
60720         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
60721         * modules/ioctl (configure.ac): Likewise.
60723 2009-08-10  Bruno Haible  <bruno@clisp.org>
60725         Avoid collision between gnulib wrapper and libintl wrapper.
60726         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
60727         already defined in intl/printf.c.
60728         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
60729         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
60731 2009-08-09  Bruno Haible  <bruno@clisp.org>
60733         Make <sys/select.h> really self-contained, also on Solaris 10.
60734         * lib/sys_select.in.h: Include <string.h>.
60735         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
60736         Solaris 10 problem.
60737         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
60738         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
60739         Reported by Jim Meyering.
60741 2009-08-09  Bruno Haible  <bruno@clisp.org>
60743         Avoid warnings from 'aclocal' that are due to a use of macro name
60744         AM_XGETTEXT_OPTION that is not defined in automake.
60745         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
60746         automake.
60747         * modules/error (configure.ac): Likewise.
60748         * modules/propername (configure.ac): Likewise.
60749         * modules/vasprintf (configure.ac): Likewise.
60750         * modules/verror (configure.ac): Likewise.
60751         * modules/xprintf (configure.ac): Likewise.
60752         * modules/xvasprintf (configure.ac): Likewise.
60754 2009-08-08  Bruno Haible  <bruno@clisp.org>
60756         Avoid compilation error in C++ mode.
60757         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
60758         Reported by Sam Steingold <sds@gnu.org>.
60760 2009-08-08  Bruno Haible  <bruno@clisp.org>
60762         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
60763         for the various Unix platforms.
60764         * doc/posix-headers/limits.texi: Update platforms list regarding
60765         HOST_NAME_MAX.
60766         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
60768 2009-08-07  Jim Meyering  <meyering@redhat.com>
60770         selinux-at: fix typo in a comment
60771         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
60772         Spotted by Paolo Bonzini.
60774         selinux-at: remove redundant m4 code, add documentation
60775         * modules/selinux-at (configure.ac): Remove redundant code.
60776         LIB_SELINUX is already set via the dependent module, selinux-h.
60777         (Include): Add quotes around selinux-at.h.
60778         * lib/selinux-at.h: Add documentation.
60779         Reported by Bruno Haible in
60780         http://marc.info/?l=gnulib-bug&m=124958988300749
60782 2009-08-07  Bruno Haible  <bruno@clisp.org>
60784         Avoid link error on MacOS X 10.3 and 10.4.
60785         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
60786         on non-ELF systems.
60787         * lib/argp-pv.c (argp_program_version): Likewise.
60788         Reported by Simon Josefsson.
60790 2009-08-07  Simon Josefsson  <simon@josefsson.org>
60792         * tests/test-version-etc.sh: Use $EXEEXT.
60794 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
60796         update-copyright: update documentation to point to maint.mk
60797         * build-aux/update-copyright: Here.
60799 2009-08-06  Jim Meyering  <meyering@redhat.com>
60801         maint.mk: support update-copyright-local
60802         * top/maint.mk (update-copyright-local): Define place-holder.
60803         (update-copyright): Depend on $(update-copyright-local).
60805 2009-08-06  Jim Meyering  <meyering@redhat.com>
60807         selinux-at: new module
60808         Initially written for coreutils, this module will soon be
60809         used by findutils, too.
60810         * MODULES.html.sh [Misc]: Add selinux-at.
60811         * lib/selinux-at.h: New file, from coreutils.
60812         * lib/selinux-at.c: Likewise.
60813         * modules/selinux-at: Likewise.
60814         (License): Change from LGPL to GPL, since it depends
60815         on the GPL'd openat module.
60817         doc: update README
60818         * README: Remove references to cogito.
60819         Remove cvs-repo-updating instructions from 2007.
60820         Don't imply that CVS is better if you have limited disk space.
60822 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
60824         update-copyright: support C-style comments
60825         * build-aux/update-copyright: Implement and document.
60826         * tests/test-update-copyright.sh: Test.
60828 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
60830         update-copyright: support omitted "(C)"
60831         * build-aux/update-copyright: Implement and document.  Also,
60832         allow variable whitespace before "(C)".
60833         * tests/test-update-copyright.sh: Test.
60835 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
60837         update-copyright: don't trip on non-FSF copyright statements
60838         * build-aux/update-copyright: Fix so that the first correctly
60839         formatted FSF copyright statement is recognized no matter what
60840         appears before it.  Update documentation.
60841         * tests/test-update-copyright.sh: Test that.
60843 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
60845         update-copyright: clean up code a little
60846         * build-aux/update-copyright: Append "_re" to the name of any
60847         variable holding a regular expression.
60848         Replace "old" and "new" with "stmt" in variable names.
60849         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
60850         handled correctly.
60851         Format code more consistently.
60853 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
60855         update-copyright-tests: improve portability
60856         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
60857         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
60859 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
60861         update-copyright: support @copyright{} and &copy;
60862         * build-aux/update-copyright: Implement and document.
60863         * tests/test-update-copyright.sh: Test.
60865 2009-08-04  Jim Meyering  <meyering@redhat.com>
60867         update-copyright-tests: correctly test EOL=\r\n handling
60868         * tests/test-update-copyright.sh: Put \r at the end of some lines
60869         for the dos-eol tests.  Based on a patch by Joel E. Denny.
60871         maint.mk: make update-copyright exclusion list more configurable
60872         * top/maint.mk (update-copyright): Default to excluding COPYING,
60873         but allow an override, in case someone does want to update that file.
60875         maint.mk: don't update copyright date in COPYING
60876         * top/maint.mk (update-copyright): Exclude COPYING.
60878         maint.mk: add a copyright-updating rule
60879         * top/maint.mk (update-copyright): New rule.
60880         Derived from coreutils/Makefile.am.
60882         update-copyright: rename some variables
60883         * build-aux/update-copyright: Rename a few variables for clarity.
60884         Tweak syntax.  List Joel E. Denny as coauthor.
60886 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
60888         update-copyright: fix bug for 2-digit last year and add tests
60889         * build-aux/update-copyright: Fix bug.
60890         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
60891         specified.
60892         * modules/update-copyright-tests: New
60893         * tests/test-update-copyright.sh: New.
60895 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
60897         update-copyright: handle leading tabs in line prefix
60898         * build-aux/update-copyright: Count leading tabs as 8 spaces
60899         when computing margin.  This helps with the formatting of
60900         ChangeLogs, for example.
60901         Fix documentation a little.
60903 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
60905         update-copyright: support EOL=\r\n
60906         * build-aux/update-copyright: Implement that.
60908 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
60910         update-copyright: automatically format copyright statements
60911         * build-aux/update-copyright: Implement that.
60912         Also, be a little more predictable and safer by always failing
60913         when the full copyright format is not perfectly recognized as an
60914         unbroken whole.  Discussed at
60915         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
60916         Rewrite documentation.
60918 2009-08-03  Bruno Haible  <bruno@clisp.org>
60920         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
60922 2009-08-02  Bruno Haible  <bruno@clisp.org>
60924         Tests for module 'uname'.
60925         * modules/uname-tests: New file.
60926         * tests/test-uname.c: New file.
60928         New module 'uname'.
60929         * lib/uname.c: New file.
60930         * m4/uname.m4: New file.
60931         * modules/uname: New file.
60932         * doc/posix-functions/uname.texi: Mention the new module.
60934 2009-08-02  Bruno Haible  <bruno@clisp.org>
60936         Tests for module 'sys_utsname'.
60937         * modules/sys_utsname-tests: New file.
60938         * tests/test-sys_utsname.c: New file.
60940         New module 'sys_utsname'.
60941         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
60942         * m4/sys_utsname_h.m4: New file.
60943         * modules/sys_utsname: New file.
60944         * doc/posix-headers/sys_utsname.texi: Mention the new module.
60946 2009-08-02  Bruno Haible  <bruno@clisp.org>
60948         Implicitly initialize the sockets library.
60949         * lib/gethostname.c: Include sockets.h.
60950         (rpl_gethostname): Invoke gl_sockets_startup.
60951         * lib/socket.c: Include sockets.h.
60952         (rpl_socket): Invoke gl_sockets_startup.
60953         * modules/gethostname (Depends-on): Add sockets.
60954         * modules/socket (Depends-on): Likewise.
60955         * tests/test-poll.c: Don't include sockets.h.
60956         (main): Don't invoke gl_sockets_startup.
60957         * tests/test-select.c: Don't include sockets.h.
60958         (main): Don't invoke gl_sockets_startup.
60960 2009-08-02  Bruno Haible  <bruno@clisp.org>
60962         Allow multiple calls to gl_sockets_startup.
60963         * lib/sockets.c (initialized_sockets_version): New variable.
60964         (gl_sockets_startup): Do nothing if already called for this or a higher
60965         version.
60966         (gl_sockets_cleanup): Reset initialized_sockets_version.
60968 2009-08-03  Simon Josefsson  <simon@josefsson.org>
60970         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
60971         different project/version.
60973 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
60974             Bruno Haible  <bruno@clisp.org>
60976         Tests for module 'pipe-filter-gi'.
60977         * modules/pipe-filter-gi-tests: New file.
60978         * tests/test-pipe-filter-gi1.sh: New file.
60979         * tests/test-pipe-filter-gi1.c: New file.
60980         * tests/test-pipe-filter-gi2.sh: New file.
60981         * tests/test-pipe-filter-gi2-main.c: New file.
60982         * tests/test-pipe-filter-gi2-child.c: New file.
60984         New module 'pipe-filter-gi'.
60985         * lib/pipe-filter-gi.c: New file.
60986         * modules/pipe-filter-gi: New file.
60988 2009-08-02  Bruno Haible  <bruno@clisp.org>
60989             Paolo Bonzini  <bonzini@gnu.org>
60991         Tests for module 'pipe-filter-ii'.
60992         * modules/pipe-filter-ii-tests: New file.
60993         * tests/test-pipe-filter-ii1.sh: New file.
60994         * tests/test-pipe-filter-ii1.c: New file.
60995         * tests/test-pipe-filter-ii2.sh: New file.
60996         * tests/test-pipe-filter-ii2-main.c: New file.
60997         * tests/test-pipe-filter-ii2-child.c: New file.
60999         New module 'pipe-filter-ii'.
61000         * lib/pipe-filter.h: New file.
61001         * lib/pipe-filter-ii.c: New file.
61002         * lib/pipe-filter-aux.h: New file.
61003         * modules/pipe-filter-ii: New file.
61005 2009-08-02  Simon Josefsson  <simon@josefsson.org>
61007         * lib/gc-libgcrypt.c: Change copyright to FSF.
61008         * lib/gc-gnulib.c: Likewise.
61010 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
61012         * lib/gethostname.c: Include limits.h.
61014 2009-08-02  Simon Josefsson  <simon@josefsson.org>
61015             Bruno Haible  <bruno@clisp.org>
61017         Ensure HOST_NAME_MAX as part of the gethostname module.
61018         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
61019         define also HOST_NAME_MAX.
61020         * tests/test-gethostname.c: Include <limits.h>.
61021         (main): Check also HOST_NAME_MAX.
61022         * doc/posix-headers/limits.texi: Document the mingw problem.
61024 2009-08-02  Bruno Haible  <bruno@clisp.org>
61026         * lib/gethostname.c (gethostname): Fix handling of large len argument.
61027         Add comments.
61029 2009-03-31  Simon Josefsson  <simon@josefsson.org>
61031         * lib/gethostname.c: Add Windows wrapper.
61032         * m4/gethostname.m4: Look for gethostname in -lws2_32.
61033         * modules/gethostname: Depend on sys_socket & errno, for also
61034         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
61035         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
61037 2009-07-31  Jim Meyering  <meyering@redhat.com>
61039         getloadavg: fix symbol name in comment
61040         * lib/getloadavg.c: Correct a typo I introduced when adding
61041         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
61042         Matt Kraai spotted the problem.
61044 2009-07-29  Matt Kraai  <mkraai@beckman.com>
61046         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
61047         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
61048         code also if ! defined N_NAME_POINTER.
61049         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
61050         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
61051         but the n_name member is a 12-byte array.
61053 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
61055         update-copyright: generalize comment handling
61056         * build-aux/update-copyright: Handle copyright statements
61057         within more comment styles.
61058         Document usage.
61059         Report any file with an external copyright holder or parse failure.
61061 2009-07-29  Jim Meyering  <meyering@redhat.com>
61063         mktime: correct setting of REPLACE_MKTIME
61064         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
61066         update-copyright: new module
61067         * modules/update-copyright: New file.
61068         * build-aux/update-copyright: New file.
61069         * MODULES.html.sh (maint+release support): Add update-copyright.
61071 2009-07-27  Bruno Haible  <bruno@clisp.org>
61073         Fix compilation error when <ctime> is used and mktime is replaced.
61074         * lib/time.in.h (mktime): New declaration.
61075         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
61076         REPLACE_MKTIME instead of defining mktime in config.h.
61077         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
61078         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
61079         Reported by Ross McFarland <rwmcfa1@neces.com>.
61081 2009-07-27  Bruno Haible  <bruno@clisp.org>
61083         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
61084         Reported by Matt Kraai <mkraai@beckman.com>.
61086 2009-07-25  Jim Meyering  <meyering@redhat.com>
61088         maint.mk: avoid warnings about missing files
61089         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
61090         diagnostic when .prev-version does not exist.
61091         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
61092         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
61093         nonexistent cfg.mk.
61094         Suggestions from Simon Josefsson.
61096 2009-07-25  Bruno Haible  <bruno@clisp.org>
61098         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
61099         defined as macros. Needed on QNX 6.4.1.
61100         Reported by Matt Kraai <mkraai@beckman.com>.
61102 2009-07-23  Jim Meyering  <meyering@redhat.com>
61104         maint.mk: invoke "make dist" with a working value of XZ_OPT
61105         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
61107 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
61109         Make fseeko.c compile on QNX.
61110         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
61112 2009-07-22  Peter Simons  <simons@cryp.to>
61114         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
61115         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
61116         * lib/md4.h: Likewise.
61117         * lib/md5.h: Likewise.
61118         * lib/sha1.h: Likewise.
61119         * lib/sha256.h: Likewise.
61120         * lib/sha512.h: Likewise.
61122         tests-sha1: don't assign literal string to 'char *' variable
61123         * tests/test-sha1.c (main): Declare locals with "const" to match
61124         attributes of the right hand side.
61126 2009-07-21  Eric Blake  <ebb9@byu.net>
61128         dup2: fix more mingw problems
61129         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
61130         fd to itself.
61131         * doc/posix-functions/dup2.texi (dup2): Document the bug.
61132         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
61133         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
61134         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
61135         care of mingw bugs.
61137 2009-07-21  Jim Meyering  <meyering@redhat.com>
61139         vc-list-files: avoid failure when /bin/sh is dash
61140         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
61141         On some Debian based systems, /bin/sh is a symlink to dash, and running
61142         this command would omit the "/" following each 'tests' prefix:
61143           dash -x build-aux/vc-list-files -C . tests
61144         That is because bash and dash work differently:
61145           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
61146           bash ok
61147           dash odd
61149 2009-07-21  Eric Blake  <ebb9@byu.net>
61151         dup2-tests: test previous patch
61152         * modules/dup2-tests: New file.
61153         * tests/test-dup2.c: Likewise.
61154         * tests/test-open.c (main): Avoid unspecified behavior.
61155         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
61156         test.
61158         dup2: work around mingw and cygwin 1.5 bug
61159         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
61160         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
61161         * modules/unistd (Makefile.am): Substitute it.
61162         * lib/unistd.in.h (dup2): Declare the replacement.
61163         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
61164         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
61165         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
61166         * modules/execute (Depends-on): Add dup2.
61167         * modules/fseterr (Depends-on): Likewise.
61168         * modules/pipe (Depends-on): Likewise.
61169         * modules/posix_spawn-internal (Depends-on): Likewise.
61171 2009-07-21  Bruno Haible  <bruno@clisp.org>
61173         * modules/.gitattributes: New file.
61175 2009-07-20  Bruno Haible  <bruno@clisp.org>
61177         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
61178         (main): Use it.
61180 2009-07-20  Eric Blake  <ebb9@byu.net>
61182         test-pipe: make a bit more robust.
61183         * tests/test-pipe.c (myerr): Allow error messages regardless of
61184         what we do to stderr.
61185         (test_pipe): Rearrange to avoid deadlock.
61186         (child_main): Try a larger read, to ensure we avoided deadlock.
61187         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
61188         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
61189         if misused.
61191 2009-07-19  Jim Meyering  <meyering@redhat.com>
61193         fts: avoid false-positive cycle-detection
61194         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
61195         for each new command line argument.
61197 2009-07-19  Bruno Haible  <bruno@clisp.org>
61199         Fix build error on mingw with the modules sys_select and unistd.
61200         * modules/acl-tests (Depends-on): Add close.
61201         * modules/binary-io-tests (Depends-on): Likewise.
61202         * modules/closein-tests (Depends-on): Likewise.
61203         * modules/flock-tests (Depends-on): Likewise.
61204         * modules/fsync-tests (Depends-on): Likewise.
61205         * modules/lseek-tests (Depends-on): Likewise.
61206         * modules/pipe-tests (Depends-on): Likewise.
61207         * modules/posix_spawn-tests (Depends-on): Likewise.
61208         * modules/posix_spawnp-tests (Depends-on): Likewise.
61209         * modules/stat-time-tests (Depends-on): Likewise.
61210         * modules/yesno-tests (Depends-on): Likewise.
61212 2009-07-19  Bruno Haible  <bruno@clisp.org>
61214         Unify conditionals.
61215         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
61216         macros, not at the compiler macros.
61217         * lib/pipe.c: Likewise.
61218         * lib/execute.c: Likewise.
61219         * lib/spawni.c: Likewise.
61221 2009-07-19  Bruno Haible  <bruno@clisp.org>
61223         Fix handling of closed stdin/stdout/stderr on mingw.
61224         * lib/w32spawn.h: Include unistd.h.
61225         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
61226         file descriptor with O_NOINHERIT flag.
61227         (fd_safer_noinherit): New function, based on fd-safer.c.
61228         (dup_safer_noinherit): New function, based on dup-safer.c.
61229         (undup_safer_noinherit): New function.
61230         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
61231         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
61232         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
61233         instead of fd_safer.
61234         * tests/test-pipe.c: Include <windows.h>.
61235         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
61236         result.
61238         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
61239         from main.
61240         (test_pipe): Pass an extra argument for disambiguation.
61241         (main): Invoke parent_main or child_main.
61243         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
61244         consistently.
61246 2009-07-18  Eric Blake  <ebb9@byu.net>
61248         test-pipe: fix mingw build
61249         * tests/test-pipe.c (main): Avoid fcntl on mingw.
61251 2009-07-18  Bruno Haible  <bruno@clisp.org>
61253         * modules/pipe-tests (Makefile.am): Fix typo.
61255 2009-07-18  Eric Blake  <ebb9@byu.net>
61257         error: fix mingw build
61258         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
61259         Reported by Bruno Haible.
61261         error: avoid undefined use of stdout
61262         * lib/error.c (error, error_at_line): Check that fd 1 is open
61263         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
61264         is handling faults and the close_stdout module wants to report the
61265         detection of closed stdout as an error.
61267 2009-07-17  Eric Blake  <ebb9@byu.net>
61269         pipe: be robust in face of closed fds
61270         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
61271         should cause child to misbehave.
61272         * modules/pipe-tests: New module.
61273         * tests/test-pipe.c: New file.
61274         * tests/test-pipe.sh: New file.
61275         Reported by Akim Demaille.
61277 2009-07-14  Bruno Haible  <bruno@clisp.org>
61279         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
61280         Reported by anonymous kc.
61282 2009-07-07  Jim Meyering  <meyering@redhat.com>
61284         maint.mk: don't look for translatable strings in *.m4 or *.mk
61285         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
61286         when searching for translatable strings.
61288 2009-07-05  Jim Meyering  <meyering@redhat.com>
61290         remove superfluous parentheses in STREQ definition
61291         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
61292         * lib/getugroups.c (STREQ): Likewise.
61293         * lib/fnmatch.c (STREQ): Likewise.
61294         Spotted by Bruno Haible.
61296 2009-07-04  Jim Meyering  <meyering@redhat.com>
61298         argv-iter: new module
61299         * MODULES.html.sh: Add argv-iter.
61300         * lib/argv-iter.c, lib/argv-iter.h: New files.
61301         * modules/argv-iter: New file.
61302         * modules/argv-iter-tests: New file.
61303         * tests/test-argv-iter.c: Test it.
61305 2009-07-04  Bruno Haible  <bruno@clisp.org>
61307         Fix assertion.
61308         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
61309         contains more exact copies of a given entry than file2, leave the extra
61310         copies unpaired rather than aborting.
61311         Reported by Eric Blake.
61313 2009-07-02  Bruno Haible  <bruno@clisp.org>
61315         Speedup git-merge-changelog for git cherry-pick.
61316         * lib/git-merge-changelog.c (struct entries_mapping): New type.
61317         (entries_mapping_get): New function, extracted from compute_mapping.
61318         (entries_mapping_reverse_get): New function.
61319         (compute_mapping): Add a 'full' argument. Return the result in a
61320         'struct entries_mapping'.
61321         (main): Update. Access the mappings through entries_mapping_get.
61322         Reported by Eric Blake.
61324 2009-07-02  Bruno Haible  <bruno@clisp.org>
61326         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
61327         best_i.
61329 2009-07-02  Bruno Haible  <bruno@clisp.org>
61331         Speed up approximate search for matching ChangeLog entries.
61332         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
61333         argument. Call fstrcmp_bounded instead of fstrcmp.
61334         (compute_mapping, try_split_merged_entry, main): Update callers.
61336 2009-07-02  Bruno Haible  <bruno@clisp.org>
61338         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
61340 2009-06-30  Bruno Haible  <bruno@clisp.org>
61342         Reduce the number of uc_is_cased calls.
61343         * lib/unicase.h (casing_suffix_context_t): Add
61344         'first_char_except_ignorable' field.
61345         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
61346         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
61347         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
61348         Update initializer.
61349         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
61350         case-ignorable characters.
61351         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
61352         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
61353         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
61354         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
61355         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
61357 2009-06-30  Bruno Haible  <bruno@clisp.org>
61359         Tests for module 'unicase/ignorable'.
61360         * modules/unicase/ignorable-tests: New file.
61361         * tests/unicase/test-ignorable.c: New file, generated by
61362         gen-uni-tables.
61364         Tests for module 'unicase/cased'.
61365         * modules/unicase/cased-tests: New file.
61366         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
61367         * tests/unicase/test-predicate-part1.h: New file, derived from
61368         tests/unictype/test-predicate-part1.h.
61369         * tests/unicase/test-predicate-part2.h: New file, same as
61370         tests/unictype/test-predicate-part2.h.
61372         Fix evaluation of "Before C" condition of FINAL_SIGMA.
61373         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
61374         (output_casing_properties): New function.
61375         (main): Call it.
61376         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
61377         * lib/unicase/cased.c: Include unictype/bitmap.h.
61378         (uc_is_cased): Define through a bitmap lookup.
61379         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
61380         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
61381         (uc_is_case_ignorable): Define through a bitmap lookup.
61382         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
61383         lib/unictype/bitmap.h.
61384         (Depends-on): Add inline. Clean up.
61385         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
61386         lib/unictype/bitmap.h.
61387         (Depends-on): Add inline. Clean up.
61388         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
61389         recognition.
61390         * tests/unicase/test-u16-tolower.c (main): Likewise.
61391         * tests/unicase/test-u32-tolower.c (main): Likewise.
61393 2009-06-30  Bruno Haible  <bruno@clisp.org>
61395         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
61396         * lib/unicase/u16-casemap.c: Likewise.
61397         * lib/unicase/u32-casemap.c: Likewise.
61399 2009-06-29  Bruno Haible  <bruno@clisp.org>
61401         Define u32_casefold as a wrapper around u32_ct_casefold.
61402         * lib/unicase/u32-casefold.c: Update.
61403         * modules/unicase/u32-casefold (Depends-on): Add
61404         unicase/u32-ct-casefold, unicase/empty-prefix-context,
61405         unicase/empty-suffix-context. Clean up.
61407         Define u16_casefold as a wrapper around u16_ct_casefold.
61408         * lib/unicase/u16-casefold.c: Update.
61409         * modules/unicase/u16-casefold (Depends-on): Add
61410         unicase/u16-ct-casefold, unicase/empty-prefix-context,
61411         unicase/empty-suffix-context. Clean up.
61413         Define u8_casefold as a wrapper around u8_ct_casefold.
61414         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
61415         * lib/unicase/u8-casefold.c: Update.
61416         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
61417         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
61419         Define u32_totitle as a wrapper around u32_ct_totitle.
61420         * lib/unicase/u32-totitle.c: Update.
61421         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
61422         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
61424         Define u16_totitle as a wrapper around u16_ct_totitle.
61425         * lib/unicase/u16-totitle.c: Update.
61426         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
61427         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
61429         Define u8_totitle as a wrapper around u8_ct_totitle.
61430         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
61431         functions.
61432         (FUNC): Delegate to U_CT_TOTITLE.
61433         * lib/unicase/u8-totitle.c: Update.
61434         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
61435         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
61437         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
61438         invocation.
61439         * modules/unicase/u32-tolower (Depends-on): Add
61440         unicase/empty-prefix-context, unicase/empty-suffix-context.
61442         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
61443         invocation.
61444         * modules/unicase/u16-tolower (Depends-on): Add
61445         unicase/empty-prefix-context, unicase/empty-suffix-context.
61447         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
61448         * modules/unicase/u8-tolower (Depends-on): Add
61449         unicase/empty-prefix-context, unicase/empty-suffix-context.
61451         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
61452         invocation.
61453         * modules/unicase/u32-toupper (Depends-on): Add
61454         unicase/empty-prefix-context, unicase/empty-suffix-context.
61456         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
61457         invocation.
61458         * modules/unicase/u16-toupper (Depends-on): Add
61459         unicase/empty-prefix-context, unicase/empty-suffix-context.
61461         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
61462         * modules/unicase/u8-toupper (Depends-on): Add
61463         unicase/empty-prefix-context, unicase/empty-suffix-context.
61465         New module 'unicase/u32-ct-casefold'.
61466         * lib/unicase/u32-ct-casefold.c: New file.
61467         * modules/unicase/u32-ct-casefold: New file.
61469         New module 'unicase/u16-ct-casefold'.
61470         * lib/unicase/u16-ct-casefold.c: New file.
61471         * modules/unicase/u16-ct-casefold: New file.
61473         New module 'unicase/u8-ct-casefold'.
61474         * lib/unicase/u8-ct-casefold.c: New file.
61475         * lib/unicase/u-ct-casefold.h: New file, derived from
61476         lib/unicase/u-casefold.h.
61477         * modules/unicase/u8-ct-casefold: New file.
61479         New module 'unicase/u32-ct-totitle'.
61480         * lib/unicase/u32-ct-totitle.c: New file.
61481         * modules/unicase/u32-ct-totitle: New file.
61483         New module 'unicase/u16-ct-totitle'.
61484         * lib/unicase/u16-ct-totitle.c: New file.
61485         * modules/unicase/u16-ct-totitle: New file.
61487         New module 'unicase/u8-ct-totitle'.
61488         * lib/unicase/u8-ct-totitle.c: New file.
61489         * lib/unicase/u-ct-totitle.h: New file, derived from
61490         lib/unicase/u-totitle.h.
61491         * modules/unicase/u8-ct-totitle: New file.
61493         New module 'unicase/u32-ct-tolower'.
61494         * lib/unicase/u32-ct-tolower.c: New file.
61495         * modules/unicase/u32-ct-tolower: New file.
61497         New module 'unicase/u16-ct-tolower'.
61498         * lib/unicase/u16-ct-tolower.c: New file.
61499         * modules/unicase/u16-ct-tolower: New file.
61501         New module 'unicase/u8-ct-tolower'.
61502         * lib/unicase/u8-ct-tolower.c: New file.
61503         * modules/unicase/u8-ct-tolower: New file.
61505         New module 'unicase/u32-ct-toupper'.
61506         * lib/unicase/u32-ct-toupper.c: New file.
61507         * modules/unicase/u32-ct-toupper: New file.
61509         New module 'unicase/u16-ct-toupper'.
61510         * lib/unicase/u16-ct-toupper.c: New file.
61511         * modules/unicase/u16-ct-toupper: New file.
61513         New module 'unicase/u8-ct-toupper'.
61514         * lib/unicase/u8-ct-toupper.c: New file.
61515         * modules/unicase/u8-ct-toupper: New file.
61517         Add context arguments to u*_casemap functions.
61518         * lib/unicase/unicasemap.h: Include unicase.h.
61519         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
61520         suffix_context arguments.
61521         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
61522         functions.
61523         (FUNC): Add prefix_context and suffix_context arguments. Use
61524         uc_is_cased and uc_is_case_ignorable.
61525         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
61526         * lib/unicase/u16-casemap.c: Likewise.
61527         * lib/unicase/u32-casemap.c: Likewise.
61528         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
61529         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
61530         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
61531         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
61532         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
61533         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
61535         New module 'unicase/u32-suffix-context'.
61536         * lib/unicase/u32-suffix-context.c: New file.
61537         * modules/unicase/u32-suffix-context: New file.
61539         New module 'unicase/u16-suffix-context'.
61540         * lib/unicase/u16-suffix-context.c: New file.
61541         * modules/unicase/u16-suffix-context: New file.
61543         New module 'unicase/u8-suffix-context'.
61544         * lib/unicase/u8-suffix-context.c: New file.
61545         * lib/unicase/u-suffix-context.h: New file.
61546         * modules/unicase/u8-suffix-context: New file.
61548         New module 'unicase/empty-suffix-context'.
61549         * lib/unicase/empty-suffix-context.c: New file.
61550         * modules/unicase/empty-suffix-context: New file.
61552         New module 'unicase/u32-prefix-context'.
61553         * lib/unicase/u32-prefix-context.c: New file.
61554         * modules/unicase/u32-prefix-context: New file.
61556         New module 'unicase/u16-prefix-context'.
61557         * lib/unicase/u16-prefix-context.c: New file.
61558         * modules/unicase/u16-prefix-context: New file.
61560         New module 'unicase/u8-prefix-context'.
61561         * lib/unicase/u8-prefix-context.c: New file.
61562         * lib/unicase/u-prefix-context.h: New file.
61563         * lib/unicase/context.h: New file.
61564         * modules/unicase/u8-prefix-context: New file.
61566         New module 'unicase/empty-prefix-context'.
61567         * lib/unicase/empty-prefix-context.c: New file.
61568         * modules/unicase/empty-prefix-context: New file.
61570         New module 'unicase/ignorable'.
61571         * lib/unicase/ignorable.c: New file.
61572         * modules/unicase/ignorable: New file.
61574         New module 'unicase/cased'.
61575         * lib/unicase/caseprop.h: New file.
61576         * lib/unicase/cased.c: New file.
61577         * modules/unicase/cased: New file.
61579         New functions for case mapping of substrings.
61580         * lib/unicase.h (casing_prefix_context_t): New type.
61581         (unicase_empty_prefix_context): New variable.
61582         (u8_casing_prefix_context, u16_casing_prefix_context,
61583         u32_casing_prefix_context, u8_casing_prefixes_context,
61584         u16_casing_prefixes_context, u32_casing_prefixes_context): New
61585         declarations.
61586         (casing_suffix_context_t): New type.
61587         (unicase_empty_suffix_context): New variable.
61588         (u8_casing_suffix_context, u16_casing_suffix_context,
61589         u32_casing_suffix_context, u8_casing_suffixes_context,
61590         u16_casing_suffixes_context, u32_casing_suffixes_context,
61591         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
61592         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
61593         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
61594         declarations.
61596 2009-06-28  Jim Meyering  <meyering@redhat.com>
61598         boostrap: indent only with spaces
61599         * build-aux/bootstrap: Indent only with spaces, never TABs.
61601         bootstrap: split long lines
61602         * build-aux/bootstrap: Keep line length < 80.
61604         bootstrap: sync from coreutils
61605         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
61606         just as autoreconf does.  Verify a list of prerequisite
61607         package-name,version-number pairs if defined in bootstrap.conf.
61608         Refer to README-prereq, if prerequisites are not satisfied.
61610 2009-06-27  Eric Blake  <ebb9@byu.net>
61612         tests: add test for bogus NULL definition
61613         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
61614         * tests/test-stdlib.c: Likewise.
61615         * tests/test-string.c: Likewise.
61616         * tests/test-locale.c: Likewise.
61617         * tests/test-unistd.c: Likewise.
61618         * modules/stdio-tests (Depends-on): Add verify.
61619         * modules/stdlib-tests (Depends-on): Likewise.
61620         * modules/string-tests (Depends-on): Likewise.
61621         * modules/locale-tests (Depends-on): Likewise.
61622         * modules/unistd-tests (Depends-on): Likewise.
61624 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
61626         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
61627         self-explaining comment.
61628         * m4/selinux-selinux-h: Update serial.
61629         (gl_LIBSELINUX): New macro, adding a warning for missing development
61630         packages to code extracted from...
61631         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
61632         Add warning for missing development packages here, too.
61634 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
61636         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
61638 2009-06-25  Eric Blake  <ebb9@byu.net>
61640         version-etc: fix regression
61641         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
61642         gcc.
61643         (version_etc): Use it, to catch bugs with trailing NULL.
61644         * lib/version-etc.c (version_etc_arn): Delete unused argument.
61645         (version_etc_va): Fix logic bug.
61646         * modules/version-etc-tests: Add test.
61647         * tests/test-version-etc.c: New file.
61648         * tests/test-version-etc.sh: Likewise.
61650 2009-06-25  Sam Steingold  <sds@gnu.org>
61652         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
61653         mbtowc declaration.
61655 2009-06-25  Eric Blake  <ebb9@byu.net>
61657         fpurge: migrate into <stdio.h>
61658         * lib/fpurge.h: Delete...
61659         * lib/stdio.in.h (fpurge): ...and declare here, instead.
61660         * lib/fpurge.c (fpurge): Change declaring header.
61661         * modules/fpurge (Files): Drop deleted file.
61662         (Depends-on): Add stdio.
61663         (configure.ac): Set witness.
61664         * modules/stdio (Makefile.am): Support fpurge macros.
61665         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
61666         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
61667         * lib/fflush.c: Update client.
61668         * tests/test-fpurge.c: Likewise.
61669         * NEWS: Mention the change.
61671 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61673         * lib/argp-version-etc.c (program_authors): Add const
61674         qualifier.
61675         * lib/version-etc.c: Fix typos in the comments.
61676         * modules/argp-version-etc: Depends on version-etc.
61678 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61680         argp-version-etc: new module.
61682         * lib/argp-version-etc.c: New file.
61683         * lib/argp-version-etc.h: New file.
61684         * modules/argp-version-etc: New file.
61685         * modules/argp-version-etc-tests: New file.
61686         * tests/test-argp-version-etc.c: New test.
61687         * tests/test-argp-version-etc-1.sh: New test.
61689 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61691         Provide additional interfaces and documentation for version-etc
61692         module.
61694         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
61695         interfaces.
61696         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
61697         prototypes.
61699 2009-06-24  Bruno Haible  <bruno@clisp.org>
61701         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
61702         HAVE_LIB${NAME} macro.
61703         Reported by Sam Steingold <sds@gnu.org>.
61705 2009-06-23  Simon Josefsson  <simon@josefsson.org>
61707         * modules/hash-tests (test_hash_LDADD): Link to libintl when
61708         needed.
61710 2009-06-21  Bruno Haible  <bruno@clisp.org>
61712         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
61713         work.
61714         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
61715         together with LIB${NAME}, LTLIB${NAME}.
61716         Reported by Sam Steingold <sds@gnu.org>.
61718 2009-06-20  Jim Meyering  <meyering@redhat.com>
61720         tests: make sc_require_test_exit_idiom more generic
61721         * top/maint.mk (Exit_witness_file): New overridable variable.
61722         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
61723         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
61725 2009-06-19  Jim Meyering  <meyering@redhat.com>
61727         hash: reverse order of src/dst parameters in an internal interface
61728         * lib/hash.c (transfer_entries): Reverse order of parameters to
61729         put DST before SRC.  Adjust callers.
61731         tests: test-hash: avoid wholesale duplication
61732         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
61733         Instead, use a loop and add a single conditional.
61735         tests: test-hash: allow seed selection via a command line argument
61736         * tests/test-hash.c (get_seed): New function.
61737         (main): Use it.
61739 2009-06-19  Eric Blake  <ebb9@byu.net>
61741         hash: avoid memory leak on allocation failure
61742         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
61743         failure.  Factor repeated algorithm...
61744         (transfer_entries): ...into new helper routine.
61745         (hash_delete): React to hash_rehash return value.
61747         hash: reduce memory pressure in hash_rehash no-op case
61748         * lib/hash.c (next_prime): Avoid overflow.
61749         (hash_initialize): Factor bucket size computation...
61750         (compute_bucket_size): ...into new helper function.
61751         (hash_rehash): Use new function and open coding to reduce memory
61752         pressure, and avoid a memory leak in USE_OBSTACK code.
61753         Reported by Jim Meyering.
61755 2009-06-18  Eric Blake  <ebb9@byu.net>
61757         hash: make rotation more obvious
61758         * modules/hash (Depends-on): Add bitrotate and stdint.
61759         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
61760         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
61761         (SIZE_MAX): Rely on headers for definition.
61762         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
61763         (raw_hasher): Use rotr_sz.
61764         Suggested by Jim Meyering.
61766         hash: fix memory leak in last patch
61767         * lib/hash.c (hash_rehash): Avoid memory leak.
61769         hash: avoid no-op rehashing
61770         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
61772         hash: provide default callback functions
61773         * lib/hash.c (raw_hasher, raw_comparator): New functions.
61774         (hash_initialize): Use them as defaults.
61775         * tests/test-hash.c (main): Test this.
61777         hash: minor optimization
61778         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
61779         when possible.
61780         (hash_initialize): Document this promise.
61781         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
61782         * tests/test-hash.c (hash_compare_strings): Test this.
61784 2009-06-18  Bruno Haible  <bruno@clisp.org>
61786         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
61787         going to be replaced anyway.
61789 2009-06-18  Bruno Haible  <bruno@clisp.org>
61791         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
61792         in one place.
61793         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
61794         be replaced anyway.
61796 2009-06-18  Eric Blake  <ebb9@byu.net>
61798         hash: check for resize before insertion
61799         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
61800         threshold before insertion, so that a pathological hash_rehash
61801         that fills every bucket can still trigger another rehash.
61803 2009-06-18  Jim Meyering  <meyering@redhat.com>
61805         hash-tests: add a loop around the small tests
61806         * tests/test-hash.c (main): Repeat small tests with selected
61807         small initial table sizes.
61809 2009-06-17  Eric Blake  <ebb9@byu.net>
61811         hash: minor cleanups
61812         * lib/hash.h (hash_entry): Make opaque, by moving...
61813         * lib/hash.c (hash_entry): ...here.
61814         (hash_insert): Clarify restrictions on what can be inserted.
61815         (hash_get_next): Clarify when it is safe to remove an element
61816         during traversal.
61817         (check_tuning): Skip verification when tuning is known safe.
61818         (hash_initialize): Clarify restrictions on tuning.
61820 2009-06-17  Jim Meyering  <jim@meyering.net>
61821         and Eric Blake  <ebb9@byu.net>
61823         hash-tests: new module
61824         * modules/hash-tests: New file.
61825         * tests/test-hash.c: New file.
61827 2009-06-17  Eric Blake  <ebb9@byu.net>
61829         strstr-simple: document new module
61830         * MODULES.html.sh: Document new module.
61832         strstr, strcasestr: replace on platforms with broken memchr
61833         * modules/strstr: Split into...
61834         * modules/strstr-simple: ...new module that does not care about
61835         performance, but does care about glibc bug.
61836         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
61837         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
61838         if platform memchr is broken, per Debian bug 521737.
61839         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
61840         memchr.
61841         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
61842         * doc/posix-functions/strstr.texi (strstr): Document the fix.
61843         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
61844         * modules/mountlist (Depends-on): Add strstr-simple.
61845         * modules/gen-uni-tables (Depends-on): Likewise.
61846         * modules/argz (Depends-on): Add strstr.
61848 2009-06-17  Bruno Haible  <bruno@clisp.org>
61850         * modules/posix_spawn-internal (Depends-on): Add errno.
61852 2009-06-17  Bruno Haible  <bruno@clisp.org>
61854         Define missing ESTALE on Interix 3.5.
61855         * lib/errno.in.h (ESTALE): Assign a value if missing.
61856         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
61857         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
61858         missing.
61859         * doc/posix-headers/errno.texi: Mention the Interix bug.
61860         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
61862 2009-06-15  Eric Blake  <ebb9@byu.net>
61864         memchr, memchr2: add valgrind exception
61865         * lib/memchr.valgrind: New file.
61866         * lib/memchr2.valgrind: New file.
61867         * modules/memchr (Files): Distribute valgrind file.
61868         * modules/memchr2 (Files): Likewise.
61870         docs: memchr is no longer obsolete
61871         * MODULES.html.sh: Move memchr from obsolete to string.h section.
61872         * lib/string.in.h (memchr): Simplify logic.
61874 2009-06-14  Jim Meyering  <meyering@redhat.com>
61876         link-follow: fix the "checking..." message to not mention trailing slash
61877         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
61878         never considered trailing slashes.
61880 2009-06-14  Bruno Haible  <bruno@clisp.org>
61882         * m4/memchr.m4: Mention also the bug on IA-64.
61883         * doc/posix-functions/memchr.texi: Likewise.
61885 2009-06-12  Eric Blake  <ebb9@byu.net>
61887         memchr: detect broken x86_64 and alpha implementations
61888         * modules/memchr-tests (Depends-on): Move mmap detection...
61889         * modules/memchr (Depends-on): ...here.
61890         (configure.ac): Set indicator.
61891         * lib/string.in.h (memchr): Declare replacement.
61892         * modules/string (Makefile.am): Trigger replacement.
61893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61894         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
61895         bugs.
61896         * doc/posix-functions/memchr.texi (memchr): Document the bug.
61897         * modules/getpagesize (License): Relax license.
61899 2009-06-11  Bruno Haible  <bruno@clisp.org>
61901         * lib/idpriv.h: Add more references.
61903 2009-06-08  Bruno Haible  <bruno@clisp.org>
61905         Tests for module 'idpriv-droptemp'.
61906         * modules/idpriv-droptemp-tests: New file.
61907         * tests/test-idpriv-droptemp.sh: New file.
61908         * tests/test-idpriv-droptemp.su.sh: New file.
61909         * tests/test-idpriv-droptemp.c: New file.
61911         New module 'idpriv-droptemp'.
61912         * lib/idpriv-droptemp.c: New file.
61913         * modules/idpriv-droptemp: New file.
61915 2009-06-08  Bruno Haible  <bruno@clisp.org>
61917         Tests for module 'idpriv-drop'.
61918         * modules/idpriv-drop-tests: New file.
61919         * tests/test-idpriv-drop.sh: New file.
61920         * tests/test-idpriv-drop.su.sh: New file.
61921         * tests/test-idpriv-drop.c: New file.
61923         New module 'idpriv-drop'.
61924         * lib/idpriv.h: New file.
61925         * lib-idpriv-drop.c: New file.
61926         * m4/idpriv.m4: New file.
61927         * modules/idpriv-drop: New file.
61929 2009-06-08  Bruno Haible  <bruno@clisp.org>
61931         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
61932         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61933         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61934         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61935         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61936         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61937         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61939 2009-06-08  Eric Blake  <ebb9@byu.net>
61941         test-strstr: use memory fence, when possible
61942         * tests/test-strstr.c (main): Use memory fence, in order to be
61943         more likely to trigger Debian bug 521737.
61944         * modules/strstr-tests (Files): Pull in additional files.
61946         memchr: no longer obsolete, for wider field testing
61947         * modules/memchr (Status, Notice): Delete, this module is no
61948         longer obsolete.
61949         * modules/vasnprintf (Depends-on): Add memchr.
61951 2009-06-07  Jim Meyering  <meyering@redhat.com>
61953         hash: declare some functions with the warn_unused_result attribute
61954         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
61956 2009-06-07  Bruno Haible  <bruno@clisp.org>
61958         * tests/test-alignof.c: Don't test int64_t if it does not exist.
61959         Reported by Eric Blake.
61961 2009-06-06  Eric Blake  <ebb9@byu.net>
61963         test-alignof: fix typo with long double
61964         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
61965         compiler error.
61967 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
61969         Escape non-texinfo { and }s.
61970         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
61971         markup error.
61973 2009-06-04  Jim Meyering  <meyering@redhat.com>
61975         gitlog-to-changelog: don't infloop on an empty commit log
61976         * build-aux/gitlog-to-changelog: Warn about an empty log message.
61977         Reported by Boris Petersen <transacid@centerim.org>.
61979 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
61981         version-etc: extend for packagers
61982         Add three new configure options, intended for packagers:
61983           --with-packager="packager name"
61984           --with-packager-version="packager-specific version"
61985           --with-packager-bug-reports="packager bug reporting"
61986         An example with coreutils:
61987           $ ./configure \
61988             --with-packager=Gentoo \
61989             --with-packager-bug-report=http://bugs.gentoo.org/ \
61990             --with-packager-version="patchset 1.6"
61991           $ ./src/ls --version | head -n2
61992           ls (GNU coreutils) 7.1-dirty
61993           Packaged by Gentoo (patchset 1.6)
61994         Note that the bug reporting info via --help doesn't show up because
61995         coreutils uses its own custom emit_bug_reporting_address() implementation
61996         in src/system.h.  If it didn't, it'd look like:
61997           $ ./src/ls --help | tail -n4
61998           Report bugs to <bug-coreutils@gnu.org>.
61999           Report Gentoo bugs to <http://bugs.gentoo.org/>.
62000           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
62001           General help using GNU software: <http://www.gnu.org/gethelp/>.
62002         * lib/version-etc.c: Print new information, if provided.
62003         * m4/version-etc.m4: New file.
62004         * modules/version-etc (Files): Add m4/version-etc.m4.
62005         (configure.ac): Add gl_VERSION_ETC.
62007 2009-05-31  Bruno Haible  <bruno@clisp.org>
62009         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
62010         and 'int64_t'.
62011         * modules/alignof-tests (Dependencies): Add stdint.
62012         Reported by Eric Blake.
62014 2009-05-31  Bruno Haible  <bruno@clisp.org>
62016         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
62017         restriction due to compiler bugs.
62018         Reported by Eric Blake.
62020 2009-05-31  Simon Josefsson  <simon@josefsson.org>
62021             Bruno Haible  <bruno@clisp.org>
62023         Fix test-alignof failure.
62024         * lib/alignof.h (alignof_slot): New macro.
62025         (alignof_type): New macro, with the same semantics as the previous
62026         'alignof'.
62027         (alignof): Alias to alignof_slot.
62028         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
62029         check that the results are usable as constant expressions.
62031 2009-05-31  Bruno Haible  <bruno@clisp.org>
62033         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
62034         * tests/test-memchr.c (main): Check that memchr does not read past the
62035         first occurrence of the byte.
62036         * tests/test-strstr.c (main): Update comment.
62037         Suggested by Eric Blake.
62039 2009-05-30  Bruno Haible  <bruno@clisp.org>
62041         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
62042         detail how to use dumpbin.
62043         Reported by David Byron <dbyron@dbyron.com>.
62045 2009-06-02  Simon Josefsson  <simon@josefsson.org>
62047         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
62049 2009-06-02  Simon Josefsson  <simon@josefsson.org>
62051         * m4/manywarnings.m4: Add GCC 4.4 warnings.
62053 2009-05-28  Bruno Haible  <bruno@clisp.org>
62055         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
62056         build-aux/ files.
62058 2009-05-28  Simon Josefsson  <simon@josefsson.org>
62060         * gnulib-tool (func_import): Transform license on build-aux/ files too.
62062 2009-05-27  Simon Josefsson  <simon@josefsson.org>
62064         * gnulib-tool (sed_transform_main_lib_file)
62065         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
62066         regexps.
62068 2009-05-26  Simon Josefsson  <simon@josefsson.org>
62070         * tests/test-strstr.c: Add another self-test.
62071         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
62072         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
62074 2009-05-23  Bruno Haible  <bruno@clisp.org>
62076         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
62077         change.
62079 2009-05-21  Bruno Haible  <bruno@clisp.org>
62081         Simplify use of mode_t varargs.
62082         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
62083         uses 'mode_t' or 'int'.
62084         * lib/openat.c (openat): Likewise.
62085         * lib/open-safer.c (open_safer): Likewise.
62086         * m4/mode_t.m4: New file.
62087         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
62088         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
62089         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
62090         * modules/open (Files): Add m4/mode_t.m4.
62091         * modules/openat (Files): Likewise.
62092         * modules/fcntl-safer (Files): Likewise.
62093         Suggested by Eric Blake.
62095 2009-05-21  Pádraig Brady  <P@draigbrady.com>
62097         * doc/glibc-functions/fallocate.texi: New file.
62098         * doc/gnulib.texi: Include it.
62100 2009-05-21  Eric Blake  <ebb9@byu.net>
62101             Bruno Haible  <bruno@clisp.org>
62103         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
62104         invocations.
62105         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
62107 2009-05-21  Eric Blake  <ebb9@byu.net>
62108             Bruno Haible  <bruno@clisp.org>
62110         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
62111         include_next. Fix of 2008-11-20 commit.
62112         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
62113         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
62114         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
62115         NEXT_MATH_H.
62116         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
62117         instead of NEXT_MATH_H.
62119 2009-05-21  Bruno Haible  <bruno@clisp.org>
62121         Avoid redefinition warnings for SIZE_MAX.
62122         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
62123         Reported by Simon Josefsson.
62125 2009-05-21  Bruno Haible  <bruno@clisp.org>
62127         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
62128         AC_CACHE_VAL.
62130 2009-05-20  Bruno Haible  <bruno@clisp.org>
62132         Make zeroptr.h work on mingw.
62133         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
62134         mprotect.
62135         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
62136         * modules/memchr2-tests (configure.ac): Likewise.
62137         * modules/memcmp-tests (configure.ac): Likewise.
62138         * modules/memmem-tests (configure.ac): Likewise.
62139         * modules/memrchr-tests (configure.ac): Likewise.
62140         Reported by Simon Josefsson.
62142 2009-05-20  Simon Josefsson  <simon@josefsson.org>
62144         * tests/test-glob.c: Include string.h for strcmp prototype.
62146 2009-05-20  Simon Josefsson  <simon@josefsson.org>
62148         * modules/getdelim (Depends-on): Add explicit stdint, although it
62149         was implicitly already pulled in via realloc-posix.
62150         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
62152 2009-05-20  Simon Josefsson  <simon@josefsson.org>
62154         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
62155         G. Christensen" <tgc@jupiterrise.com>.
62156         * m4/sys_socket_h.m4: Check for sa_family_t.
62157         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
62158         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
62159         * tests/test-sys_socket.c: Check that sa_family_t works.
62161 2009-05-18  Eric Blake  <ebb9@byu.net>
62163         maint.mk: allow gnulib_dir in VPATH build
62164         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
62166 2009-05-15  Jim Meyering  <meyering@redhat.com>
62168         maint.mk: Give gnulib_dir a default definition.
62169         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
62170         Thus, most packages no longer need to specify this variable in cfg.mk
62172 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
62174         rename.m4: fix typos that would make non-mingw cross-configure fail
62175         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
62177 2009-05-13  Eric Blake  <ebb9@byu.net>
62179         mmap-anon: avoid out-of-order autoconf expansion
62180         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
62181         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
62182         * modules/memchr-tests (Depends-on): Add extensions.
62183         * modules/memchr2-tests (Depends-on): Add extensions.
62184         * modules/memcmp-tests (Depends-on): Add extensions.
62185         * modules/memmem-tests (Depends-on): Add extensions.
62186         * modules/memrchr-tests (Depends-on): Add extensions.
62188 2009-05-13  Bruno Haible  <bruno@clisp.org>
62190         Make some tests ISO C 99 compliant.
62191         * tests/zerosize-ptr.h: New file.
62192         * tests/test-memchr.c: Include zerosize-ptr.h.
62193         (main): Use a zero-size object pointer instead of NULL.
62194         * tests/test-memchr2.c: Include zerosize-ptr.h.
62195         (main): Use a zero-size object pointer instead of NULL.
62196         * tests/test-memcmp.c: Include zerosize-ptr.h.
62197         (main): Use a zero-size object pointer instead of NULL.
62198         * tests/test-memmem.c: Include zerosize-ptr.h.
62199         (main): Use a zero-size object pointer instead of NULL.
62200         * tests/test-memrchr.c: Include zerosize-ptr.h.
62201         (main): Use a zero-size object pointer instead of NULL.
62202         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
62203         m4/mmap-anon.m4.
62204         (Depends-on): Add getpagesize.
62205         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
62206         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
62207         m4/mmap-anon.m4.
62208         (Depends-on): Add getpagesize.
62209         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
62210         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
62211         m4/mmap-anon.m4.
62212         (Depends-on): Add getpagesize.
62213         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
62214         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
62215         m4/mmap-anon.m4.
62216         (Depends-on): Add getpagesize.
62217         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
62218         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
62219         m4/mmap-anon.m4.
62220         (Depends-on): Add getpagesize.
62221         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
62223 2009-05-12  Bruno Haible  <bruno@clisp.org>
62225         Tests for module 'alignof'.
62226         * modules/alignof-tests: New file.
62227         * tests/test-alignof.c: New file.
62229 2009-05-12  Bruno Haible  <bruno@clisp.org>
62231         Fix alignof macro.
62232         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
62233         vendor compilers that are always correct.
62235 2009-05-12  Bruno Haible  <bruno@clisp.org>
62237         Make the MAP_ANONYMOUS detection work on HP-UX 11.
62238         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
62239         not whether its fully works.
62241 2009-05-12  Bruno Haible  <bruno@clisp.org>
62243         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
62245 2009-05-12  Jim Meyering  <meyering@redhat.com>
62247         * top/maint.mk: Adjust backslash alignment.
62249 2009-05-11  Simon Josefsson  <simon@josefsson.org>
62251         * top/maint.mk: Make $(srcdir)/build-aux configurable.
62253 2009-05-11  Eric Blake  <ebb9@byu.net>
62255         argp: avoid undefined behavior
62256         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
62257         macros.
62259 2009-05-08  Simon Josefsson  <simon@josefsson.org>
62261         * tests/test-vc-list-files-git.sh: Do git config of user.email and
62262         user.name to prevent git commit from complaining.
62264 2009-05-10  Bruno Haible  <bruno@clisp.org>
62266         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
62267         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
62268         it rewrites every file name only once.
62269         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
62271 2009-05-08  Bruno Haible  <bruno@clisp.org>
62273         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
62274         instead of 'max'.
62276 2009-05-08  Simon Josefsson  <simon@josefsson.org>
62278         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
62279         sockaddr_storage test.
62281 2009-05-07  Simon Josefsson  <simon@josefsson.org>
62283         * modules/sys_socket (Makefile.am): Substitute
62284         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
62285         * m4/sys_socket_h.m4: Check for sockaddr_storage.
62286         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
62287         * tests/test-sys_socket.c: Check sockaddr_storage.
62289 2009-05-08  Bruno Haible  <bruno@clisp.org>
62291         New module 'alignof'.
62292         * lib/alignof.h: New file.
62293         * modules/alignof: New file.
62295 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
62296             Bruno Haible  <bruno@clisp.org>
62298         Fix test-file-has-acl on FreeBSD.
62299         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
62300         mask is implicitly added.
62301         * tests/test-file-has-acl.c: Include <signal.h>.
62302         (main): Terminate the test after 5 seconds.
62303         * modules/acl-tests (configure.ac): Check for alarm function.
62305 2009-05-04  Bruno Haible  <bruno@clisp.org>
62307         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
62308         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
62309         * modules/errno (configure.ac): Drop AC_REQUIRE.
62310         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
62311         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
62313 2009-05-04  Simon Josefsson  <simon@josefsson.org>
62315         * modules/glob-tests: New module.
62316         * tests/test-glob.c: Add.
62318 2009-05-04  Simon Josefsson  <simon@josefsson.org>
62320         * modules/fnmatch-tests: New module.
62321         * tests/test-fnmatch.c: Add.
62323 2009-05-04  Eric Blake  <ebb9@byu.net>
62325         maint: make the new no-submodule-changes rule VPATH-safe
62326         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
62328 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
62329             Bruno Haible  <bruno@clisp.org>
62331         acl: Fix infinite loop on FreeBSD.
62332         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
62333         of return value from acl_get_entry.
62334         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
62335         Likewise.
62337 2009-05-03  Bruno Haible  <bruno@clisp.org>
62339         * lib/acl-internal.h (acl_entries): Clarify return value.
62340         * lib/acl_entries.c (acl_entries): Likewise.
62342 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
62344         Bug fix in acl module.
62345         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
62347 2009-05-03  Bruno Haible  <bruno@clisp.org>
62349         Create gperf-generated file in the source dir, not in the build dir.
62350         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
62351         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
62352         * modules/unicase/locale-language (unicase/locale-languages.h):
62353         Likewise.
62354         * modules/unicase/special-casing (unicase/special-casing-table.h):
62355         Likewise.
62356         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
62357         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
62358         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
62359         Reported by Ralf Wildenhues.
62361 2009-05-03  Bruno Haible  <bruno@clisp.org>
62363         * modules/fnmatch (Description, configure.ac): Taken from
62364         fnmatch-posix.
62365         * modules/fnmatch-posix: Turn into a symbolic reference to the
62366         'fnmatch' module, and deprecate.
62367         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
62369 2009-05-03  Bruno Haible  <bruno@clisp.org>
62371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
62372         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
62373         Reported by Ralf Wildenhues.
62375 2009-05-04  Simon Josefsson  <simon@josefsson.org>
62377         * m4/fnmatch.m4: Fix fnmatch re-define.
62379 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
62381         priv-set: new module and tests; adapt write-any-file
62382         * lib/priv-set.c: New file.
62383         * lib/priv-set.h: New file.
62384         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
62385         * lib/write-any-file.c: Simplify by using priv-set module.
62386         * m4/priv-set.m4: New file.
62387         * modules/priv-set: New file.
62388         * modules/unlinkdir: Add dependency on priv-set module.
62389         * modules/write-any-file: Likewise.
62391         Tests for module 'priv-set'.
62392         * modules/priv-set-tests: New file.
62393         * tests/test-priv-set.c: New file.
62395 2009-05-03  Jim Meyering  <meyering@redhat.com>
62396             Bruno Haible  <bruno@clisp.org>
62398         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
62399         use the converted UTF-8 variant of the name instead.
62401 2009-05-03  Jim Meyering  <meyering@redhat.com>
62403         tests: tighten some getdate tests
62404         * tests/test-getdate.c (main): Tighten tests: require equality,
62405         not just greater than.  Set TZ envvar to UTC0.
62407 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
62409         getdate: correctly interpret "next monday" when run on a Monday
62410         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
62411         that e.g., "next tues" (when run on a tuesday) results in a date
62412         that is one week in the future, and not today's date.
62413         I.e., add a week when the wday is the same as the current one.
62414         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
62415         and earlier by Martin Bernreuther and Jan Minář.
62416         * tests/test-getdate.c (main): Check that "next DAY" is always in
62417         the future and that "last DAY" is always in the past.
62419 2009-05-02  Jim Meyering  <meyering@redhat.com>
62421         build: ensure that a release build fails when a submodule is unclean
62422         * top/maint.mk (no-submodule-changes): New rule.
62423         (alpha beta major): Depend on it.
62425 2009-05-02  Bruno Haible  <bruno@clisp.org>
62427         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
62428         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
62429         shell variable gl_fnmatch_required to detect which variant is
62430         requested.
62431         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
62432         gl_FUNC_FNMATCH_POSIX.
62433         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
62434         exclude fnmatch-posix.
62436 2009-05-02  Bruno Haible  <bruno@clisp.org>
62438         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
62439         * modules/mbsrtowcs (License): Change to LGPLv2+.
62440         * modules/strnlen1 (License): Likewise.
62441         Reported by Simon Josefsson.
62443 2009-05-02  Bruno Haible  <bruno@clisp.org>
62445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
62446         "cross".
62447         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
62448         gnulib-tool was called with option --source-base=lib.
62450 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62452         Use automake *-local hooks without commands, for extensibility.
62453         * modules/localcharset (Makefile.am): Rename install-exec-local
62454         rule to install-exec-localcharset, and make it a prerequisite of
62455         install-exec-local.  Likewise, rename the uninstall-local rule to
62456         uninstall-localcharset, and make it a prerequisite of the former.
62458 2009-05-01  Bruno Haible  <bruno@clisp.org>
62460         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
62461         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
62462         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
62463         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
62464         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
62465         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
62466         m4/locale-zh.m4, m4/codeset.m4.
62468         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
62469         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
62470         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
62471         m4/locale-zh.m4.
62473         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
62474         REPLACE_WCRTOMB if mbstate_t must be replaced.
62475         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
62476         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
62478 2009-05-01  Bruno Haible  <bruno@clisp.org>
62480         Avoid compiler warnings when redefining macros defined by <libintl.h>.
62481         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
62482         dngettext, dcngettext, textdomain, bindtextdomain,
62483         bind_textdomain_codeset): Undefine before redefining.
62485 2009-04-30  Bruno Haible  <bruno@clisp.org>
62487         Fix bug introduced on 2009-04-25.
62488         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
62489         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
62490         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
62491         is defined.
62492         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
62493         is defined.
62494         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
62495         is defined.
62496         Reported by Elbert_Pol <elbert.pol@gmail.com>.
62498 2009-04-28  Bruno Haible  <bruno@clisp.org>
62500         Comment tweaks.
62501         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
62502         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
62503         * lib/unicase.h (u*_casexfrm): Likewise.
62504         Reported by Paolo Bonzini.
62506 2009-04-28  Bruno Haible  <bruno@clisp.org>
62508         Fix a compilation error.
62509         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
62510         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
62511         Reported by Jim Meyering.
62513 2009-04-27  Bruno Haible  <bruno@clisp.org>
62515         New module 'libunistring'.
62516         * modules/libunistring: New file.
62517         * m4/libunistring.m4: New file.
62518         * MODULES.html.sh (Unicode string functions): Add it.
62520 2009-04-27  Eric Blake  <ebb9@byu.net>
62522         maint.mk: allow package-specific header to provide <config.h>
62523         * top/maint.mk (sc_require_config_h): New variable.
62524         (sc_require_config_h, sc_require_config_h_first): Use it.
62526 2009-04-27  Simon Josefsson  <simon@josefsson.org>
62528         * top/maint.mk (sc_avoid_if_before_free): Except
62529         useless-if-before-free script.
62531 2009-04-27  Eric Blake  <ebb9@byu.net>
62533         maintainer-makefile: depend on all required helper scripts
62534         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
62535         useless-if-before-free.
62536         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
62537         version, rather than assuming gnulib checkout is available.
62538         Reported by Simen Josefsson.
62540 2009-04-26  Bruno Haible  <bruno@clisp.org>
62542         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
62543         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
62544         "../" or "..".
62546 2009-04-26  Bruno Haible  <bruno@clisp.org>
62548         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
62549         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
62550         AC_LIB_HAVE_LINKFLAGS.
62552 2009-04-26  Bruno Haible  <bruno@clisp.org>
62554         Simplify calling convention of u*_conv_from_encoding.
62555         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
62556         u32_conv_from_encoding): Expect a resultbuf argument and return the
62557         result directly as a pointer.
62558         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
62559         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
62560         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
62561         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
62562         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
62563         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
62564         Update.
62565         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
62566         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
62567         * lib/vasnprintf.c (VASNPRINTF): Update.
62568         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
62569         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
62570         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
62571         * NEWS: Mention the change.
62573 2009-04-26  Bruno Haible  <bruno@clisp.org>
62575         Simplify calling convention of u*_conv_to_encoding.
62576         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62577         u32_conv_to_encoding): Expect a resultbuf argument and return the
62578         result directly as a pointer.
62579         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
62580         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
62581         freeing scaled_offsets if mem_iconveha failed.
62582         * lib/unicase/u-casexfrm.h (FUNC): Update.
62583         * lib/uninorm/u-normxfrm.h (FUNC): Update.
62584         * lib/vasnprintf.c (VASNPRINTF): Update.
62585         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
62586         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
62587         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
62588         * NEWS: Mention the change.
62590 2009-04-26  Bruno Haible  <bruno@clisp.org>
62592         Avoid test failures on AIX and OSF/1.
62593         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
62594         malloc(0).
62595         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
62596         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
62597         Likewise.
62598         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
62599         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
62600         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
62601         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
62602         * doc/posix-functions/malloc.texi: Document the portability problem
62603         related to malloc(0).
62605 2009-04-26  Bruno Haible  <bruno@clisp.org>
62607         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
62608         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
62609         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
62611 2009-04-25  Bruno Haible  <bruno@clisp.org>
62613         Avoid link error when creating a namespace clean library.
62614         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
62615         as macro with arguments if already defined as an alias.
62616         * lib/signbitf.c (gl_signbitf): Don't undefine.
62617         * lib/signbitd.c (gl_signbitd): Don't undefine.
62618         * lib/signbitl.c (gl_signbitl): Don't undefine.
62620 2009-04-25  Jim Meyering  <meyering@redhat.com>
62622         vc-list-files: fix another quoting bug
62623         * build-aux/vc-list-files: Avoid sed backslash expansion
62624         of pathological directory names.
62626 2009-04-25  Eric Blake  <ebb9@byu.net>
62628         vc-list-files: fix shell quoting error
62629         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
62630         timestamp.
62632 2009-04-25  Jim Meyering  <meyering@redhat.com>
62634         vc-list-files: restore lost functionality with subdir argument
62635         * build-aux/vc-list-files: When given a non-"." sub-directory
62636         argument, substitute the $dir/ prefix back onto each resulting name.
62637         Otherwise, coreutils' root_tests check would fail.
62639 2009-04-24  Eric Blake  <ebb9@byu.net>
62641         vc-list-files: ignore git symlinks
62642         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
62643         than ls-files, to ignore git symlinks.
62645         maint.mk: import improvements from m4
62646         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
62647         (move_if_change): Delete unused macro.
62648         (news-date-check, vc-diff-check): Support VPATH builds.
62649         (announcement): Likewise.  Split --bootstrap-tools list...
62650         (boostrap-tools): ...into separate list, which can be overridden
62651         in cfg.mk.
62652         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
62653         requiring dependency on useless-if-before-free module.
62654         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
62655         Support VPATH builds.
62657 2009-04-24  Jim Meyering  <meyering@redhat.com>
62659         maint.mk: remove coreutils-specific rules and variables
62660         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
62661         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
62662         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
62664         maint.mk: remove obsolete rule
62665         * top/maint.mk (rel-check): Remove rule.
62666         (WGET, WGETFLAGS): Remove now-unused variables.
62668 2009-04-24  Simon Josefsson  <simon@josefsson.org>
62670         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
62671         consistency.
62673         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
62674         '$(PATH_SEPARATOR)' instead of ':'.
62676 2009-04-24  Simon Josefsson  <simon@josefsson.org>
62678         * lib/getopt1.c (main): Use 'const' for static array.
62680 2009-04-24  Simon Josefsson  <simon@josefsson.org>
62682         * top/maint.mk: Sync with coreutils.
62683         * NEWS: Explain incompatibilities.
62685 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
62686             Bruno Haible  <bruno@clisp.org>
62688         Fix cross-compilation results.
62689         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
62690         statement, as third argument of AC_TRY_RUN.
62691         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
62692         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
62693         Likewise.
62694         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62695         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
62696         Likewise.
62697         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
62698         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
62699         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
62701 2009-04-20  Bruno Haible  <bruno@clisp.org>
62703         Avoid test failure on mingw.
62704         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
62706 2009-04-20  Bruno Haible  <bruno@clisp.org>
62708         Avoid compilation error on mingw.
62709         * modules/localename-tests (Depends-on): Add locale.
62711 2009-04-19  Bruno Haible  <bruno@clisp.org>
62713         Support for building a shared library on Windows platforms.
62714         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
62715         (main): Test the presence of UNINORM_NFC here.
62716         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
62717         (main): Test the presence of UNINORM_NFD here.
62718         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
62719         (main): Test the presence of UNINORM_NFKC here.
62720         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
62721         (main): Test the presence of UNINORM_NFKD here.
62723 2009-04-19  Bruno Haible  <bruno@clisp.org>
62725         Avoid a compiler warning.
62726         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
62727         Change type of variable 'sequence'.
62729 2009-04-19  Bruno Haible  <bruno@clisp.org>
62731         * modules/configmake (Makefile.am): When the contents of configmake.h
62732         does not change, arrange to preserve its modification time.
62734 2009-04-17  Simon Josefsson  <simon@josefsson.org>
62736         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
62737         gettext domain.
62739 2009-04-16  Jim Meyering  <meyering@redhat.com>
62741         useless-if-before-free: improve conversion code
62742         * build-aux/useless-if-before-free: Adjust code-in-comment to match
62743         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
62745 2009-04-14  Bruno Haible  <bruno@clisp.org>
62747         * modules/fcntl (Depends-on): Add extensions.
62748         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
62750 2009-04-12  Ben Pfaff  <blp@gnu.org>
62752         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
62753         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
62755 2009-03-20  Ben Pfaff  <blp@gnu.org>
62757         Make rename replace existing destinations on Windows.
62758         * m4/rename.m4: Add test for Mingw.
62759         * lib/rename.c: Add rename replacement that uses MoveFileEx with
62760         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
62761         * doc/posix-functions/rename.texi: Document.
62763 2009-04-10  Bruno Haible  <bruno@clisp.org>
62765         New include file "iconveh.h".
62766         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
62767         * lib/striconveh.h: Include it.
62768         (enum iconv_ilseq_handler): Remove definition.
62769         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
62770         striconveh.h.
62771         * lib/striconveha.c: Include striconveh.h.
62772         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
62773         * modules/striconveh (Files): Add lib/iconveh.h.
62774         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
62775         lib/striconveh.h.
62777 2009-04-10  Bruno Haible  <bruno@clisp.org>
62779         * lib/uniconv.h: Update comment.
62781 2009-04-10  Bruno Haible  <bruno@clisp.org>
62783         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
62784         always.
62785         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
62786         * lib/unistr/u16-mbtouc-aux.c: Likewise.
62787         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
62788         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
62789         "unistring-notinline.h", so that the function gets defined always.
62790         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
62791         * lib/unistr/u8-uctomb.c: Likewise.
62792         * lib/unistr/u16-mbtouc.c: Likewise.
62793         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
62794         * lib/unistr/u16-uctomb.c: Likewise.
62795         * lib/unistr/u32-mbtouc.c: Likewise.
62796         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
62797         * lib/unistr/u32-uctomb.c: Likewise.
62799 2009-04-10  Bruno Haible  <bruno@clisp.org>
62801         Mark 'utime' obsolete.
62802         * modules/utime (Status, Notice): New sections.
62803         Suggested by Jim Meyering.
62805         Fix cross-compile guess for utime test.
62806         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
62807         autoconf.
62808         * doc/posix-functions/utime.texi: Give more precisions.
62809         Reported by Jan <ipif@ymail.com>.
62811 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
62813         filevercmp: correct today's change
62814         * lib/filevercmp.c: Also handle coreutils' test inputs.
62815         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
62817         Fix regression in 'filevercmp' module. Thanks Sven Joachim
62818         for reporting it.
62819         * lib/filevercmp.c: Special handle for "", "." and "..".
62820         * tests/test-filevercmp.c: Enlarge the set suite.
62822 2009-04-07  Jim Meyering  <meyering@redhat.com>
62824         useless-if-before-free: show how to remove braced useless free, too
62825         * build-aux/useless-if-before-free: still only in a comment, though.
62827 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
62829         maint.mk: import changes to syntax-check macros from coreutils
62830         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
62831         Use them in the relevant macros.
62833 2009-04-06  Bruno Haible  <bruno@clisp.org>
62835         Fix unportable use of bit-fields.
62836         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
62837         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
62838         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
62840 2009-04-06  Bruno Haible  <bruno@clisp.org>
62842         Avoid test failures on AIX and OSF/1.
62843         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
62844         that malloc(0) = NULL.
62845         * tests/unicase/test-u8-tolower.c (check): Likewise.
62846         * tests/unicase/test-u8-totitle.c (check): Likewise.
62847         * tests/unicase/test-u8-toupper.c (check): Likewise.
62848         * tests/unicase/test-u16-casefold.c (check): Likewise.
62849         * tests/unicase/test-u16-tolower.c (check): Likewise.
62850         * tests/unicase/test-u16-totitle.c (check): Likewise.
62851         * tests/unicase/test-u16-toupper.c (check): Likewise.
62852         * tests/unicase/test-u32-casefold.c (check): Likewise.
62853         * tests/unicase/test-u32-tolower.c (check): Likewise.
62854         * tests/unicase/test-u32-totitle.c (check): Likewise.
62855         * tests/unicase/test-u32-toupper.c (check): Likewise.
62856         * tests/uninorm/test-u8-nfc.c (check): Likewise.
62857         * tests/uninorm/test-u8-nfd.c (check): Likewise.
62858         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
62859         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
62860         * tests/uninorm/test-u16-nfc.c (check): Likewise.
62861         * tests/uninorm/test-u16-nfd.c (check): Likewise.
62862         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
62863         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
62864         * tests/uninorm/test-u32-nfc.c (check): Likewise.
62865         * tests/uninorm/test-u32-nfd.c (check): Likewise.
62866         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
62867         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
62869 2009-04-05  Bruno Haible  <bruno@clisp.org>
62871         Work around an autoconf limitation.
62872         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
62873         comment line if it would be longer than 3 KB.
62875 2009-04-05  Bruno Haible  <bruno@clisp.org>
62877         Avoid test failure with libiconv-1.13.
62878         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
62879         of the expected test results.
62881 2009-04-05  Bruno Haible  <bruno@clisp.org>
62883         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
62884         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
62885         that it should be installed.
62887 2009-04-05  Bruno Haible  <bruno@clisp.org>
62889         * gnulib-tool: New option --copy-file.
62890         (func_usage): Document it.
62891         (func_dest_tmpfilename): Moved out of func_import.
62892         (func_add_file, func_update_file): New functions, extracted from
62893         func_import.
62894         (func_import): Update.
62896 2009-04-05  Karl Berry  <karl@gnu.org>
62898         * README: prominently mention gnulib-tool.
62899         Rearrange sections so getting the code is near the top.
62901 2009-04-05  Bruno Haible  <bruno@clisp.org>
62903         * lib/unicase.h: Mention u*_cmp2.
62904         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
62905         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
62906         * lib/unicase/ulc-casecmp.c: Likewise.
62907         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
62908         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
62909         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
62910         unistr/u8-cmp.
62911         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
62912         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
62913         unistr/u16-cmp.
62914         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
62915         unistr/u32-cmp.
62917         * lib/uninorm.h: Mention u*_cmp2.
62918         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
62919         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
62920         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
62921         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
62922         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
62923         unistr/u8-cmp.
62924         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
62925         unistr/u16-cmp.
62926         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
62927         unistr/u32-cmp.
62929         New module 'unistr/u32-cmp2'.
62930         * lib/unistr/u32-cmp2.c: New file.
62931         * modules/unistr/u32-cmp2: New file.
62933         New module 'unistr/u16-cmp2'.
62934         * lib/unistr/u16-cmp2.c: New file.
62935         * modules/unistr/u16-cmp2: New file.
62937         New module 'unistr/u8-cmp2'.
62938         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
62939         * lib/unistr/u8-cmp2.c: New file.
62940         * lib/unistr/u-cmp2.h: New file.
62941         * modules/unistr/u8-cmp2: New file.
62943 2009-04-05  Bruno Haible  <bruno@clisp.org>
62945         * lib/unictype.h (uc_property_is_valid): New macro.
62946         * tests/unictype/test-pr_byname.c (main): Use it.
62948         * lib/unistr.h: Doc fixes.
62949         * lib/uniconv.h: Doc fixes.
62950         * lib/unictype.h: Doc fixes.
62952 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
62954         Port coreutils 7.2 to Solaris 8.
62956         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
62957         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
62958         for Solaris 8.  This is a bit of a hack, as it means it's the
62959         caller's responsibility to add -lnsl if needed, but most likely it
62960         won't be needed since only getaddrinfo uses this and getaddrinfo
62961         isn't needed on Solaris 8.
62963         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
62964         problem to Solaris 8 encountered with coreutils 7.2, which
62965         resulted in a message "fnmatch.c:292: warning: passing argument 4
62966         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
62967         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
62969 2009-04-03  Simon Josefsson  <simon@josefsson.org>
62971         * m4/ld-version-script.m4: Add FIXME comment.
62973 2009-04-02  Simon Josefsson  <simon@josefsson.org>
62975         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
62976         SOVERSION variable.
62978 2009-04-02  Bruno Haible  <bruno@clisp.org>
62980         * Makefile (info, html, dvi, pdf): Combine the rules.
62981         Suggested by Jim Meyering.
62983 2009-04-01  Bruno Haible  <bruno@clisp.org>
62985         * Makefile (info, html, dvi, pdf): New targets.
62986         Reported by Reuben Thomas <rrt@sc3d.org>.
62988 2009-04-01  Bruno Haible  <bruno@clisp.org>
62990         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
62991         can be put into PATH.
62992         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
62994 2009-04-01  Bruno Haible  <bruno@clisp.org>
62996         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
62998 2009-04-01  Bruno Haible  <bruno@clisp.org>
63000         Rename module 'visibility'.
63001         * modules/lib-symbol-visibility: Renamed from modules/visibility.
63002         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
63003         * doc/gnulib.texi: Update.
63004         * MODULES.html.sh (Misc): Update.
63005         * NEWS: Mention the change.
63007 2009-04-01  Simon Josefsson  <simon@josefsson.org>
63009         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
63010         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
63011         Eric Blake <ebb9@byu.net> for review.
63012         * MODULES.html.sh: Add lib-msvc-compat.
63013         * doc/gnulib.texi: Link to new section.
63014         * m4/ld-output-def.m4: New file.
63015         * doc/ld-output-def.texi: New file.
63017 2009-04-01  Simon Josefsson  <simon@josefsson.org>
63019         Rename ld-version-script to lib-symbol-versions.  Suggested by
63020         Bruno Haible <bruno@clisp.org>.
63021         * modules/ld-version-script: Renamed to lib-symbol-versions.
63022         * doc/ld-version-script.texi: Fix module name.
63023         * MODULES.html.sh: Add lib-symbol-versions.
63025 2009-03-31  Simon Josefsson  <simon@josefsson.org>
63027         * modules/u64-tests: New file.
63028         * tests/test-u64.c: New file.
63030 2009-03-04  Simon Josefsson  <simon@josefsson.org>
63032         * MODULES.html.sh: Mention u64.
63033         * modules/u64: New module.
63034         * modules/crypto/sha512: Depend on u64 module instead of providing
63035         u64.h.
63037 2009-03-27  Eric Blake  <ebb9@byu.net>
63039         test-strerror: make debugging EAI_SYSTEM easier
63040         * modules/getaddrinfo-tests (Depends-on): Add strerror.
63041         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
63042         failure was EAI_SYSTEM.
63044 2009-03-25  Bruno Haible  <bruno@clisp.org>
63046         Fix a problem with --enable-relocatable on Solaris 7.
63047         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
63048         since 2008-02-24.
63050 2009-03-25  Eric Blake  <ebb9@byu.net>
63052         test-sockets: avoid gcc warning
63053         * tests/test-sockets.c (main): Silence compiler warning.
63055 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
63057         New modules nproc, pthread, contributed by Glen Lenker.
63059         * MODULES.html.sh: Add pthread, nproc.
63060         * lib/nproc.c: New file.
63061         * lib/nproc.h: New file.
63062         * lib/pthread.in.h: New file.
63063         * m4/pthread.m4: New file.
63064         * modules/nproc: New file.
63065         * modules/pthread: New file.
63067 2009-03-24  Simon Josefsson  <simon@josefsson.org>
63069         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
63070         New variable.
63072 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
63074         filevercmp: handle simple~ and numbered.~3~ backup suffixes
63075         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
63076         * tests/test-filevercmp.c: Add tests for backup suffixes.
63078 2009-03-24  Simon Josefsson  <simon@josefsson.org>
63080         * modules/stdlib (Depends-on): Add stdint, needed when defining
63081         struct random_data on, for example, HP-UX 10.20.  Reported by
63082         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63084 2009-03-24  Simon Josefsson  <simon@josefsson.org>
63086         * lib/readline.c (readline): Call fflush on stdout after printing
63087         prompt.
63089 2009-03-20  Bruno Haible  <bruno@clisp.org>
63091         Remove dependency from 'close' module to -lws2_32 on native Windows.
63092         * lib/close-hook.h: New file.
63093         * lib/close-hook.c: New file.
63094         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
63095         w32sock.h.
63096         (_gl_close_fd_maybe_socket): Remove function.
63097         (rpl_close): Invoke execute_all_close_hooks instead of
63098         _gl_close_fd_maybe_socket.
63099         * lib/sockets.c: Include close-hook.h, w32sock.h.
63100         (close_fd_maybe_socket): New function, essentially from lib/close.c.
63101         (close_sockets_hook): New variable.
63102         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
63103         (gl_sockets_cleanup): Unregister it.
63104         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
63105         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
63106         * modules/close-hook: New file.
63107         * modules/close (Files): Remove lib/w32sock.h.
63108         (Depends-on): Add close-hook.
63109         (Link): Remove section.
63110         * modules/sockets (Files): Add lib/w32sock.h.
63111         (Depends-on): Add close-hook.
63112         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
63113         invocation.
63114         * NEWS: Mention that LIB_CLOSE is gone.
63116 2009-03-23  Eric Blake  <ebb9@byu.net>
63118         signal-tests: test previous patch
63119         * tests/test-signal.c: New file.
63120         * modules/signal-tests: Likewise.
63122         signal.h: always support 'volatile sig_atomic_t'
63123         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
63124         (gl_SIGNAL_H_DEFAULTS): Add a default.
63125         * modules/signal (Makefile.am): Substitute if needed.
63126         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
63127         users can blindly add volatile.
63128         * doc/posix-headers/signal.texi (signal.h): Document it.
63129         Reported by Matthew Woehlke.
63131 2009-03-23  Jim Meyering  <meyering@redhat.com>
63133         pathmax: PATH_MAX: use pathconf only when available
63134         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
63135         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
63136         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
63137         This avoids a link failure in a PSP cross-compilation environment
63138         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
63140         * lib/vasnprintf.c (divide): Fix typo in comment.
63142 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63144         * gnulib-tool (func_filter_filelist): Fix comment.
63146 2009-03-20  Bruno Haible  <bruno@clisp.org>
63148         Make sockets.h self-contained.
63149         * lib/sockets.c: Include sockets.h first.
63150         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
63152 2009-03-19  Eric Blake  <ebb9@byu.net>
63154         doc: mention more functions added in cygwin 1.7.0
63155         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
63156         addition.
63157         * doc/posix-functions/log2f.texi: Likewise.
63159 2009-03-19  Jim Meyering  <meyering@redhat.com>
63161         fsusage: avoid syntax error due to statement-before-declaration
63162         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
63163         after all declarations.  Reported by Matthew Woehlke in
63164         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
63166 2009-03-18  Eric Blake  <ebb9@byu.net>
63168         build-aux/compile: sync from automake
63169         * build-aux/compile: New file, from automake.
63170         * config/srclist.txt: Mention build-aux/compile.
63172 2009-03-17  Bruno Haible  <bruno@clisp.org>
63174         * lib/git-merge-changelog.c: Fix typo in comment.
63175         Reported by Reuben Thomas <rrt@sc3d.org>.
63177 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
63179         * m4/regex.m4: update and improve help for
63180         --without-included-regex.
63182 2009-03-17  Simon Josefsson  <simon@josefsson.org>
63184         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
63185         failure on missing include files.
63187 2009-03-17  Eric Blake  <ebb9@byu.net>
63189         doc: mention more functions added in cygwin 1.7.0
63190         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
63191         addition.
63192         * doc/posix-functions/fwscanf.texi: Likewise.
63193         * doc/posix-functions/swprintf.texi: Likewise.
63194         * doc/posix-functions/swscanf.texi: Likewise.
63195         * doc/posix-functions/vfwprintf.texi: Likewise.
63196         * doc/posix-functions/vfwscanf.texi: Likewise.
63197         * doc/posix-functions/vswprintf.texi: Likewise.
63198         * doc/posix-functions/vswscanf.texi: Likewise.
63199         * doc/posix-functions/vwprintf.texi: Likewise.
63200         * doc/posix-functions/vwscanf.texi: Likewise.
63201         * doc/posix-functions/wcscasecmp.texi: Likewise.
63202         * doc/posix-functions/wcsdup.texi: Likewise.
63203         * doc/posix-functions/wcsftime.texi: Likewise.
63204         * doc/posix-functions/wcsncasecmp.texi: Likewise.
63205         * doc/posix-functions/wprintf.texi: Likewise.
63206         * doc/posix-functions/wscanf.texi: Likewise.
63207         * doc/glibc-functions/gethostbyname2.texi: Likewise.
63209 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63211         maint.mk: really add $(AM_MAKEFLAGS)
63212         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
63213         was inadvertently omitted in the last commit.
63214         Spotted by Bruno Haible.
63216         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
63217         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
63218         $(AM_MAKEFLAGS)' rather than plain `make'.
63220         gnulib-tool: execute $MAKE not make
63221         * gnulib-tool: Default $MAKE to 'make'.
63222         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
63223         than make.  Initialize $MAKE in the do-autobuild script.
63225         gnulib-tool: use $MAKE not make in generated files
63226         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
63227         make, in generated files.  Initialize $MAKE in the do-autobuild
63228         script.
63230         * top/GNUmakefile (_have-git-version-gen): Fix typo.
63232         GNUmakefile: disable parallelism only for multiple, recursive targets
63233         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
63234         additions in the Makefile.
63235         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
63236         by Automake.
63237         (.NOTPARALLEL): Only disable parallel builds if multiple targets
63238         are listed on the command line and at least one of them is
63239         listed in $(ALL_RECURSIVE_TARGETS).
63241 2009-03-14  Bruno Haible  <bruno@clisp.org>
63243         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
63244         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
63245         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
63246         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
63247         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
63248         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
63249         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
63250         unistr/u8-uctomb.
63251         * modules/unistr/u8-strchr (Depends-on): Likewise.
63252         * modules/unistr/u8-strrchr (Depends-on): Likewise.
63253         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
63254         unistr/u16-uctomb.
63255         * modules/unistr/u16-strchr (Depends-on): Likewise.
63256         * modules/unistr/u16-strrchr (Depends-on): Likewise.
63258 2009-03-12  Bruno Haible  <bruno@clisp.org>
63260         Work around select() bug on Interix 3.5.
63261         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
63262         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
63263         * m4/select.m4: New file.
63264         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
63265         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
63266         * modules/select (Files): Add m4/select.m4.
63267         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
63268         * modules/nanosleep (Depends-on): Add select.
63269         * modules/poll (Depends-on): Likewise.
63270         * doc/posix-functions/select.texi: Mention the Interix bug.
63271         Reported by Markus Duft <mduft@gentoo.org>.
63273         * lib/select.c: Renamed from lib/winsock-select.c.
63274         * modules/select (Files): Add lib/select.c, remove
63275         lib/winsock-select.c.
63276         (configure.ac): Update.
63278 2009-03-12  Jim Meyering  <meyering@redhat.com>
63280         avoid gcc warnings about unused macro definitions
63281         * lib/readtokens.c (STREQ): Remove unused definition.
63282         * lib/xmalloc.c (SIZE_MAX): Likewise.
63283         * lib/openat-die.c (N_): Likewise.
63284         * lib/mountlist.c (SIZE_MAX): Remove definition.
63285         Instead, include <stdint.h>.
63286         * lib/readutmp.c: Likewise.
63287         * modules/readutmp (Depends-on): Add stdint.
63288         * modules/mountlist (Depends-on): Add stdint.
63289         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
63291 2009-03-10  Bruno Haible  <bruno@clisp.org>
63293         Tests for module 'mbmemcasecoll'.
63294         * modules/mbmemcasecoll-tests: New file.
63295         * tests/test-mbmemcasecoll1.sh: New file.
63296         * tests/test-mbmemcasecoll2.sh: New file.
63297         * tests/test-mbmemcasecoll3.sh: New file.
63298         * tests/test-mbmemcasecoll.c: New file.
63300         New module 'mbmemcasecoll'.
63301         * lib/mbmemcasecoll.h: New file.
63302         * lib/mbmemcasecoll.c: New file.
63303         * modules/mbmemcasecoll: New file.
63305         * tests/test-mbmemcasecmp.h: New file, extracted from
63306         tests/test-mbmemcasecmp.c.
63307         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
63308         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
63309         (main): Update.
63310         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
63312 2009-03-09  Bruno Haible  <bruno@clisp.org>
63314         Tests for module 'mbmemcasecmp'.
63315         * modules/mbmemcasecmp-tests: New file.
63316         * tests/test-mbmemcasecmp1.sh: New file.
63317         * tests/test-mbmemcasecmp2.sh: New file.
63318         * tests/test-mbmemcasecmp3.sh: New file.
63319         * tests/test-mbmemcasecmp.c: New file.
63321         New module 'mbmemcasecmp'.
63322         * lib/mbmemcasecmp.h: New file.
63323         * lib/mbmemcasecmp.c: New file.
63324         * modules/mbmemcasecmp: New file.
63326 2009-03-09  Bruno Haible  <bruno@clisp.org>
63328         Tests for module 'unicase/ulc-casecoll'.
63329         * modules/unicase/ulc-casecoll-tests: New file.
63330         * tests/unicase/test-ulc-casecoll1.sh: New file.
63331         * tests/unicase/test-ulc-casecoll2.sh: New file.
63332         * tests/unicase/test-ulc-casecoll.c: New file.
63334         New module 'unicase/ulc-casecoll'.
63335         * lib/unicase.h (ulc_casecoll): New declaration.
63336         * lib/unicase/ulc-casecoll.c: New file.
63337         * modules/unicase/ulc-casecoll: New file.
63339         New module 'unicase/ulc-casexfrm'.
63340         * lib/unicase.h (ulc_casexfrm): New declaration.
63341         * lib/unicase/ulc-casexfrm.c: New file.
63342         * modules/unicase/ulc-casexfrm: New file.
63344 2009-03-09  Bruno Haible  <bruno@clisp.org>
63346         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
63347         invocations.
63349         * m4/mbscasecmp.m4: Remove file.
63350         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
63351         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
63353         * m4/mbscasestr.m4: Remove file.
63354         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
63355         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
63357         * m4/mbschr.m4: Remove file.
63358         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
63359         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
63361         * m4/mbscspn.m4: Remove file.
63362         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
63363         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
63365         * m4/mbslen.m4: Remove file.
63366         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
63367         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
63369         * m4/mbsncasecmp.m4: Remove file.
63370         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
63371         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
63373         * m4/mbsnlen.m4: Remove file.
63374         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
63375         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
63377         * m4/mbspbrk.m4: Remove file.
63378         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
63379         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
63381         * m4/mbspcasecmp.m4: Remove file.
63382         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
63383         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
63385         * m4/mbsrchr.m4: Remove file.
63386         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
63387         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
63389         * m4/mbssep.m4: Remove file.
63390         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
63391         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
63393         * m4/mbsspn.m4: Remove file.
63394         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
63395         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
63397         * m4/mbsstr.m4: Remove file.
63398         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
63399         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
63401         * m4/mbstok_r.m4: Remove file.
63402         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
63403         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
63405         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
63407         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
63408         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
63410         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
63412 2009-03-08  Bruno Haible  <bruno@clisp.org>
63414         Tests for module 'unicase/ulc-casecmp'.
63415         * modules/unicase/ulc-casecmp-tests: New file.
63416         * tests/unicase/test-ulc-casecmp1.sh: New file.
63417         * tests/unicase/test-ulc-casecmp2.sh: New file.
63418         * tests/unicase/test-ulc-casecmp.c: New file.
63420         New module 'unicase/ulc-casecmp'.
63421         * lib/unicase.h (ulc_casecmp): New declaration.
63422         * lib/unicase/ulc-casecmp.c: New file.
63423         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
63424         'const SRC_UNIT *'.
63425         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
63426         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
63427         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
63428         * modules/unicase/ulc-casecmp: New file.
63430         Tests for module 'unicase/u32-is-cased'.
63431         * modules/unicase/u32-is-cased-tests: New file.
63432         * tests/unicase/test-u32-is-cased.c: New file.
63434         Tests for module 'unicase/u16-is-cased'.
63435         * modules/unicase/u16-is-cased-tests: New file.
63436         * tests/unicase/test-u16-is-cased.c: New file.
63438         Tests for module 'unicase/u8-is-cased'.
63439         * modules/unicase/u8-is-cased-tests: New file.
63440         * tests/unicase/test-u8-is-cased.c: New file.
63441         * tests/unicase/test-is-cased.h: New file.
63443         New module 'unicase/u32-is-cased'.
63444         * lib/unicase/u32-is-cased.c: New file.
63445         * modules/unicase/u32-is-cased: New file.
63447         New module 'unicase/u16-is-cased'.
63448         * lib/unicase/u16-is-cased.c: New file.
63449         * modules/unicase/u16-is-cased: New file.
63451         New module 'unicase/u8-is-cased'.
63452         * lib/unicase/u8-is-cased.c: New file.
63453         * lib/unicase/u-is-cased.h: New file.
63454         * modules/unicase/u8-is-cased: New file.
63456         Tests for module 'unicase/u32-is-casefolded'.
63457         * modules/unicase/u32-is-casefolded-tests: New file.
63458         * tests/unicase/test-u32-is-casefolded.c: New file.
63460         Tests for module 'unicase/u16-is-casefolded'.
63461         * modules/unicase/u16-is-casefolded-tests: New file.
63462         * tests/unicase/test-u16-is-casefolded.c: New file.
63464         Tests for module 'unicase/u8-is-casefolded'.
63465         * modules/unicase/u8-is-casefolded-tests: New file.
63466         * tests/unicase/test-u8-is-casefolded.c: New file.
63467         * tests/unicase/test-is-casefolded.h: New file.
63469         New module 'unicase/u32-is-casefolded'.
63470         * lib/unicase/u32-is-casefolded.c: New file.
63471         * modules/unicase/u32-is-casefolded: New file.
63473         New module 'unicase/u16-is-casefolded'.
63474         * lib/unicase/u16-is-casefolded.c: New file.
63475         * modules/unicase/u16-is-casefolded: New file.
63477         New module 'unicase/u8-is-casefolded'.
63478         * lib/unicase/u8-is-casefolded.c: New file.
63479         * modules/unicase/u8-is-casefolded: New file.
63481         Tests for module 'unicase/u32-is-titlecase'.
63482         * modules/unicase/u32-is-titlecase-tests: New file.
63483         * tests/unicase/test-u32-is-titlecase.c: New file.
63485         Tests for module 'unicase/u16-is-titlecase'.
63486         * modules/unicase/u16-is-titlecase-tests: New file.
63487         * tests/unicase/test-u16-is-titlecase.c: New file.
63489         Tests for module 'unicase/u8-is-titlecase'.
63490         * modules/unicase/u8-is-titlecase-tests: New file.
63491         * tests/unicase/test-u8-is-titlecase.c: New file.
63492         * tests/unicase/test-is-titlecase.h: New file.
63494         New module 'unicase/u32-is-titlecase'.
63495         * lib/unicase/u32-is-titlecase.c: New file.
63496         * modules/unicase/u32-is-titlecase: New file.
63498         New module 'unicase/u16-is-titlecase'.
63499         * lib/unicase/u16-is-titlecase.c: New file.
63500         * modules/unicase/u16-is-titlecase: New file.
63502         New module 'unicase/u8-is-titlecase'.
63503         * lib/unicase/u8-is-titlecase.c: New file.
63504         * modules/unicase/u8-is-titlecase: New file.
63506         Tests for module 'unicase/u32-is-lowercase'.
63507         * modules/unicase/u32-is-lowercase-tests: New file.
63508         * tests/unicase/test-u32-is-lowercase.c: New file.
63510         Tests for module 'unicase/u16-is-lowercase'.
63511         * modules/unicase/u16-is-lowercase-tests: New file.
63512         * tests/unicase/test-u16-is-lowercase.c: New file.
63514         Tests for module 'unicase/u8-is-lowercase'.
63515         * modules/unicase/u8-is-lowercase-tests: New file.
63516         * tests/unicase/test-u8-is-lowercase.c: New file.
63517         * tests/unicase/test-is-lowercase.h: New file.
63519         New module 'unicase/u32-is-lowercase'.
63520         * lib/unicase/u32-is-lowercase.c: New file.
63521         * modules/unicase/u32-is-lowercase: New file.
63523         New module 'unicase/u16-is-lowercase'.
63524         * lib/unicase/u16-is-lowercase.c: New file.
63525         * modules/unicase/u16-is-lowercase: New file.
63527         New module 'unicase/u8-is-lowercase'.
63528         * lib/unicase/u8-is-lowercase.c: New file.
63529         * modules/unicase/u8-is-lowercase: New file.
63531         Tests for module 'unicase/u32-is-uppercase'.
63532         * modules/unicase/u32-is-uppercase-tests: New file.
63533         * tests/unicase/test-u32-is-uppercase.c: New file.
63535         Tests for module 'unicase/u16-is-uppercase'.
63536         * modules/unicase/u16-is-uppercase-tests: New file.
63537         * tests/unicase/test-u16-is-uppercase.c: New file.
63539         Tests for module 'unicase/u8-is-uppercase'.
63540         * modules/unicase/u8-is-uppercase-tests: New file.
63541         * tests/unicase/test-u8-is-uppercase.c: New file.
63542         * tests/unicase/test-is-uppercase.h: New file.
63544         New module 'unicase/u32-is-uppercase'.
63545         * lib/unicase/u32-is-uppercase.c: New file.
63546         * modules/unicase/u32-is-uppercase: New file.
63548         New module 'unicase/u16-is-uppercase'.
63549         * lib/unicase/u16-is-uppercase.c: New file.
63550         * modules/unicase/u16-is-uppercase: New file.
63552         New module 'unicase/u8-is-uppercase'.
63553         * lib/unicase/u8-is-uppercase.c: New file.
63554         * modules/unicase/u8-is-uppercase: New file.
63556         New module 'unicase/u32-is-invariant'.
63557         * lib/unicase/u32-is-invariant.c: New file.
63558         * modules/unicase/u32-is-invariant: New file.
63560         New module 'unicase/u16-is-invariant'.
63561         * lib/unicase/u16-is-invariant.c: New file.
63562         * modules/unicase/u16-is-invariant: New file.
63564         New module 'unicase/u8-is-invariant'.
63565         * lib/unicase/u8-is-invariant.c: New file.
63566         * lib/unicase/invariant.h: New file.
63567         * lib/unicase/u-is-invariant.h: New file.
63568         * modules/unicase/u8-is-invariant: New file.
63570         Tests for module 'unicase/u32-casecoll'.
63571         * modules/unicase/u32-casecoll-tests: New file.
63572         * tests/unicase/test-u32-casecoll.c: New file.
63574         Tests for module 'unicase/u16-casecoll'.
63575         * modules/unicase/u16-casecoll-tests: New file.
63576         * tests/unicase/test-u16-casecoll.c: New file.
63578         Tests for module 'unicase/u8-casecoll'.
63579         * modules/unicase/u8-casecoll-tests: New file.
63580         * tests/unicase/test-u8-casecoll.c: New file.
63582         New module 'unicase/u32-casecoll'.
63583         * lib/unicase/u32-casecoll.c: New file.
63584         * modules/unicase/u32-casecoll: New file.
63586         New module 'unicase/u16-casecoll'.
63587         * lib/unicase/u16-casecoll.c: New file.
63588         * modules/unicase/u16-casecoll: New file.
63590         New module 'unicase/u8-casecoll'.
63591         * lib/unicase/u8-casecoll.c: New file.
63592         * lib/unicase/u-casecoll.h: New file.
63593         * modules/unicase/u8-casecoll: New file.
63595         New module 'unicase/u32-casexfrm'.
63596         * lib/unicase/u32-casexfrm.c: New file.
63597         * modules/unicase/u32-casexfrm: New file.
63599         New module 'unicase/u16-casexfrm'.
63600         * lib/unicase/u16-casexfrm.c: New file.
63601         * modules/unicase/u16-casexfrm: New file.
63603         New module 'unicase/u8-casexfrm'.
63604         * lib/unicase/u8-casexfrm.c: New file.
63605         * lib/unicase/u-casexfrm.h: New file.
63606         * modules/unicase/u8-casexfrm: New file.
63608         Tests for module 'unicase/u32-casecmp'.
63609         * modules/unicase/u32-casecmp-tests: New file.
63610         * tests/unicase/test-u32-casecmp.c: New file.
63612         Tests for module 'unicase/u16-casecmp'.
63613         * modules/unicase/u16-casecmp-tests: New file.
63614         * tests/unicase/test-u16-casecmp.c: New file.
63616         Tests for module 'unicase/u8-casecmp'.
63617         * modules/unicase/u8-casecmp-tests: New file.
63618         * tests/unicase/test-u8-casecmp.c: New file.
63619         * tests/unicase/test-casecmp.h: New file.
63621         New module 'unicase/u32-casecmp'.
63622         * lib/unicase/u32-casecmp.c: New file.
63623         * modules/unicase/u32-casecmp: New file.
63625         New module 'unicase/u16-casecmp'.
63626         * lib/unicase/u16-casecmp.c: New file.
63627         * modules/unicase/u16-casecmp: New file.
63629         New module 'unicase/u8-casecmp'.
63630         * lib/unicase/u8-casecmp.c: New file.
63631         * lib/unicase/u-casecmp.h: New file.
63632         * modules/unicase/u8-casecmp: New file.
63634         Tests for module 'unicase/u32-casefold'.
63635         * modules/unicase/u32-casefold-tests: New file.
63636         * tests/unicase/test-u32-casefold.c: New file.
63638         Tests for module 'unicase/u16-casefold'.
63639         * modules/unicase/u16-casefold-tests: New file.
63640         * tests/unicase/test-u16-casefold.c: New file.
63642         Tests for module 'unicase/u8-casefold'.
63643         * modules/unicase/u8-casefold-tests: New file.
63644         * tests/unicase/test-u8-casefold.c: New file.
63646         New module 'unicase/u32-casefold'.
63647         * lib/unicase/u32-casefold.c: New file.
63648         * modules/unicase/u32-casefold: New file.
63650         New module 'unicase/u16-casefold'.
63651         * lib/unicase/u16-casefold.c: New file.
63652         * modules/unicase/u16-casefold: New file.
63654         New module 'unicase/u8-casefold'.
63655         * lib/unicase/u8-casefold.c: New file.
63656         * lib/unicase/u-casefold.h: New file.
63657         * modules/unicase/u8-casefold: New file.
63659         New module 'unicase/tocasefold'.
63660         * lib/unicase/casefold.h: New file.
63661         * lib/unicase/tocasefold.c: New file.
63662         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
63663         * modules/unicase/tocasefold: New file.
63665         Tests for module 'unicase/u32-totitle'.
63666         * modules/unicase/u32-totitle-tests: New file.
63667         * tests/unicase/test-u32-totitle.c: New file.
63669         Tests for module 'unicase/u16-totitle'.
63670         * modules/unicase/u16-totitle-tests: New file.
63671         * tests/unicase/test-u16-totitle.c: New file.
63673         Tests for module 'unicase/u8-totitle'.
63674         * modules/unicase/u8-totitle-tests: New file.
63675         * tests/unicase/test-u8-totitle.c: New file.
63677         New module 'unicase/u32-totitle'.
63678         * lib/unicase/u32-totitle.c: New file.
63679         * modules/unicase/u32-totitle: New file.
63681         New module 'unicase/u16-totitle'.
63682         * lib/unicase/u16-totitle.c: New file.
63683         * modules/unicase/u16-totitle: New file.
63685         New module 'unicase/u8-totitle'.
63686         * lib/unicase/u8-totitle.c: New file.
63687         * lib/unicase/u-totitle.h: New file.
63688         * modules/unicase/u8-totitle: New file.
63690         Tests for module 'unicase/u32-tolower'.
63691         * modules/unicase/u32-tolower-tests: New file.
63692         * tests/unicase/test-u32-tolower.c: New file.
63694         Tests for module 'unicase/u16-tolower'.
63695         * modules/unicase/u16-tolower-tests: New file.
63696         * tests/unicase/test-u16-tolower.c: New file.
63698         Tests for module 'unicase/u8-tolower'.
63699         * modules/unicase/u8-tolower-tests: New file.
63700         * tests/unicase/test-u8-tolower.c: New file.
63702         New module 'unicase/u32-tolower'.
63703         * lib/unicase/u32-tolower.c: New file.
63704         * modules/unicase/u32-tolower: New file.
63706         New module 'unicase/u16-tolower'.
63707         * lib/unicase/u16-tolower.c: New file.
63708         * modules/unicase/u16-tolower: New file.
63710         New module 'unicase/u8-tolower'.
63711         * lib/unicase/u8-tolower.c: New file.
63712         * modules/unicase/u8-tolower: New file.
63714         Tests for module 'unicase/u32-toupper'.
63715         * modules/unicase/u32-toupper-tests: New file.
63716         * tests/unicase/test-u32-toupper.c: New file.
63718         Tests for module 'unicase/u16-toupper'.
63719         * modules/unicase/u16-toupper-tests: New file.
63720         * tests/unicase/test-u16-toupper.c: New file.
63722         Tests for module 'unicase/u8-toupper'.
63723         * modules/unicase/u8-toupper-tests: New file.
63724         * tests/unicase/test-u8-toupper.c: New file.
63726         New module 'unicase/u32-toupper'.
63727         * lib/unicase/u32-toupper.c: New file.
63728         * modules/unicase/u32-toupper: New file.
63730         New module 'unicase/u16-toupper'.
63731         * lib/unicase/u16-toupper.c: New file.
63732         * modules/unicase/u16-toupper: New file.
63734         New module 'unicase/u8-toupper'.
63735         * lib/unicase/u8-toupper.c: New file.
63736         * modules/unicase/u8-toupper: New file.
63738         New module 'unicase/u32-casemap'.
63739         * lib/unicase/u32-casemap.c: New file.
63740         * modules/unicase/u32-casemap: New file.
63742         New module 'unicase/u16-casemap'.
63743         * lib/unicase/u16-casemap.c: New file.
63744         * modules/unicase/u16-casemap: New file.
63746         New module 'unicase/u8-casemap'.
63747         * lib/unicase/unicasemap.h: New file.
63748         * lib/unicase/u8-casemap.c: New file.
63749         * lib/unicase/u-casemap.h: New file.
63750         * modules/unicase/u8-casemap: New file.
63752         New module 'unicase/special-casing'.
63753         * lib/unicase/special-casing.h: New file.
63754         * lib/unicase/special-casing.c: New file.
63755         * lib/unicase/special-casing-table.gperf: New file, generated by
63756         gen-uni-tables.c.
63757         * modules/unicase/special-casing: New file.
63759         Tests for module 'unicase/locale-language'.
63760         * modules/unicase/locale-language-tests: New file.
63761         * tests/unicase/test-locale-language.sh: New file.
63762         * tests/unicase/test-locale-language.c: New file.
63764         New module 'unicase/locale-language'.
63765         * lib/unicase/locale-language.c: New file.
63766         * lib/unicase/locale-languages.gperf: New file.
63767         * modules/unicase/locale-language: New file.
63769         Generate more tables for case conversion and case folding.
63770         * lib/gen-uni-tables.c (SCC_*): New enum items.
63771         (struct special_casing_rule): New type.
63772         (casing_rules, num_casing_rules, allocated_casing_rules): New
63773         variables.
63774         (add_casing_rule, fill_casing_rules): New functions.
63775         (struct casefold_rule): New type.
63776         (casefolding_rules, num_casefolding_rules,
63777         allocated_casefolding_rules): New variables.
63778         (fill_casefolding_rules): New function.
63779         (unicode_casefold): New variable.
63780         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
63781         sort_casing_rules, output_casing_rules): New functions.
63782         (main): Accept to more arguments: SpecialCasing.txt and
63783         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
63784         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
63785         Output mapping for casefolding.
63787         * lib/unicase.h: Include stdbool.h, uninorm.h.
63788         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
63789         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
63790         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
63791         arguments.
63792         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
63793         resultp arguments.
63794         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
63795         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
63796         resultp arguments.
63797         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
63798         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
63799         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
63800         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
63801         declarations.
63802         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
63804 2009-03-08  Bruno Haible  <bruno@clisp.org>
63806         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
63807         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
63808         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
63809         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
63811 2009-03-07  Bruno Haible  <bruno@clisp.org>
63813         Adjust u*_normcmp, u*_normcoll API.
63814         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
63815         u16_normcoll, u32_normcoll): Change failure conventions.
63816         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
63817         errno and return -1.
63818         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
63820 2009-03-07  Bruno Haible  <bruno@clisp.org>
63822         Tests for module 'uninorm/u32-normcoll'.
63823         * modules/uninorm/u32-normcoll-tests: New file.
63824         * tests/uninorm/test-u32-normcoll.c: New file.
63826         Tests for module 'uninorm/u16-normcoll'.
63827         * modules/uninorm/u16-normcoll-tests: New file.
63828         * tests/uninorm/test-u16-normcoll.c: New file.
63830         Tests for module 'uninorm/u8-normcoll'.
63831         * modules/uninorm/u8-normcoll-tests: New file.
63832         * tests/uninorm/test-u8-normcoll.c: New file.
63834 2009-03-07  Bruno Haible  <bruno@clisp.org>
63836         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
63837         tests/uninorm/test-u32-normcmp.c.
63838         * tests/uninorm/test-u32-normcmp.c: Include it.
63839         (test_nonascii): New function, extracted from main. Add some more
63840         tests.
63841         (main): Invoke test_ascii and test_nonascii.
63842         * modules/uninorm/u32-normcmp-tests (Files): Add
63843         tests/uninorm/test-u32-normcmp.h.
63844         (Depends-on): Remove uninorm/u32-normcmp.
63846         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
63847         tests/uninorm/test-u16-normcmp.c.
63848         * tests/uninorm/test-u16-normcmp.c: Include it.
63849         (test_nonascii): New function, extracted from main. Add some more
63850         tests.
63851         (main): Invoke test_ascii and test_nonascii.
63852         * modules/uninorm/u16-normcmp-tests (Files): Add
63853         tests/uninorm/test-u16-normcmp.h.
63854         (Depends-on): Remove uninorm/u16-normcmp.
63856         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
63857         tests/uninorm/test-u8-normcmp.c.
63858         * tests/uninorm/test-u8-normcmp.c: Include it.
63859         (test_nonascii): New function, extracted from main. Add some more
63860         tests.
63861         (main): Invoke test_ascii and test_nonascii.
63862         * modules/uninorm/u8-normcmp-tests (Files): Add
63863         tests/uninorm/test-u8-normcmp.h.
63864         (Depends-on): Remove uninorm/u8-normcmp.
63866 2009-03-07  Bruno Haible  <bruno@clisp.org>
63868         New module 'uninorm/u32-normcoll'.
63869         * lib/uninorm/u32-normcoll.c: New file.
63870         * modules/uninorm/u32-normcoll: New file.
63872         New module 'uninorm/u16-normcoll'.
63873         * lib/uninorm/u16-normcoll.c: New file.
63874         * modules/uninorm/u16-normcoll: New file.
63876         New module 'uninorm/u8-normcoll'.
63877         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
63878         declarations.
63879         * lib/uninorm/u8-normcoll.c: New file.
63880         * lib/uninorm/u-normcoll.h: New file.
63881         * modules/uninorm/u8-normcoll: New file.
63883         New module 'uninorm/u32-normxfrm'.
63884         * lib/uninorm/u32-normxfrm.c: New file.
63885         * modules/uninorm/u32-normxfrm: New file.
63887         New module 'uninorm/u16-normxfrm'.
63888         * lib/uninorm/u16-normxfrm.c: New file.
63889         * modules/uninorm/u16-normxfrm: New file.
63891         New module 'uninorm/u8-normxfrm'.
63892         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
63893         declarations.
63894         * lib/uninorm/u8-normxfrm.c: New file.
63895         * lib/uninorm/u-normxfrm.h: New file.
63896         * modules/uninorm/u8-normxfrm: New file.
63898 2009-03-07  Bruno Haible  <bruno@clisp.org>
63900         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
63901         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
63902         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
63904 2009-03-07  Bruno Haible  <bruno@clisp.org>
63906         New module 'memxfrm'.
63907         * lib/memxfrm.h: New file.
63908         * lib/memxfrm.c: New file.
63909         * modules/memxfrm: New file.
63911 2009-03-07  Bruno Haible  <bruno@clisp.org>
63913         New module 'memcmp2'.
63914         * lib/memcmp2.h: New file.
63915         * lib/memcmp2.c: New file.
63916         * modules/memcmp2: New file.
63918 2009-03-07  Bruno Haible  <bruno@clisp.org>
63920         Tests for module 'uninorm/decomposing-form'.
63921         * modules/uninorm/decomposing-form-tests: New file.
63922         * tests/uninorm/test-decomposing-form.c: New file.
63924         New module 'uninorm/decomposing-form'.
63925         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
63926         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
63927         Add 'decomposing_variant' field.
63928         * lib/uninorm/decomposing-form.c: New file.
63929         * lib/uninorm/nfc.c (uninorm_nfc): Update.
63930         * lib/uninorm/nfd.c (uninorm_nfd): Update.
63931         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
63932         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
63933         * modules/uninorm/decomposing-form: New file.
63934         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
63935         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
63937 2009-03-07  Bruno Haible  <bruno@clisp.org>
63939         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
63940         strings.
63942 2009-03-06  Bruno Haible  <bruno@clisp.org>
63944         Tests for module 'uninorm/u32-normcmp'.
63945         * tests/uninorm/test-u32-normcmp.c: New file.
63946         * modules/uninorm/u32-normcmp-tests: New file.
63948         Tests for module 'uninorm/u16-normcmp'.
63949         * tests/uninorm/test-u16-normcmp.c: New file.
63950         * modules/uninorm/u16-normcmp-tests: New file.
63952         Tests for module 'uninorm/u8-normcmp'.
63953         * tests/uninorm/test-u8-normcmp.c: New file.
63954         * modules/uninorm/u8-normcmp-tests: New file.
63956         New module 'uninorm/u32-normcmp'.
63957         * lib/uninorm/u32-normcmp.c: New file.
63958         * modules/uninorm/u32-normcmp: New file.
63960         New module 'uninorm/u16-normcmp'.
63961         * lib/uninorm/u16-normcmp.c: New file.
63962         * modules/uninorm/u16-normcmp: New file.
63964         New module 'uninorm/u8-normcmp'.
63965         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
63966         declarations.
63967         * lib/uninorm/u8-normcmp.c: New file.
63968         * lib/uninorm/u-normcmp.h: New file.
63969         * modules/uninorm/u8-normcmp: New file.
63971 2009-03-06  Bruno Haible  <bruno@clisp.org>
63973         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
63974         Reported by Eric Blake.
63976 2009-03-06  Eric Blake  <ebb9@byu.net>
63977             Bruno Haible  <bruno@clisp.org>
63979         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
63980         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
63981         condition.
63982         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
63983         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
63984         condition.
63985         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
63987 2009-03-06  Eric Blake  <ebb9@byu.net>
63989         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
63990         to avoid compiler warnings.
63991         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
63993 2009-03-05  Bruno Haible  <bruno@clisp.org>
63995         * tests/test-ftell.c (main): Disable test beyond end of file on
63996         FreeMiNT.
63997         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
63999 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
64001         * lib/filevercmp.c: Move hidden files up in ordering.
64002         * tests/test-filevercmp.c: Add tests for hidden files.
64004 2009-03-04  Bruno Haible  <bruno@clisp.org>
64006         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
64007         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
64008         AM_CFLAGS.
64009         Reported by Simon Josefsson.
64011 2009-03-03  Bruno Haible  <bruno@clisp.org>
64013         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
64014         Reported by Simon Josefsson.
64016         * doc/ld-version-script.texi: Update node reference.
64018 2009-03-03  Bruno Haible  <bruno@clisp.org>
64020         * modules/visibility (License): Change to 'unlimited'.
64021         Suggested by Simon Josefsson.
64023 2009-03-03  Jim Meyering  <meyering@redhat.com>
64025         unlinkdir: cannot_unlink_dir may modify process state
64026         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
64027         it's neither thread-safe nor appropriate for use in a library.
64029 2009-03-03  Eric Blake  <ebb9@byu.net>
64031         test-closein: silence test under Darwin
64032         * tests/test-closein.sh: Ignore stderr from cat, since we don't
64033         care if it dies from EPIPE or EBADF.
64035 2009-03-03  Bruno Haible  <bruno@clisp.org>
64037         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
64038         earlier.
64039         * doc/visibility.texi: Fix @node and @section.
64041 2009-03-03  Simon Josefsson  <simon@josefsson.org>
64043         * doc/gnulib.texi: Link to sections for ld version script and
64044         visibility.
64045         * doc/visibility.texi: Add @node and @section.
64046         * modules/ld-version-script: New module.
64047         * m4/ld-version-script.m4: New file.
64048         * doc/ld-version-script.texi: New file.
64050 2009-03-02  David Lutterkort  <lutter@redhat.com>
64052         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
64053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64055 2009-03-02  Bruno Haible  <bruno@clisp.org>
64057         * doc/visibility.texi: Mention libtool's -export-symbols option.
64059 2009-03-02  Jim Meyering  <meyering@redhat.com>
64061         announce-gen: new option: --no-print-checksums
64062         * build-aux/announce-gen (usage): Describe it.
64063         (print_checksums): Print a newline here, not in the [*] footnote.
64064         (main): Honor it.
64066 2009-03-01  Bruno Haible  <bruno@clisp.org>
64068         Use socklen_t in the native Windows replacements prototypes.
64069         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
64070         instead of 'int'.
64071         * lib/getsockopt.c (rpl_getsockopt): Likewise.
64072         * lib/setsockopt.c (rpl_setsockopt): Likewise.
64073         * modules/getsockopt (Depends-on): Add socklen.
64074         * modules/setsockopt (Depends-on): Add socklen.
64076 2009-03-01  Bruno Haible  <bruno@clisp.org>
64078         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
64079         least 4.2.
64081 2009-03-01  Eric Blake  <ebb9@byu.net>
64082             Bruno Haible  <bruno@clisp.org>
64084         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
64085         error messages.
64086         * lib/wait-process.c (wait_subprocess): Omit error message about
64087         deadly signal sent to the child of termsigp != NULL.
64089 2009-03-01  Eric Blake  <ebb9@byu.net>
64091         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
64093 2009-03-01  Bruno Haible  <bruno@clisp.org>
64095         Avoid a gcc warning.
64096         * tests/test-sched.c (b): Make global.
64097         Reported by Eric Blake.
64099 2009-01-19  Martin Lambers  <marlam@marlam.de>
64101         Provide POSIX semantics for socket timeout options on W32.
64102         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
64103         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
64104         * modules/setsockopt: Depend on sys_time module for struct timeval.
64105         * modules/getsockopt: Depend on sys_time module for struct timeval.
64107 2009-03-01  Simon Josefsson  <simon@josefsson.org>
64109         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
64110         __USE_GNU, for consistency with netdb.in.h.
64111         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64113 2009-03-01  Bruno Haible  <bruno@clisp.org>
64115         More support for FreeMiNT.
64116         * lib/fseeko.c (rpl_fseeko): Complete last commit.
64117         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64119 2009-03-01  Bruno Haible  <bruno@clisp.org>
64121         More support for FreeMiNT.
64122         * lib/fpurge.c (fpurge): Correct last commit.
64123         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64125 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64127         Fix unportable awk script in vc-list-files.
64128         * build-aux/vc-list-files: In the replacement awk script, use
64129         substr with a second argument of 1, not zero.
64130         Report by Simon Josefsson.
64132 2009-02-28  Bruno Haible  <bruno@clisp.org>
64134         More support for FreeMiNT.
64135         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
64136         to FreeMiNT today.
64137         * lib/fwriting.c (fwriting): Likewise.
64138         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
64140 2009-02-28  Bruno Haible  <bruno@clisp.org>
64142         * tests/test-freadseek.c (main): Disable test beyond end of file on
64143         FreeMiNT.
64144         * tests/test-ftello.c (main): Likewise.
64145         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
64147 2009-02-28  Bruno Haible  <bruno@clisp.org>
64149         Add tentative support for FreeMiNT.
64150         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
64151         * lib/fpurge.c (fpurge): Likewise.
64152         * lib/freadable.c (freadable): Likewise.
64153         * lib/freading.c (freading): Likewise.
64154         * lib/freadptr.c (freadptr): Likewise.
64155         * lib/freadseek.c (freadptrinc): Likewise.
64156         * lib/fseeko.c (rpl_fseeko): Likewise.
64157         * lib/fseterr.c (fseterr): Likewise.
64158         * lib/fwritable.c (fwritable): Likewise.
64159         * lib/fwriting.c (fwriting): Likewise.
64160         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
64161         Hourihane.
64162         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
64164 2009-02-28  Bruno Haible  <bruno@clisp.org>
64166         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
64167         SIGCHLD.
64168         Reported by Jim Meyering.
64170 2009-02-28  Bruno Haible  <bruno@clisp.org>
64172         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
64173         Mention the results of these tests on various platforms.
64174         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
64175         order.
64176         * doc/posix-functions/printf.texi: Likewise.
64177         * doc/posix-functions/snprintf.texi: Likewise.
64178         * doc/posix-functions/sprintf.texi: Likewise.
64179         * doc/posix-functions/vfprintf.texi: Likewise.
64180         * doc/posix-functions/vprintf.texi: Likewise.
64181         * doc/posix-functions/vsnprintf.texi: Likewise.
64182         * doc/posix-functions/vsprintf.texi: Likewise.
64183         * doc/glibc-functions/obstack_printf.texi: Likewise.
64184         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
64186 2009-02-28  Bruno Haible  <bruno@clisp.org>
64188         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
64189         Reported by Loïc Minier <lool@dooz.org>.
64191 2009-02-27  Bruno Haible  <bruno@clisp.org>
64193         * gnulib-tool (func_import): Make the sed expression used to create the
64194         sed script for updating the .gitignore file POSIX compliant.
64195         Reported by Eric Blake.
64197 2009-02-27  Bruno Haible  <bruno@clisp.org>
64199         * gnulib-tool (sed): Don't alias as "sed --posix".
64200         Reported by Eric Blake.
64202 2009-02-27  Bruno Haible  <bruno@clisp.org>
64204         Avoid test link errors.
64205         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
64206         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
64207         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
64208         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
64209         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64211 2009-02-27  Bruno Haible  <bruno@clisp.org>
64213         Avoid spurious "(cached)" in configure output.
64214         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
64215         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
64216         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64217         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64218         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64219         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
64220         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64221         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
64222         Reported by Eric Blake.
64224 2009-02-27  Eric Blake  <ebb9@byu.net>
64226         printf: fix regression in previous patch
64227         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
64229 2009-02-27  Bruno Haible  <bruno@clisp.org>
64231         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
64232         value.
64233         * lib/stdint.in.h: Likewise.
64234         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
64236 2009-02-27  Eric Blake  <ebb9@byu.net>
64238         doc: mention more functions added in cygwin 1.7.0
64239         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
64240         addition.
64241         * doc/posix-functions/open_wmemstream.texi: Likewise.
64242         * doc/posix-functions/wcsnlen.texi: Likewise.
64243         * doc/posix-functions/wcsnrtombs.texi: Likewise.
64244         * doc/posix-functions/wcstod.texi: Likewise.
64245         * doc/posix-functions/wcstof.texi: Likewise.
64246         * doc/posix-functions/wcstoimax.texi: Likewise.
64247         * doc/posix-functions/wcstok.texi: Likewise.
64248         * doc/posix-functions/wcstoumax.texi: Likewise.
64250         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
64251         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
64252         * doc/posix-functions/fprintf.texi: Update.
64253         * doc/posix-functions/printf.texi: Update.
64254         * doc/posix-functions/snprintf.texi: Update.
64255         * doc/posix-functions/sprintf.texi: Update.
64256         * doc/posix-functions/vfprintf.texi: Update.
64257         * doc/posix-functions/vprintf.texi: Update.
64258         * doc/posix-functions/vsnprintf.texi: Update.
64259         * doc/posix-functions/vsprintf.texi: Update.
64260         * doc/glibc-functions/obstack_printf.texi: Update.
64261         * doc/glibc-functions/obstack_vprintf.texi: Update.
64263 2009-02-26  Eric Blake  <ebb9@byu.net>
64265         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
64266         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
64267         compilation bug by using runtime conversion.
64268         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
64269         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
64270         * modules/ceill-tests (Files): Use nan.h.
64271         * modules/floorl-tests (Files): Likewise.
64272         * modules/frexpl-tests (Files): Likewise.
64273         * modules/isnanl-tests (Files): Likewise.
64274         * modules/ldexpl-tests (Files): Likewise.
64275         * modules/roundl-tests (Files): Likewise.
64276         * modules/truncl-tests (Files): Likewise.
64277         * tests/test-ceill.c (main): Use a working NaN.
64278         * tests/test-floorl.c (main): Likewise.
64279         * tests/test-frexpl.c (main): Likewise.
64280         * tests/test-isnan.c (test_long_double): Likewise.
64281         * tests/test-isnanl.h (main): Likewise.
64282         * tests/test-ldexpl.h (main): Likewise.
64283         * tests/test-roundl.h (main): Likewise.
64284         * tests/test-truncl.h (main): Likewise.
64285         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
64287 2009-02-26  Eric Blake  <ebb9@byu.net>
64288             Bruno Haible  <bruno@clisp.org>
64290         Work around a *printf bug with %ls on Solaris.
64291         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
64292         precision is specified, sprintf stops converting the wide string
64293         argument when the number of bytes that have been produced by this
64294         conversion equals or exceeds the precision.
64295         * doc/posix-functions/fprintf.texi: Update.
64296         * doc/posix-functions/printf.texi: Update.
64297         * doc/posix-functions/snprintf.texi: Update.
64298         * doc/posix-functions/sprintf.texi: Update.
64299         * doc/posix-functions/vfprintf.texi: Update.
64300         * doc/posix-functions/vprintf.texi: Update.
64301         * doc/posix-functions/vsnprintf.texi: Update.
64302         * doc/posix-functions/vsprintf.texi: Update.
64303         * doc/glibc-functions/obstack_printf.texi: Update.
64304         * doc/glibc-functions/obstack_vprintf.texi: Update.
64306 2009-02-26  Eric Blake  <ebb9@byu.net>
64308         stdlib: favor compiler check of random.h
64309         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
64310         to avoid an ObjC random.h installed by Swarm.
64312 2009-02-26  Bruno Haible  <bruno@clisp.org>
64314         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
64315         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
64316         Reported by Gary V. Vaughan <gary@gnu.org>.
64318 2009-02-26  Bruno Haible  <bruno@clisp.org>
64320         Fix *printf behaviour regarding the %ls directive.
64321         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
64322         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
64323         NEED_PRINTF_DIRECTIVE_LS.
64324         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
64325         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64326         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64327         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
64328         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
64329         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
64330         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
64331         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64332         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64333         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64334         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64335         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
64336         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64338         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64339         * doc/posix-functions/fprintf.texi: Update.
64340         * doc/posix-functions/printf.texi: Update.
64341         * doc/posix-functions/snprintf.texi: Update.
64342         * doc/posix-functions/sprintf.texi: Update.
64343         * doc/posix-functions/vfprintf.texi: Update.
64344         * doc/posix-functions/vprintf.texi: Update.
64345         * doc/posix-functions/vsnprintf.texi: Update.
64346         * doc/posix-functions/vsprintf.texi: Update.
64347         * doc/glibc-functions/obstack_printf.texi: Update.
64348         * doc/glibc-functions/obstack_vprintf.texi: Update.
64349         Reported by Eric Blake.
64351 2009-02-25  Bruno Haible  <bruno@clisp.org>
64353         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
64354         with known value.
64355         Reported by Gary V. Vaughan <gary@gnu.org>.
64357 2009-02-25  Bruno Haible  <bruno@clisp.org>
64359         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
64360         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
64361         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
64362         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
64363         Reported by Gary V. Vaughan <gary@gnu.org>.
64365 2009-02-25  Bruno Haible  <bruno@clisp.org>
64367         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
64368         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
64369         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
64370         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
64371         Reported by Gary V. Vaughan <gary@gnu.org>.
64373 2009-02-25  Eric Blake  <ebb9@byu.net>
64375         tests: skip fseek/ftell tests if ungetc is broken
64376         * m4/ungetc.m4: New file.
64377         * modules/fseek-tests: Split test, so ungetc dependency is
64378         separate from rest of test.
64379         * modules/fseeko-tests: Likewise.
64380         * modules/ftell-tests: Likewise.
64381         * modules/ftello-tests: Likewise.
64382         * tests/test-fseek.c (main): Isolate ungetc dependency.
64383         * tests/test-fseeko.c (main): Likewise.
64384         * tests/test-ftell.c (main): Likewise.
64385         * tests/test-ftello.c (main): Likewise.
64386         * tests/test-fseek2.sh: New file.
64387         * tests/test-fseeko2.sh: Likewise.
64388         * tests/test-ftell2.sh: Likewise.
64389         * tests/test-ftello2.sh: Likewise.
64391 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
64393         test-getaddrinfo: fix usage of skip return code 77
64394         * tests/test-gettaddrinfo.c: Return skip code 77 only
64395         for first occurrence of skip (4x77 is not 77)
64397 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
64399         strtod: avoid C99 decl-after-statement
64400         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
64402 2009-02-24  Eric Blake  <ebb9@byu.net>
64404         strtod: detect HP-UX 11.31 bug
64405         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
64406         Reported by Gary V. Vaughan.
64408 2009-02-23  Bruno Haible  <bruno@clisp.org>
64410         Fix invalid read past end of memory block.
64411         * lib/vasnprintf.c (DCHAR_SET): Define.
64412         (local_wcslen): Define only when needed.
64413         (local_strnlen, local_wcsnlen): New functions.
64414         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
64415         directives that involve a conversion ourselves.
64416         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
64417         wcsnlen, mbrtowc, wcrtomb.
64418         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
64419         * tests/test-vasprintf-posix.c (test_function): Likewise.
64420         * tests/test-snprintf-posix.h (test_function): Likewise.
64421         * tests/test-sprintf-posix.h (test_function): Likewise.
64422         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64424 2009-02-22  Bruno Haible  <bruno@clisp.org>
64426         Implement new clarified decomposition of Hangul syllables.
64427         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
64428         of type LTV, return only a pairwise decomposition.
64429         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
64430         Likewise.
64431         * tests/uninorm/test-decomposition.c (main): Updated expected result.
64432         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
64433         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
64435 2009-02-22  Bruno Haible  <bruno@clisp.org>
64437         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
64438         zero-length results and shrink excess allocated memory.
64439         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
64440         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
64441         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
64442         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
64443         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
64444         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
64445         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
64446         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
64447         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
64448         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
64449         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
64450         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
64452 2009-02-21  Bruno Haible  <bruno@clisp.org>
64454         * doc/gnulib.texi: Include safe-alloc.texi earlier.
64455         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
64456         spaces after a period. Put a space between a macro name and its
64457         argument list. Trivial rewordings.
64458         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
64459         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
64460         (main): Return 0 explicitly.
64462 2009-02-21  Bruno Haible  <bruno@clisp.org>
64464         Tests for module 'uninorm/filter'.
64465         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
64466         * modules/uninorm/filter-tests: New file.
64468         New module 'uninorm/filter'.
64469         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
64470         uninorm_filter_flush, uninorm_filter_free): New declarations.
64471         * lib/uninorm/uninorm-filter.c: New file.
64472         * modules/uninorm/filter: New file.
64474 2009-02-21  Bruno Haible  <bruno@clisp.org>
64476         Tests for module 'uninorm/nfkc'.
64477         * tests/uninorm/test-nfkc.c: New file.
64478         * tests/uninorm/test-u8-nfkc.c: New file.
64479         * tests/uninorm/test-u16-nfkc.c: New file.
64480         * tests/uninorm/test-u32-nfkc.c: New file.
64481         * tests/uninorm/test-u32-nfkc-big.sh: New file.
64482         * tests/uninorm/test-u32-nfkc-big.c: New file.
64483         * modules/uninorm/nfkc-tests: New file.
64485         New module 'uninorm/nfkc'.
64486         * lib/uninorm/nfkc.c: New file.
64487         * modules/uninorm/nfkc: New file.
64489         Tests for module 'uninorm/nfkd'.
64490         * tests/uninorm/test-nfkd.c: New file.
64491         * tests/uninorm/test-u8-nfkd.c: New file.
64492         * tests/uninorm/test-u16-nfkd.c: New file.
64493         * tests/uninorm/test-u32-nfkd.c: New file.
64494         * tests/uninorm/test-u32-nfkd-big.sh: New file.
64495         * tests/uninorm/test-u32-nfkd-big.c: New file.
64496         * modules/uninorm/nfkd-tests: New file.
64498         New module 'uninorm/nfkd'.
64499         * lib/uninorm/nfkd.c: New file.
64500         * modules/uninorm/nfkd: New file.
64502         Tests for module 'uninorm/nfc'.
64503         * tests/uninorm/test-nfc.c: New file.
64504         * tests/uninorm/test-u8-nfc.c: New file.
64505         * tests/uninorm/test-u16-nfc.c: New file.
64506         * tests/uninorm/test-u32-nfc.c: New file.
64507         * tests/uninorm/test-u32-nfc-big.sh: New file.
64508         * tests/uninorm/test-u32-nfc-big.c: New file.
64509         * modules/uninorm/nfc-tests: New file.
64511         New module 'uninorm/nfc'.
64512         * lib/uninorm/nfc.c: New file.
64513         * modules/uninorm/nfc: New file.
64515         Tests for module 'uninorm/nfd'.
64516         * tests/uninorm/test-nfd.c: New file.
64517         * tests/uninorm/test-u8-nfd.c: New file.
64518         * tests/uninorm/test-u16-nfd.c: New file.
64519         * tests/uninorm/test-u32-nfd.c: New file.
64520         * tests/uninorm/test-u32-nfd-big.sh: New file.
64521         * tests/uninorm/test-u32-nfd-big.c: New file.
64522         * tests/uninorm/test-u32-normalize-big.h: New file.
64523         * tests/uninorm/test-u32-normalize-big.c: New file.
64524         * tests/uninorm/NormalizationTest.txt: New file, created from
64525         Unicode 5.1.0 NormalizationTest.txt.
64526         * modules/uninorm/nfd-tests: New file.
64528         New module 'uninorm/nfd'.
64529         * lib/uninorm/nfd.c: New file.
64530         * modules/uninorm/nfd: New file.
64532         New module 'uninorm/u32-normalize'.
64533         * lib/uninorm/u32-normalize.c: New file.
64534         * modules/uninorm/u32-normalize: New file.
64536         New module 'uninorm/u16-normalize'.
64537         * lib/uninorm/u16-normalize.c: New file.
64538         * modules/uninorm/u16-normalize: New file.
64540         New module 'uninorm/u8-normalize'.
64541         * lib/uninorm/u8-normalize.c: New file.
64542         * lib/uninorm/normalize-internal.h: New file.
64543         * lib/uninorm/u-normalize-internal.h: New file.
64544         * modules/uninorm/u8-normalize: New file.
64546         New module 'uninorm/decompose-internal'.
64547         * lib/uninorm/decompose-internal.c: New file.
64548         * modules/uninorm/decompose-internal: New file.
64550         Tests for module 'uninorm/composition'.
64551         * tests/uninorm/test-composition.c: New file.
64552         * modules/uninorm/composition-tests: New file.
64554         New module 'uninorm/composition'.
64555         * lib/uninorm/composition.c: New file.
64556         * lib/uninorm/composition-table.gperf: New file, generated by
64557         gen-uni-tables.
64558         * modules/uninorm/composition: New file.
64560         Tests for module 'uninorm/compat-decomposition'.
64561         * tests/uninorm/test-compat-decomposition.c: New file.
64562         * modules/uninorm/compat-decomposition-tests: New file.
64564         New module 'uninorm/compat-decomposition'.
64565         * lib/uninorm/decompose-internal.h: New file.
64566         * lib/uninorm/compat-decomposition.c: New file.
64567         * modules/uninorm/compat-decomposition: New file.
64569         Tests for module 'uninorm/canonical-decomposition'.
64570         * tests/uninorm/test-canonical-decomposition.c: New file.
64571         * modules/uninorm/canonical-decomposition-tests: New file.
64573         New module 'uninorm/canonical-decomposition'.
64574         * lib/uninorm/canonical-decomposition.c: New file.
64575         * modules/uninorm/canonical-decomposition: New file.
64577         Tests for module 'uninorm/decomposition'.
64578         * tests/uninorm/test-decomposition.c: New file.
64579         * modules/uninorm/decomposition-tests: New file.
64581         New module 'uninorm/decomposition'.
64582         * lib/uninorm/decomposition.c: New file.
64583         * modules/uninorm/decomposition: New file.
64585         New module 'uninorm/decomposition-table'.
64586         * lib/uninorm/decomposition-table.h: New file.
64587         * lib/uninorm/decomposition-table.c: New file.
64588         * lib/uninorm/decomposition-table1.h: New file, generated by
64589         gen-uni-tables.
64590         * lib/uninorm/decomposition-table2.h: New file, generated by
64591         gen-uni-tables.
64592         * modules/uninorm/decomposition-table: New file.
64594         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
64595         (UC_DECOMP_*): New enumeration items.
64596         (get_decomposition): New function.
64597         (struct decomp_table): New type.
64598         (output_decomposition, output_decomposition_tables): New functions.
64599         (unicode_composition_exclusions): New variable.
64600         (fill_composition_exclusions, debug_output_composition_tables): New
64601         functions.
64602         (main): Accept one more argument. Invoke fill_composition_exclusions.
64603         Output decomposition and composition tables.
64605         New module 'uninorm/base'.
64606         * lib/uninorm.h: New file.
64607         * lib/unictype.h: Update comment.
64608         * modules/uninorm/base: New file.
64610 2009-02-21  David Lutterkort  <lutter@redhat.com>
64612         Tests for module 'safe-alloc'.
64613         * tests/test-safe-alloc.c: New file.
64614         * modules/safe-alloc-tests: New file.
64616         New module 'safe-alloc'.
64617         * lib/safe-alloc.h: New file.
64618         * lib/safe-alloc.c: New file.
64619         * m4/safe-alloc.m4: New file.
64620         * modules/safe-alloc: New file.
64621         * doc/safe-alloc.texi: New file.
64622         * doc/gnulib.texi: Include it.
64623         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
64624         safe-alloc.
64626 2009-02-18  Bruno Haible  <bruno@clisp.org>
64628         Fix link error on non-glibc systems.
64629         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
64630         variable.
64631         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64633 2009-02-18  Jim Meyering  <meyering@redhat.com>
64635         fts: avoid used-uninitialized error due to recent change
64636         * lib/fts.c (fts_read): Guard uses of the new member,
64637         parent->fts_n_dirs_remaining, since it's not relevant for
64638         the parent of a directory specified on the command-line.
64640 2009-02-17  James Youngman  <jay@gnu.org>
64641             Bruno Haible  <bruno@clisp.org>
64643         * m4/include_next.m4: Reformulate comment.
64645 2009-02-16  Jim Meyering  <meyering@redhat.com>
64647         fts: add #if guards so that the fts_lgpl module still builds
64648         * lib/fts.c: Guard just-added hash-table-using parts with
64649         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
64650         Reported by Simon Josefsson.
64652 2009-02-15  Bruno Haible  <bruno@clisp.org>
64654         * modules/array-mergesort-tests: New file.
64655         * tests/test-array-mergesort.c: New file.
64657         New module 'array-mergesort'.
64658         * modules/array-mergesort: New file.
64659         * lib/array-mergesort.h: New file.
64661 2009-02-15  Bruno Haible  <bruno@clisp.org>
64663         Fix 2009-02-07 commit.
64664         * lib/gen-uni-tables.c (output_predicate, output_category,
64665         output_combclass, output_bidi_category, output_decimal_digit,
64666         output_digit, output_numeric, output_mirror, output_scripts,
64667         output_ident_category, output_simple_mapping): Fix format directives.
64668         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
64670 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
64672         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
64673         fixes are available from IBM.
64675 2009-02-13  Jim Meyering  <meyering@redhat.com>
64677         fts: arrange not to stat non-directories in more cases
64678         This makes GNU find (when it doesn't need to stat each file)
64679         *much* more efficient at traversing reiserfs file systems.
64680         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
64681         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
64682         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
64683         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
64684         (leaf_optimization_applies): New function.
64685         (LCO_hash, LCO_compare): New helper functions.
64686         (link_count_optimize_ok): New function.
64687         (fts_stat): Initialize new member (if dir).
64688         (fts_read): Decrement parent's fts_n_dirs_remaining count if
64689         we've just stat'ed a directory.  Skip the stat call when possible.
64690         ---
64691         Note this AFS-related exchange:
64692         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
64693         and note find's pioctl call in find/fstype.c.
64694         But that is necessary only if you want to enable the
64695         optimization for AFS, and for now, I don't.
64697         fts: move a function definition "up" (no semantic change)
64698         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
64699         "up" to precede upcoming use of a related function.
64701 2009-02-11  Jim Meyering  <meyering@redhat.com>
64703         fts: correct internal computation of nlinks (optimization-related)
64704         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
64705         whether the current entry is a directory, so don't test it.
64707 2009-02-10  Bruno Haible  <bruno@clisp.org>
64709         Tests for module 'uniwbrk/ulc-wordbreaks'.
64710         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
64711         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
64712         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
64714         Tests for module 'uniwbrk/u32-wordbreaks'.
64715         * modules/uniwbrk/u32-wordbreaks-tests: New file.
64716         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
64718         Tests for module 'uniwbrk/u16-wordbreaks'.
64719         * modules/uniwbrk/u16-wordbreaks-tests: New file.
64720         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
64722         Tests for module 'uniwbrk/u8-wordbreaks'.
64723         * modules/uniwbrk/u8-wordbreaks-tests: New file.
64724         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
64726 2009-02-10  Bruno Haible  <bruno@clisp.org>
64728         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
64729         property.
64730         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
64731         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
64732         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
64734 2009-02-10  Simon Josefsson  <simon@josefsson.org>
64736         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
64737         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
64739 2009-02-10  Bruno Haible  <bruno@clisp.org>
64741         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
64742         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
64743         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
64744         * lib/unilbrk/u8-possible-linebreaks.c: Update.
64745         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
64746         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
64748 2009-02-09  Simon Josefsson  <simon@josefsson.org>
64750         * lib/sockets.h (gl_fd_to_handle): New function.
64752         * tests/test-sockets.c: Call gl_fd_to_handle.
64754 2009-02-09  Bruno Haible  <bruno@clisp.org>
64756         * doc/havelib.texi: Document the conventions on bi-arch systems.
64758 2009-02-08  Bruno Haible  <bruno@clisp.org>
64760         Document the AC_LIB_LINKFLAGS macro.
64761         * doc/havelib.texi: New file, mostly written on 2005-05-24.
64762         * doc/gnulib.texi: Include it.
64764 2009-02-08  Bruno Haible  <bruno@clisp.org>
64766         Fix wrong order of sections, compared to TOC.
64767         * doc/gnulib.texi: Include relocatable-maint.texi after the
64768         "Regular expressions" node, not before.
64770 2009-02-08  Bruno Haible  <bruno@clisp.org>
64772         Tests for module 'unicase/totitle'.
64773         * modules/unicase/totitle-tests: New file.
64775         Tests for module 'unicase/tolower'.
64776         * modules/unicase/tolower-tests: New file.
64778         Tests for module 'unicase/toupper'.
64779         * modules/unicase/toupper-tests: New file.
64780         * tests/unicase/test-mapping-part1.h: New file.
64781         * tests/unicase/test-mapping-part2.h: New file.
64783         New module 'unicase/totitle'.
64784         * modules/unicase/totitle: New file.
64785         * lib/unicase/totitle.c: New file.
64787         New module 'unicase/tolower'.
64788         * modules/unicase/tolower: New file.
64789         * lib/unicase/tolower.c: New file.
64791         New module 'unicase/toupper'.
64792         * modules/unicase/toupper: New file.
64793         * lib/unicase/toupper.c: New file.
64794         * lib/unicase/simple-mapping.h: New file.
64796         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
64797         (mapping_table): New structure.
64798         (output_simple_mapping): New function.
64799         (main): Invoke output_simple_mapping_test and output_simple_mapping.
64800         * modules/gen-uni-tables (Description): Update.
64801         * lib/unicase/toupper.h: New file, automatically generated by
64802         gen-uni-tables.
64803         * lib/unicase/tolower.h: New file, automatically generated by
64804         gen-uni-tables.
64805         * lib/unicase/totitle.h: New file, automatically generated by
64806         gen-uni-tables.
64807         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
64808         gen-uni-tables.
64809         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
64810         gen-uni-tables.
64811         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
64812         gen-uni-tables.
64814         New module 'unicase/base'.
64815         * modules/unicase/base: New file.
64816         * lib/unicase.h: New file.
64818 2009-02-08  Bruno Haible  <bruno@clisp.org>
64820         New module 'uniwbrk/ulc-wordbreaks'.
64821         * modules/uniwbrk/ulc-wordbreaks: New file.
64822         * lib/uniwbrk/ulc-wordbreaks.c: New file.
64824         New module 'uniwbrk/u32-wordbreaks'.
64825         * modules/uniwbrk/u32-wordbreaks: New file.
64826         * lib/uniwbrk/u32-wordbreaks.c: New file.
64828         New module 'uniwbrk/u16-wordbreaks'.
64829         * modules/uniwbrk/u16-wordbreaks: New file.
64830         * lib/uniwbrk/u16-wordbreaks.c: New file.
64832         New module 'uniwbrk/u8-wordbreaks'.
64833         * modules/uniwbrk/u8-wordbreaks: New file.
64834         * lib/uniwbrk/u8-wordbreaks.c: New file.
64835         * lib/uniwbrk/u-wordbreaks.h: New file.
64837         New module 'uniwbrk/table'.
64838         * modules/uniwbrk/table: New file.
64839         * lib/uniwbrk/wbrktable.h: New file.
64840         * lib/uniwbrk/wbrktable.c: New file.
64842         New module 'uniwbrk/wordbreak-property'.
64843         * modules/uniwbrk/wordbreak-property: New file.
64844         * lib/uniwbrk/wordbreak-property.c: New file.
64846         * lib/gen-uni-tables.c (WBP_*): New enum items.
64847         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
64848         (unicode_org_wbp): New variable.
64849         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
64850         New functions.
64851         (wbp_table): New structure.
64852         (output_wbp, output_wbrk_tables): New functions.
64853         (main): Accept additional argument. Invoke fill_org_wbp,
64854         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
64855         output_wbrk_tables.
64856         * modules/gen-uni-tables (Description): Update.
64857         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
64858         gen-uni-tables.
64860         New module 'uniwbrk/base'.
64861         * modules/uniwbrk/base: New file.
64862         * lib/uniwbrk.h: New file.
64864 2009-02-08  Bruno Haible  <bruno@clisp.org>
64866         Update to Unicode 5.1.0.
64867         * lib/gen-uni-tables.c (is_property_alphabetic): Include
64868         U+2185..U+2188.
64869         (is_property_default_ignorable_code_point): Don't include characters
64870         of category Cc or Cs and not-a-characters.
64871         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
64872         U+0D79, U+109E, U+109F, U+A60C.
64873         * lib/unictype/bidi_of.h: Regenerated.
64874         * lib/unictype/blocks.h: Regenerated.
64875         * lib/unictype/categ_C.h: Regenerated.
64876         * lib/unictype/categ_Cf.h: Regenerated.
64877         * lib/unictype/categ_Cn.h: Regenerated.
64878         * lib/unictype/categ_L.h: Regenerated.
64879         * lib/unictype/categ_Ll.h: Regenerated.
64880         * lib/unictype/categ_Lm.h: Regenerated.
64881         * lib/unictype/categ_Lo.h: Regenerated.
64882         * lib/unictype/categ_Lu.h: Regenerated.
64883         * lib/unictype/categ_M.h: Regenerated.
64884         * lib/unictype/categ_Mc.h: Regenerated.
64885         * lib/unictype/categ_Me.h: Regenerated.
64886         * lib/unictype/categ_Mn.h: Regenerated.
64887         * lib/unictype/categ_N.h: Regenerated.
64888         * lib/unictype/categ_Nd.h: Regenerated.
64889         * lib/unictype/categ_Nl.h: Regenerated.
64890         * lib/unictype/categ_No.h: Regenerated.
64891         * lib/unictype/categ_P.h: Regenerated.
64892         * lib/unictype/categ_Pd.h: Regenerated.
64893         * lib/unictype/categ_Pe.h: Regenerated.
64894         * lib/unictype/categ_Pf.h: Regenerated.
64895         * lib/unictype/categ_Pi.h: Regenerated.
64896         * lib/unictype/categ_Po.h: Regenerated.
64897         * lib/unictype/categ_Ps.h: Regenerated.
64898         * lib/unictype/categ_S.h: Regenerated.
64899         * lib/unictype/categ_Sk.h: Regenerated.
64900         * lib/unictype/categ_Sm.h: Regenerated.
64901         * lib/unictype/categ_So.h: Regenerated.
64902         * lib/unictype/categ_of.h: Regenerated.
64903         * lib/unictype/combining.h: Regenerated.
64904         * lib/unictype/ctype_alnum.h: Regenerated.
64905         * lib/unictype/ctype_alpha.h: Regenerated.
64906         * lib/unictype/ctype_graph.h: Regenerated.
64907         * lib/unictype/ctype_lower.h: Regenerated.
64908         * lib/unictype/ctype_print.h: Regenerated.
64909         * lib/unictype/ctype_punct.h: Regenerated.
64910         * lib/unictype/ctype_upper.h: Regenerated.
64911         * lib/unictype/decdigit.h: Regenerated.
64912         * lib/unictype/digit.h: Regenerated.
64913         * lib/unictype/mirror.h: Regenerated.
64914         * lib/unictype/numeric.h: Regenerated.
64915         * lib/unictype/pr_alphabetic.h: Regenerated.
64916         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
64917         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
64918         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
64919         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
64920         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
64921         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
64922         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
64923         * lib/unictype/pr_combining.h: Regenerated.
64924         * lib/unictype/pr_dash.h: Regenerated.
64925         * lib/unictype/pr_decimal_digit.h: Regenerated.
64926         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
64927         * lib/unictype/pr_deprecated.h: Regenerated.
64928         * lib/unictype/pr_diacritic.h: Regenerated.
64929         * lib/unictype/pr_extender.h: Regenerated.
64930         * lib/unictype/pr_format_control.h: Regenerated.
64931         * lib/unictype/pr_grapheme_base.h: Regenerated.
64932         * lib/unictype/pr_grapheme_extend.h: Regenerated.
64933         * lib/unictype/pr_grapheme_link.h: Regenerated.
64934         * lib/unictype/pr_id_continue.h: Regenerated.
64935         * lib/unictype/pr_id_start.h: Regenerated.
64936         * lib/unictype/pr_ideographic.h: Regenerated.
64937         * lib/unictype/pr_ignorable_control.h: Regenerated.
64938         * lib/unictype/pr_lowercase.h: Regenerated.
64939         * lib/unictype/pr_math.h: Regenerated.
64940         * lib/unictype/pr_numeric.h: Regenerated.
64941         * lib/unictype/pr_other_alphabetic.h: Regenerated.
64942         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
64943         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
64944         * lib/unictype/pr_other_id_continue.h: Regenerated.
64945         * lib/unictype/pr_other_lowercase.h: Regenerated.
64946         * lib/unictype/pr_other_math.h: Regenerated.
64947         * lib/unictype/pr_punctuation.h: Regenerated.
64948         * lib/unictype/pr_sentence_terminal.h: Regenerated.
64949         * lib/unictype/pr_soft_dotted.h: Regenerated.
64950         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
64951         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
64952         * lib/unictype/pr_unified_ideograph.h: Regenerated.
64953         * lib/unictype/pr_uppercase.h: Regenerated.
64954         * lib/unictype/pr_xid_continue.h: Regenerated.
64955         * lib/unictype/pr_xid_start.h: Regenerated.
64956         * lib/unictype/pr_zero_width.h: Regenerated.
64957         * lib/unictype/scripts.h: Regenerated.
64958         * lib/unictype/scripts_byname.gperf: Regenerated.
64959         * lib/unictype/sy_java_ident.h: Regenerated.
64960         * lib/unilbrk/lbrkprop1.h: Regenerated.
64961         * lib/unilbrk/lbrkprop2.h: Regenerated.
64962         * tests/unictype/test-categ_C.c: Regenerated.
64963         * tests/unictype/test-categ_Cf.c: Regenerated.
64964         * tests/unictype/test-categ_Cn.c: Regenerated.
64965         * tests/unictype/test-categ_L.c: Regenerated.
64966         * tests/unictype/test-categ_Ll.c: Regenerated.
64967         * tests/unictype/test-categ_Lm.c: Regenerated.
64968         * tests/unictype/test-categ_Lo.c: Regenerated.
64969         * tests/unictype/test-categ_Lu.c: Regenerated.
64970         * tests/unictype/test-categ_M.c: Regenerated.
64971         * tests/unictype/test-categ_Mc.c: Regenerated.
64972         * tests/unictype/test-categ_Me.c: Regenerated.
64973         * tests/unictype/test-categ_Mn.c: Regenerated.
64974         * tests/unictype/test-categ_N.c: Regenerated.
64975         * tests/unictype/test-categ_Nd.c: Regenerated.
64976         * tests/unictype/test-categ_Nl.c: Regenerated.
64977         * tests/unictype/test-categ_No.c: Regenerated.
64978         * tests/unictype/test-categ_P.c: Regenerated.
64979         * tests/unictype/test-categ_Pd.c: Regenerated.
64980         * tests/unictype/test-categ_Pe.c: Regenerated.
64981         * tests/unictype/test-categ_Pf.c: Regenerated.
64982         * tests/unictype/test-categ_Pi.c: Regenerated.
64983         * tests/unictype/test-categ_Po.c: Regenerated.
64984         * tests/unictype/test-categ_Ps.c: Regenerated.
64985         * tests/unictype/test-categ_S.c: Regenerated.
64986         * tests/unictype/test-categ_Sk.c: Regenerated.
64987         * tests/unictype/test-categ_Sm.c: Regenerated.
64988         * tests/unictype/test-categ_So.c: Regenerated.
64989         * tests/unictype/test-ctype_alnum.c: Regenerated.
64990         * tests/unictype/test-ctype_alpha.c: Regenerated.
64991         * tests/unictype/test-ctype_graph.c: Regenerated.
64992         * tests/unictype/test-ctype_lower.c: Regenerated.
64993         * tests/unictype/test-ctype_print.c: Regenerated.
64994         * tests/unictype/test-ctype_punct.c: Regenerated.
64995         * tests/unictype/test-ctype_upper.c: Regenerated.
64996         * tests/unictype/test-decdigit.h: Regenerated.
64997         * tests/unictype/test-digit.h: Regenerated.
64998         * tests/unictype/test-numeric.h: Regenerated.
64999         * tests/unictype/test-pr_alphabetic.c: Regenerated.
65000         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
65001         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
65002         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
65003         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
65004         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
65005         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
65006         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
65007         * tests/unictype/test-pr_combining.c: Regenerated.
65008         * tests/unictype/test-pr_dash.c: Regenerated.
65009         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
65010         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
65011         * tests/unictype/test-pr_deprecated.c: Regenerated.
65012         * tests/unictype/test-pr_diacritic.c: Regenerated.
65013         * tests/unictype/test-pr_extender.c: Regenerated.
65014         * tests/unictype/test-pr_format_control.c: Regenerated.
65015         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
65016         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
65017         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
65018         * tests/unictype/test-pr_id_continue.c: Regenerated.
65019         * tests/unictype/test-pr_id_start.c: Regenerated.
65020         * tests/unictype/test-pr_ideographic.c: Regenerated.
65021         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
65022         * tests/unictype/test-pr_lowercase.c: Regenerated.
65023         * tests/unictype/test-pr_math.c: Regenerated.
65024         * tests/unictype/test-pr_numeric.c: Regenerated.
65025         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
65026         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
65027         Regenerated.
65028         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
65029         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
65030         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
65031         * tests/unictype/test-pr_other_math.c: Regenerated.
65032         * tests/unictype/test-pr_punctuation.c: Regenerated.
65033         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
65034         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
65035         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
65036         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
65037         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
65038         * tests/unictype/test-pr_uppercase.c: Regenerated.
65039         * tests/unictype/test-pr_xid_continue.c: Regenerated.
65040         * tests/unictype/test-pr_xid_start.c: Regenerated.
65041         * tests/unictype/test-pr_zero_width.c: Regenerated.
65043         Update to Unicode 5.1.0.
65044         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
65045         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
65046         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
65047         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
65048         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
65049         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
65050         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
65051         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
65052         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
65053         (nonspacing_table_ind): Update.
65054         * tests/uniwidth/test-uc_width2.sh: Update expected result.
65056         Update to Unicode 5.1.0.
65057         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
65058         code transform.
65059         * lib/uniname/uniname.c (unicode_character_name,
65060         unicode_name_character): Add the range 0x1Fxxx to the code transform.
65061         * lib/uniname/uninames.h: Regenerated.
65062         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
65064 2009-02-07  Bruno Haible  <bruno@clisp.org>
65066         Merge gen-ctype and gen-lbrk into a single program.
65067         * lib/gen-uni-tables.c: New file, incorporating
65068         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
65069         Add directory prefixes to the names of the generated files.
65070         * lib/unictype/gen-ctype.c: Remove file.
65071         * lib/unilbrk/gen-lbrk.c: Remove file.
65072         * modules/gen-uni-tables: New file.
65073         * modules/unictype/gen-ctype: Remove file.
65074         * modules/unilbrk/gen-lbrk: Remove file.
65076 2009-02-07  Bruno Haible  <bruno@clisp.org>
65078         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
65080         New module 'unistr/u32-strcoll'.
65081         * modules/unistr/u32-strcoll: New file.
65082         * lib/unistr/u32-strcoll.c: New file.
65084         New module 'unistr/u16-strcoll'.
65085         * modules/unistr/u16-strcoll: New file.
65086         * lib/unistr/u16-strcoll.c: New file.
65088         New module 'unistr/u8-strcoll'.
65089         * modules/unistr/u8-strcoll: New file.
65090         * lib/unistr/u8-strcoll.c: New file.
65091         * lib/unistr/u-strcoll.h: New file.
65093 2009-02-07  Bruno Haible  <bruno@clisp.org>
65095         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
65096         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
65097         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
65098         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
65099         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
65100         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
65102 2009-02-07  Bruno Haible  <bruno@clisp.org>
65104         Make 64-bit clean.
65105         * lib/unictype/gen-ctype.c (output_predicate, output_category,
65106         output_combclass, output_bidi_category, output_decimal_digit,
65107         output_digit, output_numeric, output_mirror, output_scripts,
65108         output_ident_category): Use proper width specifier in format strings.
65110 2009-02-07  Bruno Haible  <bruno@clisp.org>
65112         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
65113         failure behaviour.
65115 2009-02-07  Jim Meyering  <meyering@redhat.com>
65117         regex: avoid compilation failure with upcoming gcc-4.4
65118         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
65119         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
65120         "... error: integer overflow in preprocessor expression".
65122 2009-02-05  Ben Pfaff  <blp@gnu.org>
65124         Fix link errors on Windows when close module is used.
65125         * modules/close: Add $(LIB_CLOSE) to Link section.
65126         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
65127         $(LIB_CLOSE) on Windows.
65129 2009-02-05  Jim Meyering  <meyering@redhat.com>
65131         still avoid unused-parameter warnings, but do it cleanly
65132         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
65133         (get_fs_usage): Cast to void instead.
65134         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
65135         (dev_from_mount_options, read_file_system_list): Cast to void.
65136         Prompted by Bruno Haible.
65138 2009-02-04  Jim Meyering  <meyering@redhat.com>
65140         fsusage.c: correct copyright year
65141         * lib/fsusage.c: Reflect year in which the change is pushed into
65143         avoid misc. warnings
65144         * lib/fsusage.c (UNUSED_PARAM): Define.
65145         (get_fs_usage): Mark parameter "disk" as unused.
65146         * lib/getugroups.c (getgrent): Use "void" in prototype.
65147         * lib/mountlist.c: Mark unused parameters.
65148         (read_file_system_list): Declare a local with "const".
65149         * lib/nanosleep.c (getnow): Declare static.
65150         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
65152         dirfd: set errno upon failure
65153         * lib/dirfd.c: Include <errno.h>.
65154         Set errno to ENOTSUP when returning -1.
65155         * modules/dirfd (Depends-on): Add errno.
65156         Suggested by John Kodis <kodis@comcast.net>.
65158 2009-02-01  Bruno Haible  <bruno@clisp.org>
65160         Don't assume sizeof (long) >= sizeof (void *).
65161         * lib/memcmp.c: Include stdint.h.
65162         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
65163         srcp2 to 'const byte *'.
65164         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
65165         types to uintptr_t.
65166         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
65167         * modules/memcmp (Depends-on): Add stdint.
65168         Reported by Ozkan Sezer <sezeroz@gmail.com>.
65170 2009-01-30  Eric Blake  <ebb9@byu.net>
65172         fix more require-before-expand issues
65173         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
65174         expand, AC_PROG_AWK.
65175         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
65177 2009-01-28  Eric Blake  <ebb9@byu.net>
65179         version-etc: use consistent URL formatting
65180         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
65181         Improve formatting.  Use fputs for string without %.
65183 2009-01-28  Jim Meyering  <meyering@redhat.com>
65185         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
65186         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
65187         "underquoted definition of NAME" from autoconf-2.59.
65189 2009-01-28  Bruno Haible  <bruno@clisp.org>
65191         * doc/gnulib.texi: Add "Obsolete modules" to index.
65193 2009-01-28  Jim Meyering  <meyering@redhat.com>
65195         useless-if-before-free: recognize more variants
65196         * build-aux/useless-if-before-free: Also recognize e.g.,
65197         if (NULL != p) free (p);
65199 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
65201         test-getaddrinfo: skip (don't fail) this test when there's no network
65202         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
65203         on the presumption that it means you lack network access.
65205 2009-01-26  Jim Meyering  <meyering@redhat.com>
65207         fflush: avoid warnings on modern systems
65208         * lib/fflush.c (rpl_fflush): Move declarations of locals,
65209         pos and result, into scopes where they're used.
65211 2009-01-26  Eric Blake  <ebb9@byu.net>
65213         Silence warning reintroduced by recent extensions patch.
65214         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
65215         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
65216         autoconf.
65218         Backport improved autoconf semantics of AC_DEFUN_ONCE.
65219         * m4/00gnulib.m4: New file.
65220         * gnulib-tool (func_get_filelist): Always use it.
65221         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
65222         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
65224 2009-01-25  Bruno Haible  <bruno@clisp.org>
65226         Make test-quotearg work on MacOS X and AIX.
65227         * tests/test-quotearg.sh: New file.
65228         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
65229         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
65230         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
65231         include <libintl.h>.
65232         (fake_locale): Remove variable.
65233         (gettext, dgettext, dcgettext): Remove functions.
65234         (main): Instead of setting a fake locale, set a real locale. Call
65235         textdomain and bindtextdomain.
65236         * modules/quotearg-tests (Files): Add the new files.
65237         (Depends-on): Add gettext, setenv, unsetenv.
65238         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65239         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
65240         Augment TESTS_ENVIRONMENT.
65242 2009-01-25  Bruno Haible  <bruno@clisp.org>
65244         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
65245         fr_FR.ISO8859-1 locale on MacOS X.
65246         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
65247         ja_JP.eucJP locale on MacOS X.
65248         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
65249         zh_CN.GB18030 locale on MacOS X.
65251 2009-01-25  Bruno Haible  <bruno@clisp.org>
65253         Avoid link errors on MacOS X 10.3.
65254         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
65255         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
65257 2009-01-25  Bruno Haible  <bruno@clisp.org>
65259         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
65260         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
65261         * modules/pipe (Files): Remove m4/posix_spawn.m4.
65262         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
65263         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
65264         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
65265         posix_spawnattr_init, posix_spawnattr_setsigmask,
65266         posix_spawnattr_setflags, posix_spawnattr_destroy.
65268         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
65269         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
65270         * modules/execute (Files): Remove m4/posix_spawn.m4.
65271         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
65272         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
65273         posix_spawnattr_init, posix_spawnattr_setsigmask,
65274         posix_spawnattr_setflags, posix_spawnattr_destroy.
65276 2009-01-25  Bruno Haible  <bruno@clisp.org>
65278         * lib/glthread/threadlib.c: Include <stdlib.h>.
65280 2009-01-25  Bruno Haible  <bruno@clisp.org>
65282         * lib/glthread/threadlib.c (dummy): New declaration.
65284 2009-01-25  Bruno Haible  <bruno@clisp.org>
65286         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
65287         multibyte characters also for the GB18030 encoding. Don't crash when
65288         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
65290 2009-01-25  Bruno Haible  <bruno@clisp.org>
65292         Avoid redefining 'struct random_data' on OSF/1 5.1.
65293         * lib/stdlib.in.h: Include <random.h> if it exists.
65294         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
65295         HAVE_RANDOM_H. Include <random.h> when testing whether
65296         'struct random_data' exists.
65297         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
65299 2009-01-25  Bruno Haible  <bruno@clisp.org>
65301         Don't install charset.alias on MacOS X >= 10.3.
65302         * lib/localcharset.c (DARWIN7): New macro.
65303         (get_charset_aliases): Hardcode the result for Darwin7.
65304         * modules/localcharset (install-exec-local): Don't install
65305         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
65307 2009-01-25  Bruno Haible  <bruno@clisp.org>
65309         Don't install charset.alias on mingw and Cygwin.
65310         * modules/localcharset (install-exec-local): Don't install
65311         charset.alias on mingw and Cygwin, if the file does not yet exist.
65312         The result for these platforms is hardcoded in localcharset.c.
65314 2009-01-25  Bruno Haible  <bruno@clisp.org>
65316         Make it possible again to use AC_GNU_SOURCE together with gnulib.
65317         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
65318         before requiring AC_USE_SYSTEM_EXTENSIONS.
65320 2009-01-25  Jim Meyering  <meyering@redhat.com>
65322         c-strtod: avoid warnings
65323         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
65324         "assignment discards qualifiers from pointer target type" warnings.
65326 2009-01-24  Bruno Haible  <bruno@clisp.org>
65328         Add support for non-UTF-8 locales on MacOS X.
65329         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
65330         canonical encodings. For Darwin 7 and newer, don't map traditional
65331         encodings to UTF-8.
65332         Reported by Vincent Lefevre <vincent@vinc17.org>
65333         at <http://savannah.gnu.org/bugs/?25235>.
65335 2009-01-24  Bruno Haible  <bruno@clisp.org>
65337         * doc/gnulib.texi (Obsolete modules): New section.
65338         Reported by Mike Frysinger <vapier@gentoo.org>.
65340 2009-01-24  Bruno Haible  <bruno@clisp.org>
65342         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
65343         (%.dvi): New rule.
65345 2009-01-24  Bruno Haible  <bruno@clisp.org>
65347         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
65348         Reported by Eric Blake.
65350 2009-01-24  Bruno Haible  <bruno@clisp.org>
65352         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
65353         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
65354         Reported by Gary V. Vaughan <gary@gnu.org>.
65356 2009-01-24  Bruno Haible  <bruno@clisp.org>
65358         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
65360 2009-01-23  Bruno Haible  <bruno@clisp.org>
65362         Make c-strtod, c-strtold usable in libraries.
65363         * lib/c-strtod.c: Include string.h instead of xalloc.h.
65364         (C_STRTOD): Call strdup instead of xstrdup.
65365         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
65366         * modules/c-strtold (Depends-on): Likewise.
65367         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
65368         * NEWS: Mention the change.
65369         Reported by Michael Gold <mgold@ncf.ca>.
65371 2009-01-23  Jim Meyering  <meyering@redhat.com>
65373         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
65374         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
65375         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
65377 2009-01-23  Simon Josefsson  <simon@josefsson.org>
65379         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
65380         GNU CoreUtils.
65381         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
65382         * modules/version-etc (Description): Update.
65384 2009-01-22  Bruno Haible  <bruno@clisp.org>
65386         Cache the C locale object.
65387         * lib/c-strtod.c (c_locale_cache): New variable.
65388         (c_locale): New function.
65389         (C_STRTOD): Use it, and don't call freelocale.
65390         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
65391         Suggested by Paolo Bonzini.
65393 2009-01-21  Bruno Haible  <bruno@clisp.org>
65395         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
65396         conditions other than overflow.
65398 2009-01-21  Bruno Haible  <bruno@clisp.org>
65400         * lib/c-strtod.c: Include errno.h.
65401         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
65402         value from STRTOD_L and STRTOD.
65404 2009-01-21  Bruno Haible  <bruno@clisp.org>
65405         and Jim Meyering  <meyering@redhat.com>
65407         nanosleep: skip configure test (fail it) for apple universal builds
65408         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
65409         universal builds, assume that nanosleep does not work.
65410         * modules/nanosleep (Depends-on): Add multiarch.
65412         mktime: skip configure test (fail it) for apple universal builds
65413         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
65414         universal builds, assume that mktime does not work.
65415         * modules/mktime (Depends-on): Add multiarch.
65417 2009-01-21  Eric Blake  <ebb9@byu.net>
65419         multiarch: avoid expand-before-require warning
65420         * modules/multiarch (configure.ac): Require, rather than expand,
65421         gl_MULTIARCH.
65422         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
65423         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
65424         enforce that all clients require it.  Partial reversion of
65425         2008-12-29 patch.
65427         error: avoid expand-before-require warning
65428         * modules/errno (configure.ac): Require, rather than expand,
65429         gl_HEADER_ERRNO_H.
65430         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
65431         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
65432         enforce that all clients require it.
65434         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
65435         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
65436         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
65437         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
65439 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
65441         Revert:
65442         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
65444         regex: do not depend on obsolete modules.
65445         * modules/regex: Remove memcmp and memmove.
65447 2009-01-20  Bruno Haible  <bruno@clisp.org>
65449         Make the 'link' module link on Windows NT 4.
65450         * lib/link.c (_WIN32_WINNT): Don't define.
65451         (CreateHardLinkFuncType): New type.
65452         (CreateHardLinkFunc, initialized): New variables.
65453         (initialize): New function.
65454         (link): Invoke CreateHardLink indirectly through the function pointer.
65456 2009-01-20  Bruno Haible  <bruno@clisp.org>
65458         Fix compilation failure on mingw.
65459         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
65461 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
65463         * doc/c-strtod.texi: Mention a couple of restrictions.
65465 2009-01-20  Jim Meyering  <meyering@redhat.com>
65467         gettimeofday: move more declarations out of functions
65468         * lib/gettimeofday.c: Move extern declarations of tzset and
65469         gmtime out of containing functions.  Prompted by Bruno Haible.
65471 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
65473         regex: do not depend on obsolete modules.
65474         * modules/regex: Remove memcmp and memmove.
65476 2009-01-19  Bruno Haible  <bruno@clisp.org>
65478         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
65479         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
65480         gl_BIGENDIAN, not AC_C_BIGENDIAN.
65481         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
65482         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
65484 2009-01-19  Bruno Haible  <bruno@clisp.org>
65486         * tests/test-link.c: Include <errno.h>.
65487         (main): Exit with code 77 when a hard link cannot be created due to
65488         the file system.
65489         * tests/test-link.sh: Skip test when a hard link cannot be created due
65490         to the file system.
65491         Suggested by Eric Blake.
65493 2009-01-19  Martin Lambers  <marlam@marlam.de>
65495         * modules/link-tests: New file.
65496         * tests/test-link.sh: New file.
65497         * tests/test-link.c: New file.
65499 2009-01-19  Eric Blake  <ebb9@byu.net>
65501         doc: mention another function added in cygwin 1.7.0
65502         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
65503         Another new function in cygwin 1.7.
65505 2009-01-19  Bruno Haible  <bruno@clisp.org>
65507         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
65508         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
65509         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
65510         gl_BIGENDIAN, not AC_C_BIGENDIAN.
65511         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
65512         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
65513         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65514         * m4/md4.m4 (gl_MD4): Likewise.
65515         * m4/md5.m4 (gl_MD5): Likewise.
65516         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
65517         * m4/sha1.m4 (gl_SHA1): Likewise.
65518         * m4/sha256.m4 (gl_SHA256): Likewise.
65519         * m4/sha512.m4 (gl_SHA512): Likewise.
65521 2009-01-19  Bruno Haible  <bruno@clisp.org>
65523         * modules/uniname/uniname-tests (Depends-on): Add progname.
65524         * tests/uniname/test-uninames.c: Include progname.h.
65525         (main): Call set_program_name.
65527         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
65528         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
65529         (main): Call set_program_name.
65531         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
65532         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
65533         (main): Call set_program_name.
65535         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
65536         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
65537         (main): Call set_program_name.
65539         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
65540         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
65541         (main): Call set_program_name.
65543         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
65544         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
65545         (main): Call set_program_name.
65547         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
65548         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
65549         (main): Call set_program_name.
65551         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
65552         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
65553         (main): Call set_program_name.
65555         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
65556         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
65557         (main): Call set_program_name.
65559 2009-01-19  Eric Blake  <ebb9@byu.net>
65561         test-unistd: test previous patch
65562         * tests/test-unistd.c: Test *_FILENO macros.
65564         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
65565         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
65566         Guarantee a definition.
65567         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
65568         * modules/unistd-safer (Depends-on): Add dependency on unistd.
65569         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
65570         * lib/dup-safer.c (STDERR_FILENO): Likewise.
65571         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
65572         Likewise.
65573         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
65574         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
65575         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
65576         Likewise.
65577         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
65578         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
65579         (STDERR_FILENO): Likewise.
65580         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
65581         (STDERR_FILENO): Likewise.
65582         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
65583         (STDERR_FILENO): Likewise.
65584         Reported by Elbert Pol.
65586 2009-01-19  Eric Blake  <ebb9@byu.net>
65588         doc: mention more functions added in cygwin 1.7.0
65589         * doc/posix-functions/abort.texi (abort): Update wording related
65590         to cygwin.
65591         * doc/posix-functions/daylight.texi (daylight): Likewise.
65592         * doc/posix-functions/optarg.texi (optarg): Likewise.
65593         * doc/posix-functions/optarg.texi (opterr): Likewise.
65594         * doc/posix-functions/optarg.texi (optind): Likewise.
65595         * doc/posix-functions/optarg.texi (optopt): Likewise.
65596         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
65597         worked in 1.5.x, and was withdrawn in 1.7.
65598         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
65599         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
65600         cygwin versions.
65601         * doc/posix-functions/perror.texi (perror): Likewise.
65602         * doc/posix-functions/printf.texi (printf): Likewise.
65603         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
65604         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
65605         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
65606         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
65607         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
65608         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
65609         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
65610         Likewise.
65611         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
65612         Likewise.
65613         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
65614         this function.
65615         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
65616         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
65617         Likewise.
65618         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
65619         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
65620         * doc/posix-functions/confstr.texi (confstr): Likewise.
65621         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
65622         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
65623         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
65624         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
65625         * doc/posix-functions/fputws.texi (fputws): Likewise.
65626         * doc/posix-functions/fwide.texi (fwide): Likewise.
65627         * doc/posix-functions/getwc.texi (getwc): Likewise.
65628         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
65629         * doc/posix-functions/putwc.texi (putwc): Likewise.
65630         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
65631         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
65632         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
65633         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
65634         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
65635         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
65636         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
65637         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
65638         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
65639         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
65640         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
65642 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
65644         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
65645         * lib/ioctl.c: Include <sys/ioctl.h>.
65647 2009-01-19  Simon Josefsson  <simon@josefsson.org>
65649         * modules/getdate-tests (Depends-on): Add progname.
65650         * tests/test-getdate.c: Use progname module, to avoid link errors
65651         on non-glibc systems.
65653 2009-01-18  Simon Josefsson  <simon@josefsson.org>
65655         * modules/filenamecat-tests (Depends-on): Add progname.
65656         * modules/fstrcmp-tests (Depends-on): Likewise.
65658         * tests/test-filenamecat.c: Use progname module, to avoid link
65659         errors on non-glibc systems.
65660         * tests/test-fstrcmp.c: Likewise.
65662 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
65664         gettimeofday: avoid warning: nested extern declaration of 'localtime'
65665         * lib/gettimeofday.c: Move extern declaration out of function.
65667 2009-01-18  Bruno Haible  <bruno@clisp.org>
65669         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
65670         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
65671         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
65673 2009-01-18  Bruno Haible  <bruno@clisp.org>
65675         * lib/strftime.c (MEMPCPY): Remove unused macro.
65676         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
65678 2009-01-18  Martin Lambers  <marlam@marlam.de>
65680         New module 'link'.
65681         * lib/unistd.in.h (link): New declaration.
65682         * lib/link.c: New file.
65683         * m4/link.m4: New file.
65684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
65685         HAVE_LINK.
65686         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
65687         * modules/link: New file.
65688         * doc/posix-functions/link.texi: Mention the new module.
65690 2009-01-18  Bruno Haible  <bruno@clisp.org>
65692         * tests/test-avltree_list.c (main): Call set_program_name.
65693         * tests/test-avltree_oset.c (main): Likewise.
65694         * tests/test-obstack-printf.c: Include progname.h.
65695         (main): Call set_program_name.
65696         * tests/test-quotearg.c: Include progname.h.
65697         (main): Call set_program_name.
65698         * tests/test-xmemdup0.c: Include progname.h.
65699         (main): Call set_program_name.
65701 2009-01-18  Bruno Haible  <bruno@clisp.org>
65703         New module 'alphasort'.
65704         * lib/dirent.in.h (alphasort): New declaration.
65705         * lib/alphasort.c: New file, from glibc with modifications.
65706         * m4/alphasort.m4: New file.
65707         * modules/alphasort: New file.
65708         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
65709         HAVE_ALPHASORT.
65710         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
65711         HAVE_ALPHASORT.
65712         * doc/posix-functions/alphasort.texi: Mention the new module and the
65713         portability problems.
65715 2009-01-18  Bruno Haible  <bruno@clisp.org>
65717         New module 'scandir'.
65718         * lib/dirent.in.h (scandir): New declaration.
65719         * lib/scandir.c: New file, from glibc with modifications.
65720         * m4/scandir.m4: New file.
65721         * modules/scandir: New file.
65722         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
65723         HAVE_SCANDIR.
65724         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
65725         HAVE_SCANDIR.
65726         * doc/posix-functions/scandir.texi: Mention the new module and the
65727         portability problems.
65729 2009-01-17  Bruno Haible  <bruno@clisp.org>
65731         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
65732         Update documentation.
65733         (func_remove_suffix): Escape all dots in the suffix. Update
65734         documentation.
65735         (func_filter_filelist): Update documentation.
65736         Reported by Ralf Wildenhues.
65738 2009-01-17  Bruno Haible  <bruno@clisp.org>
65740         * modules/dprintf-posix-tests: New file.
65741         * tests/test-dprintf-posix.sh: New file.
65742         * tests/test-dprintf-posix.c: New file.
65744         New modules 'dprintf', 'dprintf-posix'.
65745         * lib/stdio.in.h (dprintf): New declaration.
65746         * lib/dprintf.c: New file.
65747         * m4/dprintf.m4: New file.
65748         * m4/dprintf-posix.m4: New file.
65749         * modules/dprintf: New file.
65750         * modules/dprintf-posix: New file.
65751         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
65752         HAVE_DPRINTF, REPLACE_DPRINTF.
65753         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
65754         HAVE_DPRINTF, REPLACE_DPRINTF.
65755         * doc/posix-functions/dprintf.texi: Mention the new modules.
65757 2009-01-17  Bruno Haible  <bruno@clisp.org>
65759         * modules/vdprintf-posix-tests: New file.
65760         * tests/test-vdprintf-posix.sh: New file.
65761         * tests/test-vdprintf-posix.c: New file.
65763         New modules 'vdprintf', 'vdprintf-posix'.
65764         * lib/stdio.in.h (vdprintf): New declaration.
65765         * lib/vdprintf.c: New file.
65766         * m4/vdprintf.m4: New file.
65767         * m4/vdprintf-posix.m4: New file.
65768         * modules/vdprintf: New file.
65769         * modules/vdprintf-posix: New file.
65770         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
65771         HAVE_VDPRINTF, REPLACE_VDPRINTF.
65772         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
65773         HAVE_VDPRINTF, REPLACE_VDPRINTF.
65774         * doc/posix-functions/vdprintf.texi: Mention the new modules.
65776 2009-01-17  Bruno Haible  <bruno@clisp.org>
65778         Fix replacement of fopen on mingw.
65779         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
65780         mingw.
65782 2009-01-17  Bruno Haible  <bruno@clisp.org>
65784         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
65785         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
65787 2009-01-17  Bruno Haible  <bruno@clisp.org>
65789         Avoid test-fflush2.sh failure on mingw.
65790         * tests/test-fflush2.c: Include binary-io.h.
65791         (main): Put standard input into binary mode.
65792         * modules/fflush-tests (Depends-on): Add binary-io.
65794 2009-01-17  Bruno Haible  <bruno@clisp.org>
65796         * lib/wchar.in.h: In another particular situation, include only the
65797         system's <wchar.h> file.
65798         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
65799         Reported by Albert Chin-A-Young <china@thewrittenword.com>
65800         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
65802 2009-01-17  Bruno Haible  <bruno@clisp.org>
65804         Support for stripping executables in --enable-relocatable.
65805         * build-aux/install-reloc: Expect one more argument, or an environment
65806         variable RELOC_STRIP_PROG. If set, strip the destination program and
65807         its wrapper.
65808         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
65809         RELOC_STRIP_PROG.
65810         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
65811         to set RELOCATABLE_STRIP.
65812         * NEWS: Mention the new Makefile requirement.
65814 2009-01-17  Bruno Haible  <bruno@clisp.org>
65816         * build-aux/install-reloc: Remove debugging information left over by
65817         C compiler on MacOS X.
65819 2009-01-17  Bruno Haible  <bruno@clisp.org>
65821         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
65822         * lib/progreloc.c (find_executable): Fix type of pointer passed to
65823         _NSGetExecutablePath.
65825 2009-01-16  Jim Meyering  <meyering@redhat.com>
65827         strerror: avoid warnings about discarding "const"
65828         * lib/strerror.c (rpl_strerror): Instead of returning a const
65829         string from each and every "case", use a variable, and add a single
65830         cast after the switch.
65832 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
65834         * lib/arpa_inet.in.h: Add extern "C" block for C++.
65836 2009-01-16  Bruno Haible  <bruno@clisp.org>
65838         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
65839         array initializer syntax that also works in C++ mode.
65840         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65842 2009-01-16  Jim Meyering  <meyering@redhat.com>
65844         poll: suppress a warning
65845         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
65846         to ignore "...unsigned expression < 0 is always false" warnings.
65848 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
65850         poll: remove declarations of unused variables
65851         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
65852         sockbuf and optlen.
65854 2009-01-15  Bruno Haible  <bruno@clisp.org>
65856         Make fflush-after-ungetc POSIX compliant on BSD systems.
65857         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
65858         (clear_ungetc_buffer): Implement also for other systems.
65859         (rpl_fflush): On glibc systems, invoke
65860         clear_ungetc_buffer_preserving_position. Otherwise, invoke
65861         clear_ungetc_buffer after fetching the stream's position, not before.
65863 2009-01-15  Bruno Haible  <bruno@clisp.org>
65865         Make fflush-after-ungetc POSIX compliant on glibc systems.
65866         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
65867         after ungetc.
65868         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
65869         (rpl_fflush): On glibc systems, simply call the system's fflush
65870         function after clearing the ungetc buffer.
65871         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
65872         Instead, lseek only to the end of file, then use the system's fseeko
65873         for the rest. On glibc systems, reset the EOF indicator bit.
65875 2009-01-15  Jim Meyering  <meyering@redhat.com>
65877         openmp.m4: revert quote-adding change, for portability to older autoconf
65878         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
65879         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
65880         Simon Josefsson noticed the problem when using autoconf-2.61.
65882 2009-01-15  Bruno Haible  <bruno@clisp.org>
65884         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
65885         * tests/test-fflush2.c (ASSERT): Always fail.
65886         (main): Add two tests for fflush() after ungetc(), taking into account
65887         the Austin Group's clarification.
65888         Suggested by Eric Blake.
65890 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
65892         mktime.m4: remove K&R-style function prototypes
65893         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
65894         for the Sun C++ compiler.
65896 2009-01-14  Bruno Haible  <bruno@clisp.org>
65898         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
65899         while including <wchar.h>.
65900         * lib/wchar.in.h: In two particular situations on HP-UX, include only
65901         the system's <wchar.h> file.
65902         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
65904 2009-01-14  Bruno Haible  <bruno@clisp.org>
65906         * m4/csharp.m4: Don't mention gettext on the serial number line.
65907         * m4/csharpexec.m4: Likewise.
65908         * m4/eaccess.m4: Likewise.
65909         * m4/javaexec.m4: Likewise.
65910         * m4/sig_atomic_t.m4: Likewise.
65911         * m4/tmpdir.m4: Likewise.
65912         * m4/intldir.m4: Bump gettext version.
65913         * m4/lib-ld.m4: Likewise.
65915 2009-01-14  Bruno Haible  <bruno@clisp.org>
65917         * lib/progname.c (set_program_name): Add more comments.
65918         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
65920 2009-01-14  Simon Josefsson  <simon@josefsson.org>
65922         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
65923         were sys/stat.h does not define it.
65925 2009-01-14  Jim Meyering  <meyering@redhat.com>
65927         many *.m4 files: improve m4 quoting
65928         99% of this change was performed by running the following commands:
65929         git ls-files | grep '\.m4$' | xargs perl -pi \
65930           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
65931           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
65932           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
65933           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
65934         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
65935         The remainder were to add Copyright dates, increment serial numbers,
65936         undo some changes in comments, exclude m4/intl.m4, and add quotes
65937         around the "1" in ",1" where the unusual spacing prohibited the
65938         above regexps from doing the job.  For more details, see
65939         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
65940         * m4/acl.m4: Modified.
65941         * m4/afs.m4: Likewise.
65942         * m4/alloca.m4: Likewise.
65943         * m4/argp.m4: Likewise.
65944         * m4/argz.m4: Likewise.
65945         * m4/atexit.m4: Likewise.
65946         * m4/bison-i18n.m4: Likewise.
65947         * m4/bison.m4: Likewise.
65948         * m4/byteswap.m4: Likewise.
65949         * m4/c-stack.m4: Likewise.
65950         * m4/c-strtod.m4: Likewise.
65951         * m4/calloc.m4: Likewise.
65952         * m4/canonicalize-lgpl.m4: Likewise.
65953         * m4/chown.m4: Likewise.
65954         * m4/clock_time.m4: Likewise.
65955         * m4/codeset.m4: Likewise.
65956         * m4/copy-file.m4: Likewise.
65957         * m4/csharp.m4: Likewise.
65958         * m4/csharpcomp.m4: Likewise.
65959         * m4/csharpexec.m4: Likewise.
65960         * m4/d-ino.m4: Likewise.
65961         * m4/d-type.m4: Likewise.
65962         * m4/dirfd.m4: Likewise.
65963         * m4/double-slash-root.m4: Likewise.
65964         * m4/eaccess.m4: Likewise.
65965         * m4/eealloc.m4: Likewise.
65966         * m4/environ.m4: Likewise.
65967         * m4/errno_h.m4: Likewise.
65968         * m4/euidaccess.m4: Likewise.
65969         * m4/execute.m4: Likewise.
65970         * m4/fatal-signal.m4: Likewise.
65971         * m4/fchdir.m4: Likewise.
65972         * m4/fcntl_h.m4: Likewise.
65973         * m4/fileblocks.m4: Likewise.
65974         * m4/filenamecat.m4: Likewise.
65975         * m4/findprog.m4: Likewise.
65976         * m4/flexmember.m4: Likewise.
65977         * m4/fnmatch.m4: Likewise.
65978         * m4/fopen.m4: Likewise.
65979         * m4/fpending.m4: Likewise.
65980         * m4/fprintf-posix.m4: Likewise.
65981         * m4/free.m4: Likewise.
65982         * m4/frexp.m4: Likewise.
65983         * m4/frexpl.m4: Likewise.
65984         * m4/fsusage.m4: Likewise.
65985         * m4/ftruncate.m4: Likewise.
65986         * m4/gc-camellia.m4: Likewise.
65987         * m4/gc-random.m4: Likewise.
65988         * m4/gc.m4: Likewise.
65989         * m4/getaddrinfo.m4: Likewise.
65990         * m4/getcwd-abort-bug.m4: Likewise.
65991         * m4/getcwd-path-max.m4: Likewise.
65992         * m4/getdate.m4: Likewise.
65993         * m4/getdomainname.m4: Likewise.
65994         * m4/getgroups.m4: Likewise.
65995         * m4/gethostname.m4: Likewise.
65996         * m4/gethrxtime.m4: Likewise.
65997         * m4/getline.m4: Likewise.
65998         * m4/getloadavg.m4: Likewise.
65999         * m4/getndelim2.m4: Likewise.
66000         * m4/getpass.m4: Likewise.
66001         * m4/gettext.m4: Likewise.
66002         * m4/gettime.m4: Likewise.
66003         * m4/gettimeofday.m4: Likewise.
66004         * m4/gnulib-common.m4: Likewise.
66005         * m4/group-member.m4: Likewise.
66006         * m4/host-os.m4: Likewise.
66007         * m4/iconv.m4: Likewise.
66008         * m4/iconv_open.m4: Likewise.
66009         * m4/inet_ntop.m4: Likewise.
66010         * m4/inet_pton.m4: Likewise.
66011         * m4/inline.m4: Likewise.
66012         * m4/intldir.m4: Likewise.
66013         * m4/intlmacosx.m4: Likewise.
66014         * m4/intmax.m4: Likewise.
66015         * m4/intmax_t.m4: Likewise.
66016         * m4/inttypes.m4: Likewise.
66017         * m4/inttypes_h.m4: Likewise.
66018         * m4/inttypes-pri.m4: Likewise.
66019         * m4/isapipe.m4: Likewise.
66020         * m4/isnand.m4: Likewise.
66021         * m4/isnanf.m4: Likewise.
66022         * m4/isnanl.m4: Likewise.
66023         * m4/javacomp.m4: Likewise.
66024         * m4/javaexec.m4: Likewise.
66025         * m4/jm-winsz1.m4: Likewise.
66026         * m4/jm-winsz2.m4: Likewise.
66027         * m4/lchown.m4: Likewise.
66028         * m4/lcmessage.m4: Likewise.
66029         * m4/ldexpl.m4: Likewise.
66030         * m4/lib-ld.m4: Likewise.
66031         * m4/lib-link.m4: Likewise.
66032         * m4/libsigsegv.m4: Likewise.
66033         * m4/link-follow.m4: Likewise.
66034         * m4/localcharset.m4: Likewise.
66035         * m4/locale-fr.m4: Likewise.
66036         * m4/locale-ja.m4: Likewise.
66037         * m4/locale-tr.m4: Likewise.
66038         * m4/locale-zh.m4: Likewise.
66039         * m4/lock.m4: Likewise.
66040         * m4/longlong.m4: Likewise.
66041         * m4/ls-mntd-fs.m4: Likewise.
66042         * m4/lstat.m4: Likewise.
66043         * m4/malloc.m4: Likewise.
66044         * m4/mathl.m4: Likewise.
66045         * m4/mbrtowc.m4: Likewise.
66046         * m4/mbstate_t.m4: Likewise.
66047         * m4/mbswidth.m4: Likewise.
66048         * m4/memchr.m4: Likewise.
66049         * m4/memcmp.m4: Likewise.
66050         * m4/memcpy.m4: Likewise.
66051         * m4/memmem.m4: Likewise.
66052         * m4/memmove.m4: Likewise.
66053         * m4/mempcpy.m4: Likewise.
66054         * m4/memrchr.m4: Likewise.
66055         * m4/memset.m4: Likewise.
66056         * m4/minmax.m4: Likewise.
66057         * m4/mkdir-slash.m4: Likewise.
66058         * m4/mkdtemp.m4: Likewise.
66059         * m4/mktime.m4: Likewise.
66060         * m4/mmap-anon.m4: Likewise.
66061         * m4/mountlist.m4: Likewise.
66062         * m4/nanosleep.m4: Likewise.
66063         * m4/nls.m4: Likewise.
66064         * m4/nocrash.m4: Likewise.
66065         * m4/open.m4: Likewise.
66066         * m4/openat.m4: Likewise.
66067         * m4/openmp.m4: Likewise.
66068         * m4/pathmax.m4: Likewise.
66069         * m4/perl.m4: Likewise.
66070         * m4/physmem.m4: Likewise.
66071         * m4/pipe.m4: Likewise.
66072         * m4/po.m4: Likewise.
66073         * m4/poll.m4: Likewise.
66074         * m4/posixtm.m4: Likewise.
66075         * m4/posixver.m4: Likewise.
66076         * m4/printf-frexp.m4: Likewise.
66077         * m4/printf-frexpl.m4: Likewise.
66078         * m4/printf-posix.m4: Likewise.
66079         * m4/printf-posix-rpl.m4: Likewise.
66080         * m4/printf.m4: Likewise.
66081         * m4/progtest.m4: Likewise.
66082         * m4/putenv.m4: Likewise.
66083         * m4/readline.m4: Likewise.
66084         * m4/readlink.m4: Likewise.
66085         * m4/readutmp.m4: Likewise.
66086         * m4/realloc.m4: Likewise.
66087         * m4/regex.m4: Likewise.
66088         * m4/relocatable.m4: Likewise.
66089         * m4/relocatable-lib.m4: Likewise.
66090         * m4/rename-dest-slash.m4: Likewise.
66091         * m4/rename.m4: Likewise.
66092         * m4/rmdir-errno.m4: Likewise.
66093         * m4/rmdir.m4: Likewise.
66094         * m4/roundf.m4: Likewise.
66095         * m4/roundl.m4: Likewise.
66096         * m4/rpmatch.m4: Likewise.
66097         * m4/save-cwd.m4: Likewise.
66098         * m4/selinux-selinux-h.m4: Likewise.
66099         * m4/setenv.m4: Likewise.
66100         * m4/settime.m4: Likewise.
66101         * m4/sig2str.m4: Likewise.
66102         * m4/sig_atomic_t.m4: Likewise.
66103         * m4/signalblocking.m4: Likewise.
66104         * m4/signbit.m4: Likewise.
66105         * m4/sigpipe.m4: Likewise.
66106         * m4/sockets.m4: Likewise.
66107         * m4/sockpfaf.m4: Likewise.
66108         * m4/st_dm_mode.m4: Likewise.
66109         * m4/stat-time.m4: Likewise.
66110         * m4/stdbool.m4: Likewise.
66111         * m4/stdint.m4: Likewise.
66112         * m4/stdint_h.m4: Likewise.
66113         * m4/stpcpy.m4: Likewise.
66114         * m4/stpncpy.m4: Likewise.
66115         * m4/strcase.m4: Likewise.
66116         * m4/strchrnul.m4: Likewise.
66117         * m4/strcspn.m4: Likewise.
66118         * m4/strdup.m4: Likewise.
66119         * m4/strftime.m4: Likewise.
66120         * m4/strndup.m4: Likewise.
66121         * m4/strnlen.m4: Likewise.
66122         * m4/strpbrk.m4: Likewise.
66123         * m4/strptime.m4: Likewise.
66124         * m4/strsep.m4: Likewise.
66125         * m4/strtod.m4: Likewise.
66126         * m4/strtoimax.m4: Likewise.
66127         * m4/strtok_r.m4: Likewise.
66128         * m4/strtol.m4: Likewise.
66129         * m4/strtoll.m4: Likewise.
66130         * m4/strtoul.m4: Likewise.
66131         * m4/strtoull.m4: Likewise.
66132         * m4/strtoumax.m4: Likewise.
66133         * m4/strverscmp.m4: Likewise.
66134         * m4/threadlib.m4: Likewise.
66135         * m4/timegm.m4: Likewise.
66136         * m4/tm_gmtoff.m4: Likewise.
66137         * m4/tmpdir.m4: Likewise.
66138         * m4/tmpfile.m4: Likewise.
66139         * m4/tzset.m4: Likewise.
66140         * m4/uintmax_t.m4: Likewise.
66141         * m4/unlinkdir.m4: Likewise.
66142         * m4/unlocked-io.m4: Likewise.
66143         * m4/uptime.m4: Likewise.
66144         * m4/userspec.m4: Likewise.
66145         * m4/utimbuf.m4: Likewise.
66146         * m4/utime.m4: Likewise.
66147         * m4/utimes-null.m4: Likewise.
66148         * m4/utimes.m4: Likewise.
66149         * m4/vararrays.m4: Likewise.
66150         * m4/vasnprintf.m4: Likewise.
66151         * m4/vfprintf-posix.m4: Likewise.
66152         * m4/vprintf-posix.m4: Likewise.
66153         * m4/wait-process.m4: Likewise.
66154         * m4/wchar_t.m4: Likewise.
66155         * m4/wint_t.m4: Likewise.
66156         * m4/write-any-file.m4: Likewise.
66157         * m4/yield.m4: Likewise.
66159 2009-01-13  Bruno Haible  <bruno@clisp.org>
66161         Avoid test-copy-file.sh failures when ACL support insufficient.
66162         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
66163         TESTS_ENVIRONMENT.
66164         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
66165         Reported by Jim Meyering.
66167 2009-01-13  Bruno Haible  <bruno@clisp.org>
66169         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
66170         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
66171         * modules/unistdio/u8-printf-parse (Files): Likewise.
66172         * modules/unistdio/u32-printf-parse (Files): Likewise.
66173         * modules/unistdio/ulc-printf-parse (Files): Likewise.
66175 2009-01-13  Simon Josefsson  <simon@josefsson.org>
66177         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
66178         and m4/inttypes_h.m4 too.
66180 2009-01-12  Eric Blake  <ebb9@byu.net>
66182         tests: IRIX 6.2 cc can't compile -0.0 into .data
66183         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
66184         rather than at compile-time.
66185         * tests/test-floorl.c (minus_zero): Likewise.
66186         * tests/test-frexpl.c (minus_zero): Likewise.
66187         * tests/test-isnan.c (minus_zerol): Likewise.
66188         * tests/test-isnanl.h (minus_zero): Likewise.
66189         * tests/test-ldexpl.c (minus_zero): Likewise.
66190         * tests/test-roundl.c (minus_zero): Likewise.
66191         * tests/test-signbit.c (minus_zerol): Likewise.
66192         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
66193         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
66194         * tests/test-truncl.c (minus_zero): Likewise.
66195         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
66196         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
66197         Reported by Tom G. Christensen and Nelson H. F. Beebe.
66199 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
66201         regex: fix glibc bug 9697
66202         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
66203         handling.
66205 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
66207         regex: fix glibc bug 697
66208         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
66209         being NULL also if there are no backreferences.
66211 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
66213         regex: merge glibc changes
66214         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
66215         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
66216         re_string_skip_chars, re_string_reconstruct): Likewise.
66217         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
66219 2009-01-07  Jim Meyering  <meyering@redhat.com>
66221         poll: filter through cppi
66222         * lib/poll.c: Indent cpp directives to reflect nesting.
66224 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
66226         poll: don't return uninitialized
66227         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
66229 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
66231         avoid compile failure on AIX 6.1
66232         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
66233         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
66235 2009-01-04  Jim Meyering  <meyering@redhat.com>
66237         remove duplicate inclusion of <stdio.h>
66238         * tests/test-fprintf-posix.c: Likewise.
66239         * tests/test-printf-posix.c: Likewise.
66240         * tests/test-snprintf-posix.c: Likewise.
66241         * tests/test-sprintf-posix.c: Likewise.
66242         * tests/test-vasprintf-posix.c: Likewise.
66243         * tests/test-vfprintf-posix.c: Likewise.
66244         * tests/test-vprintf-posix.c: Likewise.
66245         * tests/test-vsnprintf-posix.c: Likewise.
66246         * tests/test-vsprintf-posix.c: Likewise.
66248 2009-01-03  Jim Meyering  <meyering@redhat.com>
66250         gnulib-tool: fix sed-based filtering
66251         * gnulib-tool (func_filter_filelist): Remove extra backslash
66252         in sed_fff_filter definition.
66254 2009-01-02  Jim Meyering  <meyering@redhat.com>
66256         strftime: avoid compilation failure on Solaris 2.6
66257         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
66258         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
66259         Don't #define mbrlen or mbsinit, since now they're guaranteed to
66260         be available.  Reported by Tom G. Christensen.  Details in
66261         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
66263 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66264             Bruno Haible  <bruno@clisp.org>
66266         Speed up gnulib-tool by doing more string processing through shell
66267         built-ins.
66268         * gnulib-tool (fast_func_append): New variable.
66269         (func_remove_prefix, func_remove_suffix): New functions.
66270         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
66271         (func_filter_filelist): New function.
66272         (func_get_dependencies): Use func_remove_suffix instead of sed.
66273         (func_get_automake_snippet): Use func_filter_filelist instead of a
66274         subshell and sed invocation.
66276 2009-01-01  Bruno Haible  <bruno@clisp.org>
66278         Fix a security bug.
66279         * gnulib-tool (func_import, import, update): Don't allow the characters
66280         '"', '$', '`', '\' in macro arguments that become part of commands that
66281         are evaluated.
66283 2009-01-01  Bruno Haible  <bruno@clisp.org>
66285         * gnulib-tool (func_reset_sigpipe): Add more comments.
66287 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66289         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
66290         func_emit_tests_Makefile_am, func_import): Abort loops early if we
66291         already know the answer.
66293 2009-01-01  Jim Meyering  <meyering@redhat.com>
66295         * lib/version-etc.c (version_etc_va): Update copyright year.
66297 2008-12-30  Bruno Haible  <bruno@clisp.org>
66299         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
66300         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
66301         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
66303 2008-12-29  Eric Blake  <ebb9@byu.net>
66305         multiarch: avoid autoconf AC_REQUIRE bug
66306         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
66307         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
66308         2.63 and older.
66309         Reported by Bruno Haible, and analyzed in
66310         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
66312 2008-12-29  Bruno Haible  <bruno@clisp.org>
66314         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
66315         files in subdirectories correctly.
66316         Reported by Ralf Wildenhues.
66318 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66320         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
66321         rather than 'join FILE -', for Solaris join.
66323 2008-12-29  Bruno Haible  <bruno@clisp.org>
66325         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
66326         quoting.
66327         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
66328         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
66329         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
66330         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
66331         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
66332         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
66333         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
66334         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
66335         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
66336         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
66337         * m4/nls.m4 (AM_NLS): Likewise.
66338         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
66339         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
66340         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66341         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
66342         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
66343         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
66344         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
66345         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
66346         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
66347         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
66348         * m4/xsize.m4 (gl_XSIZE): Likewise.
66349         Suggested by Jim Meyering.
66351 2008-11-17  Bruce Korb  <bkorb@gnu.org>
66353         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
66354         * lib/parse-duration.c: use a switch instead of cascading if's.
66356 2008-12-29  Eric Blake  <ebb9@byu.net>
66358         wchar.h: supply WEOF on Irix 5.3
66359         * lib/wchar.in.h (wint_t): Also supply WEOF.
66360         * lib/wctype.in.h (wint_t): Likewise.
66361         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
66362         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
66363         Reported by Tom G. Christensen.
66365 2008-12-26  Bruno Haible  <bruno@clisp.org>
66367         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
66368         i486, i586, i686.
66370 2008-12-26  Bruno Haible  <bruno@clisp.org>
66372         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
66374 2008-12-26  Bruno Haible  <bruno@clisp.org>
66376         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
66377         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
66378         not __STDC_CONSTANT_MACROS.
66379         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
66381 2008-12-25  Bruno Haible  <bruno@clisp.org>
66383         Add support for universal builds to vasnprintf.
66384         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
66385         universal builds, guess no.
66386         * modules/vasnprintf-posix (Depends-on): Add multiarch.
66387         * modules/vasprintf-posix (Depends-on): Likewise.
66388         * modules/fprintf-posix (Depends-on): Likewise.
66389         * modules/vfprintf-posix (Depends-on): Likewise.
66390         * modules/snprintf-posix (Depends-on): Likewise.
66391         * modules/vsnprintf-posix (Depends-on): Likewise.
66392         * modules/sprintf-posix (Depends-on): Likewise.
66393         * modules/vsprintf-posix (Depends-on): Likewise.
66394         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
66395         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
66396         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
66397         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
66398         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
66399         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
66400         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
66402         Add support for universal builds to <inttypes.h>.
66403         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
66404         _SCNu64_PREFIX): In Apple
66405         universal builds, define directly, using _LP64.
66406         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
66407         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
66408         * modules/inttypes (Depends-on): Add multiarch.
66409         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
66411         Add support for universal builds to <stdint.h>.
66412         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
66413         universal builds, define directly, using _LP64.
66414         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
66415         Apple universal builds, don't test for the size and suffix of ptrdiff_t
66416         and size_t.
66417         * modules/stdint (Depends-on): Add multiarch.
66418         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
66420         New module 'multiarch'.
66421         * modules/multiarch: New file.
66422         * m4/multiarch.m4: New file.
66424 2008-12-25  Bruno Haible  <bruno@clisp.org>
66426         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
66428 2008-12-25  Bruno Haible  <bruno@clisp.org>
66430         * modules/btowc (License): Relicense under LGPLv2+.
66431         * modules/mbsinit (License): Likewise.
66432         * modules/mbrtowc (License): Likewise.
66433         * modules/wcrtomb (License): Likewise.
66434         * modules/streq (License): Likewise.
66435         Reported by David Lutterkort <lutter@redhat.com>.
66437 2008-12-23  Bruno Haible  <bruno@clisp.org>
66439         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
66441 2008-12-23  Bruno Haible  <bruno@clisp.org>
66443         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
66444         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
66445         GETADDRINFO_LIB, not in LIBS.
66446         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
66447         * modules/canon-host (Link): Likewise.
66448         * NEWS: Mention the change.
66449         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
66450         GETADDRINFO_LIB.
66452 2008-12-22  Bruno Haible  <bruno@clisp.org>
66454         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
66455         * doc/posix-functions/iswalpha_l.texi: Likewise.
66456         * doc/posix-functions/iswblank_l.texi: Likewise.
66457         * doc/posix-functions/iswcntrl_l.texi: Likewise.
66458         * doc/posix-functions/iswctype_l.texi: Likewise.
66459         * doc/posix-functions/iswdigit_l.texi: Likewise.
66460         * doc/posix-functions/iswgraph_l.texi: Likewise.
66461         * doc/posix-functions/iswlower_l.texi: Likewise.
66462         * doc/posix-functions/iswprint_l.texi: Likewise.
66463         * doc/posix-functions/iswpunct_l.texi: Likewise.
66464         * doc/posix-functions/iswspace_l.texi: Likewise.
66465         * doc/posix-functions/iswupper_l.texi: Likewise.
66466         * doc/posix-functions/iswxdigit_l.texi: Likewise.
66467         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
66468         * doc/posix-functions/open_wmemstream.texi: Likewise.
66469         * doc/posix-functions/swscanf.texi: Likewise.
66470         * doc/posix-functions/towctrans_l.texi: Likewise.
66471         * doc/posix-functions/towlower.texi: Likewise.
66472         * doc/posix-functions/towlower_l.texi: Likewise.
66473         * doc/posix-functions/towupper.texi: Likewise.
66474         * doc/posix-functions/towupper_l.texi: Likewise.
66475         * doc/posix-functions/vfwprintf.texi: Likewise.
66476         * doc/posix-functions/vfwscanf.texi: Likewise.
66477         * doc/posix-functions/vswscanf.texi: Likewise.
66478         * doc/posix-functions/vwprintf.texi: Likewise.
66479         * doc/posix-functions/vwscanf.texi: Likewise.
66480         * doc/posix-functions/wcpcpy.texi: Likewise.
66481         * doc/posix-functions/wcpncpy.texi: Likewise.
66482         * doc/posix-functions/wcscasecmp.texi: Likewise.
66483         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
66484         * doc/posix-functions/wcscoll_l.texi: Likewise.
66485         * doc/posix-functions/wcsdup.texi: Likewise.
66486         * doc/posix-functions/wcsncasecmp.texi: Likewise.
66487         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
66488         * doc/posix-functions/wcsnlen.texi: Likewise.
66489         * doc/posix-functions/wcsnrtombs.texi: Likewise.
66490         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
66491         * doc/posix-functions/wctrans_l.texi: Likewise.
66492         * doc/posix-functions/wctype_l.texi: Likewise.
66493         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
66494         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
66495         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
66496         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
66497         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
66498         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
66499         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
66500         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
66501         * doc/glibc-functions/wcschrnul.texi: Likewise.
66502         * doc/glibc-functions/wcsftime_l.texi: Likewise.
66503         * doc/glibc-functions/wcstod_l.texi: Likewise.
66504         * doc/glibc-functions/wcstof_l.texi: Likewise.
66505         * doc/glibc-functions/wcstol_l.texi: Likewise.
66506         * doc/glibc-functions/wcstold_l.texi: Likewise.
66507         * doc/glibc-functions/wcstoll_l.texi: Likewise.
66508         * doc/glibc-functions/wcstoq.texi: Likewise.
66509         * doc/glibc-functions/wcstoul_l.texi: Likewise.
66510         * doc/glibc-functions/wcstoull_l.texi: Likewise.
66511         * doc/glibc-functions/wcstouq.texi: Likewise.
66512         * doc/glibc-functions/wmempcpy.texi: Likewise.
66514 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
66515             Eric Blake  <ebb9@byu.net>
66516             Paolo Bonzini  <bonzini@gnu.org>
66517             Bruno Haible  <bruno@clisp.org>
66519         Make c-stack work on Haiku.
66520         * lib/c-stack.c (SA_ONSTACK): Define fallback.
66521         (c_stack_action): Use SA_ONSTACK flag.
66523 2008-12-22  Bruno Haible  <bruno@clisp.org>
66525         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
66527 2008-12-22  Bruno Haible  <bruno@clisp.org>
66529         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
66530         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
66531         being overridden.
66532         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
66533         New macros.
66534         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
66535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
66536         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
66537         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
66539 2008-12-22  Bruno Haible  <bruno@clisp.org>
66541         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
66542         from test code.
66544 2008-12-22  Eric Blake  <ebb9@byu.net>
66546         Avoid gcc warnings on cygwin.
66547         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
66548         Avoid unused variable.
66549         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
66550         Likewise.
66552 2008-12-22  Bruno Haible  <bruno@clisp.org>
66554         Remove HAVE_MBRTOWC conditionals.
66555         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
66556         (mbscasecmp): Assume mbrtowc function.
66557         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
66558         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
66559         * lib/mbschr.c: Include mbuiter.h unconditionally.
66560         (mbschr): Assume mbrtowc function.
66561         * lib/mbscspn.c: Include mbuiter.h unconditionally.
66562         (mbscspn): Assume mbrtowc function.
66563         * lib/mbslen.c: Include mbuiter.h unconditionally.
66564         (mbslen): Assume mbrtowc function.
66565         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
66566         (mbsncasecmp): Assume mbrtowc function.
66567         * lib/mbsnlen.c: Include mbiter.h unconditionally.
66568         (mbsnlen): Assume mbrtowc function.
66569         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
66570         (mbspbrk): Assume mbrtowc function.
66571         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
66572         (mbspcasecmp): Assume mbrtowc function.
66573         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
66574         (mbsrchr): Assume mbrtowc function.
66575         * lib/mbssep.c: Include mbuiter.h unconditionally.
66576         (mbssep): Assume mbrtowc function.
66577         * lib/mbsspn.c: Include mbuiter.h unconditionally.
66578         (mbsspn): Assume mbrtowc function.
66579         * lib/mbsstr.c: Include mbuiter.h unconditionally.
66580         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
66581         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
66582         (mbstok_r): Assume mbrtowc function.
66583         * lib/propername.c: Include mbuiter.h unconditionally.
66584         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
66585         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
66586         (trim2): Assume mbrtowc function.
66587         * lib/mbswidth.c (mbsinit): Remove fallback definition.
66588         (mbsnwidth): Assume mbrtowc function.
66589         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
66590         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
66591         fallback definitions.
66592         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
66594 2008-12-22  Bruno Haible  <bruno@clisp.org>
66596         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
66598 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
66600         * modules/regex: Request emulations for the mb*/wc* functions we need.
66601         * m4/regex.m4: Don't look for those functions here.
66602         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
66604 2008-12-22  Bruno Haible  <bruno@clisp.org>
66606         * modules/fnmatch (Depends-on): Remove duplicated dependency.
66608 2008-12-21  Bruno Haible  <bruno@clisp.org>
66610         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
66611         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
66612         (Include): Remove conditionalization.
66613         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
66614         (Include): Remove conditionalization.
66615         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
66616         (Include): Remove conditionalization.
66617         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
66618         * m4/mbfile.m4 (gl_MBFILE): Likewise.
66619         * NEWS: Mention the change.
66620         Reported by Alan Hourihane <alanh@fairlite.co.uk>
66621         via Sergey Poznyakoff <gray@gnu.org.ua>.
66623 2008-12-21  Bruno Haible  <bruno@clisp.org>
66625         * MODULES.html.sh (Extended multibyte and wide character utilities
66626         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
66627         wcrtomb, wcsrtombs.
66628         (Support for systems lacking POSIX:2008): Add accept, bind, close,
66629         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
66630         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
66631         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
66633 2008-12-21  Bruno Haible  <bruno@clisp.org>
66635         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
66637 2008-12-21  Bruno Haible  <bruno@clisp.org>
66639         * modules/wcsnrtombs-tests: New file.
66640         * tests/test-wcsnrtombs1.sh: New file.
66641         * tests/test-wcsnrtombs2.sh: New file.
66642         * tests/test-wcsnrtombs3.sh: New file.
66643         * tests/test-wcsnrtombs4.sh: New file.
66644         * tests/test-wcsnrtombs.c: New file.
66646         New module 'wcsnrtombs'.
66647         * lib/wchar.in.h (wcsnrtombs): New declaration.
66648         * lib/wcsnrtombs.c: New file.
66649         * lib/wcsrtombs-state.c: New file.
66650         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
66651         (internal_state): Remove variable.
66652         * m4/wcsnrtombs.m4: New file.
66653         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
66654         compilation units.
66655         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
66656         HAVE_WCSNRTOMBS.
66657         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
66658         HAVE_WCSNRTOMBS.
66659         * modules/wcsnrtombs: New file.
66660         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
66661         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
66663 2008-12-21  Bruno Haible  <bruno@clisp.org>
66665         * modules/wcsrtombs-tests: New file.
66666         * tests/test-wcsrtombs1.sh: New file.
66667         * tests/test-wcsrtombs2.sh: New file.
66668         * tests/test-wcsrtombs3.sh: New file.
66669         * tests/test-wcsrtombs4.sh: New file.
66670         * tests/test-wcsrtombs.c: New file.
66672         New module 'wcsrtombs'.
66673         * lib/wchar.in.h (wcsrtombs): New declaration.
66674         * lib/wcsrtombs.c: New file.
66675         * m4/wcsrtombs.m4: New file.
66676         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
66677         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
66678         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
66679         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
66680         * modules/wcsrtombs: New file.
66681         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
66682         bugs.
66684 2008-12-21  Bruno Haible  <bruno@clisp.org>
66686         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
66687         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
66688         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
66689         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
66690         if not correct.
66691         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
66692         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
66693         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
66694         m4/locale-zh.m4, m4/codeset.m4.
66695         * doc/posix-functions/wcrtomb.texi: Document the bug.
66697 2008-12-21  Bruno Haible  <bruno@clisp.org>
66699         Work around a btowc() bug on IRIX 6.5.
66700         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
66701         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
66702         REPLACE_WTOBC if not.
66703         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
66704         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
66705         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
66707 2008-12-21  Bruno Haible  <bruno@clisp.org>
66709         * modules/wcrtomb-tests: New file.
66710         * tests/test-wcrtomb.sh: New file.
66711         * tests/test-wcrtomb.c: New file.
66713         New module 'wcrtomb'.
66714         * lib/wchar.in.h (wcrtomb): New declaration.
66715         * lib/wcrtomb.c: New file.
66716         * m4/wcrtomb.m4: New file.
66717         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
66718         HAVE_WCRTOMB.
66719         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
66720         HAVE_WCRTOMB.
66721         * modules/wcrtomb: New file.
66722         * doc/posix-functions/wcrtomb.texi: Mention the new module.
66724 2008-12-21  Bruno Haible  <bruno@clisp.org>
66726         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
66727         * modules/mbsrtowcs (Files): Likewise.
66728         * modules/wctob (Files): Likewise.
66729         * modules/c-strcase-tests (Files): Likewise.
66730         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
66731         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
66732         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
66733         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
66734         * modules/vasnprintf-posix-tests (Files): Likewise.
66736 2008-12-21  William Pursell  <bill.pursell@gmail.com>
66738         gitlog-to-changelog: pass all command-line arguments to git-log
66739         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
66740         it is sometimes convenient to filter the commits in various ways.
66741         gitlog-to-changelog only allows --since to specify a start date,
66742         but git-log itself supports many other filtering mechanisms.
66743         At the moment, I want to filter by branch name.  Rather than
66744         adding a --branch option to gitlog-to-changelog, it seems more
66745         flexible to simply pass all options directly to git-log and let
66746         git do the work.  Notice that this effectively makes --since a
66747         redundant option for gitlog-to-changelog, but removing it would
66748         require current usage to change since calls would then require
66749         an additional '--'.
66751 2008-12-21  Bruno Haible  <bruno@clisp.org>
66753         * modules/mbsnrtowcs-tests: New file.
66754         * tests/test-mbsnrtowcs1.sh: New file.
66755         * tests/test-mbsnrtowcs2.sh: New file.
66756         * tests/test-mbsnrtowcs3.sh: New file.
66757         * tests/test-mbsnrtowcs4.sh: New file.
66758         * tests/test-mbsnrtowcs.c: New file.
66760         New module 'mbsnrtowcs'.
66761         * lib/wchar.in.h (mbsnrtowcs): New declaration.
66762         * lib/mbsnrtowcs.c: New file.
66763         * lib/mbsrtowcs-state.c: New file.
66764         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
66765         (internal_state): Remove variable.
66766         * m4/mbsnrtowcs.m4: New file.
66767         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
66768         compilation units.
66769         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
66770         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
66771         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
66772         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
66773         * modules/mbsnrtowcs: New file.
66774         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
66775         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
66776         portability problem.
66778 2008-12-21  Bruno Haible  <bruno@clisp.org>
66780         Work around mbsrtowcs bug.
66781         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
66782         (gl_FUNC_MBSRTOWCS): Invoke it.
66783         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
66784         m4/locale-zh.m4.
66785         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
66787 2008-12-21  Bruno Haible  <bruno@clisp.org>
66789         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
66791 2008-12-21  Bruno Haible  <bruno@clisp.org>
66793         Update doc for AIX.
66794         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
66795         16-bit wchar_t type.
66796         * doc/posix-functions/btowc.texi: Likewise.
66797         * doc/posix-functions/fgetwc.texi: Likewise.
66798         * doc/posix-functions/fgetws.texi: Likewise.
66799         * doc/posix-functions/fputwc.texi: Likewise.
66800         * doc/posix-functions/fputws.texi: Likewise.
66801         * doc/posix-functions/fwide.texi: Likewise.
66802         * doc/posix-functions/fwprintf.texi: Likewise.
66803         * doc/posix-functions/fwscanf.texi: Likewise.
66804         * doc/posix-functions/getwchar.texi: Likewise.
66805         * doc/posix-functions/getwc.texi: Likewise.
66806         * doc/posix-functions/iswalnum.texi: Likewise.
66807         * doc/posix-functions/iswalpha.texi: Likewise.
66808         * doc/posix-functions/iswblank.texi: Likewise.
66809         * doc/posix-functions/iswcntrl.texi: Likewise.
66810         * doc/posix-functions/iswctype.texi: Likewise.
66811         * doc/posix-functions/iswdigit.texi: Likewise.
66812         * doc/posix-functions/iswgraph.texi: Likewise.
66813         * doc/posix-functions/iswlower.texi: Likewise.
66814         * doc/posix-functions/iswprint.texi: Likewise.
66815         * doc/posix-functions/iswpunct.texi: Likewise.
66816         * doc/posix-functions/iswspace.texi: Likewise.
66817         * doc/posix-functions/iswupper.texi: Likewise.
66818         * doc/posix-functions/iswxdigit.texi: Likewise.
66819         * doc/posix-functions/mbrtowc.texi: Likewise.
66820         * doc/posix-functions/mbsrtowcs.texi: Likewise.
66821         * doc/posix-functions/mbstowcs.texi: Likewise.
66822         * doc/posix-functions/mbtowc.texi: Likewise.
66823         * doc/posix-functions/putwchar.texi: Likewise.
66824         * doc/posix-functions/putwc.texi: Likewise.
66825         * doc/posix-functions/swprintf.texi: Likewise.
66826         * doc/posix-functions/tolower.texi: Likewise.
66827         * doc/posix-functions/toupper.texi: Likewise.
66828         * doc/posix-functions/towctrans.texi: Likewise.
66829         * doc/posix-functions/ungetwc.texi: Likewise.
66830         * doc/posix-functions/vswprintf.texi: Likewise.
66831         * doc/posix-functions/wcrtomb.texi: Likewise.
66832         * doc/posix-functions/wcscat.texi: Likewise.
66833         * doc/posix-functions/wcschr.texi: Likewise.
66834         * doc/posix-functions/wcscmp.texi: Likewise.
66835         * doc/posix-functions/wcscoll.texi: Likewise.
66836         * doc/posix-functions/wcscpy.texi: Likewise.
66837         * doc/posix-functions/wcscspn.texi: Likewise.
66838         * doc/posix-functions/wcsftime.texi: Likewise.
66839         * doc/posix-functions/wcslen.texi: Likewise.
66840         * doc/posix-functions/wcsncat.texi: Likewise.
66841         * doc/posix-functions/wcsncmp.texi: Likewise.
66842         * doc/posix-functions/wcsncpy.texi: Likewise.
66843         * doc/posix-functions/wcspbrk.texi: Likewise.
66844         * doc/posix-functions/wcsrchr.texi: Likewise.
66845         * doc/posix-functions/wcsrtombs.texi: Likewise.
66846         * doc/posix-functions/wcsspn.texi: Likewise.
66847         * doc/posix-functions/wcsstr.texi: Likewise.
66848         * doc/posix-functions/wcstod.texi: Likewise.
66849         * doc/posix-functions/wcstof.texi: Likewise.
66850         * doc/posix-functions/wcstoimax.texi: Likewise.
66851         * doc/posix-functions/wcstok.texi: Likewise.
66852         * doc/posix-functions/wcstold.texi: Likewise.
66853         * doc/posix-functions/wcstoll.texi: Likewise.
66854         * doc/posix-functions/wcstol.texi: Likewise.
66855         * doc/posix-functions/wcstombs.texi: Likewise.
66856         * doc/posix-functions/wcstoull.texi: Likewise.
66857         * doc/posix-functions/wcstoul.texi: Likewise.
66858         * doc/posix-functions/wcstoumax.texi: Likewise.
66859         * doc/posix-functions/wcswidth.texi: Likewise.
66860         * doc/posix-functions/wcsxfrm.texi: Likewise.
66861         * doc/posix-functions/wctob.texi: Likewise.
66862         * doc/posix-functions/wctomb.texi: Likewise.
66863         * doc/posix-functions/wctrans.texi: Likewise.
66864         * doc/posix-functions/wctype.texi: Likewise.
66865         * doc/posix-functions/wcwidth.texi: Likewise.
66866         * doc/posix-functions/wmemchr.texi: Likewise.
66867         * doc/posix-functions/wmemcmp.texi: Likewise.
66868         * doc/posix-functions/wmemcpy.texi: Likewise.
66869         * doc/posix-functions/wmemmove.texi: Likewise.
66870         * doc/posix-functions/wmemset.texi: Likewise.
66871         * doc/posix-functions/wprintf.texi: Likewise.
66872         * doc/posix-functions/wscanf.texi: Likewise.
66874 2008-12-21  Bruno Haible  <bruno@clisp.org>
66876         Update doc for HP-UX 11.11.
66877         * doc/posix-functions/btowc.texi: Clarify that the function is missing
66878         in HP-UX version 11.00, not in all versions of HP-UX 11.
66879         * doc/posix-functions/fwide.texi: Likewise.
66880         * doc/posix-functions/fwprintf.texi: Likewise.
66881         * doc/posix-functions/fwscanf.texi: Likewise.
66882         * doc/posix-functions/inet_ntop.texi: Likewise.
66883         * doc/posix-functions/inet_pton.texi: Likewise.
66884         * doc/posix-functions/mbrlen.texi: Likewise.
66885         * doc/posix-functions/mbrtowc.texi: Likewise.
66886         * doc/posix-functions/mbsinit.texi: Likewise.
66887         * doc/posix-functions/mbsrtowcs.texi: Likewise.
66888         * doc/posix-functions/swprintf.texi: Likewise.
66889         * doc/posix-functions/swscanf.texi: Likewise.
66890         * doc/posix-functions/towctrans.texi: Likewise.
66891         * doc/posix-functions/vfwprintf.texi: Likewise.
66892         * doc/posix-functions/vswprintf.texi: Likewise.
66893         * doc/posix-functions/vwprintf.texi: Likewise.
66894         * doc/posix-functions/wcrtomb.texi: Likewise.
66895         * doc/posix-functions/wcsrtombs.texi: Likewise.
66896         * doc/posix-functions/wcsstr.texi: Likewise.
66897         * doc/posix-functions/wctob.texi: Likewise.
66898         * doc/posix-functions/wctrans.texi: Likewise.
66899         * doc/posix-functions/wmemchr.texi: Likewise.
66900         * doc/posix-functions/wmemcmp.texi: Likewise.
66901         * doc/posix-functions/wmemcpy.texi: Likewise.
66902         * doc/posix-functions/wmemmove.texi: Likewise.
66903         * doc/posix-functions/wmemset.texi: Likewise.
66904         * doc/posix-functions/wprintf.texi: Likewise.
66905         * doc/posix-functions/wscanf.texi: Likewise.
66907 2008-12-21  Bruno Haible  <bruno@clisp.org>
66909         Work around a portability problem.
66910         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
66911         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
66913 2008-12-20  Bruno Haible  <bruno@clisp.org>
66915         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
66916         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
66917         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
66918         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
66919         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
66921         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
66922         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
66923         set.
66924         (GNULIB_defined_mbstate_t): New macro.
66925         (mbsinit): Redefine if REPLACE_MBSINIT is set.
66926         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
66927         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
66928         reuses the system's mbrtowc function but works around the bugs.
66929         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
66930         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
66931         macros.
66932         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
66933         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
66934         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
66935         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
66936         REPLACE_MBSINIT if mbsinit needs to be overridden.
66937         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
66938         REPLACE_MBSINIT, REPLACE_MBRTOWC.
66939         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
66940         REPLACE_MBSINIT, REPLACE_MBRTOWC.
66941         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
66942         m4/locale-zh.m4.
66943         (Depends): Add mbsinit.
66944         * modules/mbsinit (Depends): Add mbrtowc.
66945         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
66947 2008-12-20  Bruno Haible  <bruno@clisp.org>
66949         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
66950         so that there are no conversion errors on AIX.
66951         * tests/test-mbsrtowcs.c (main): LIkewise.
66953 2008-12-20  Bruno Haible  <bruno@clisp.org>
66955         Work around wctob bug on Solaris <= 9.
66956         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
66957         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
66958         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
66959         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
66960         * modules/wctob (Files): Add m4/locale-fr.m4.
66961         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
66963 2008-12-20  Bruno Haible  <bruno@clisp.org>
66965         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
66966         /dev/null.
66967         * tests/test-select-in.sh: Likewise.
66968         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
66970 2008-12-20  Bruno Haible  <bruno@clisp.org>
66972         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
66973         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
66974         Cygwin 1.5.x.
66976 2008-12-20  Bruno Haible  <bruno@clisp.org>
66978         Ensure mbstate_t is defined on HP-UX 11.11.
66979         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
66980         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
66981         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
66982         AC_USE_SYSTEM_EXTENSIONS.
66983         * modules/fnmatch (Depends-on): Add extensions.
66984         * modules/mbrlen (Depends-on): Likewise.
66985         * modules/mbrtowc (Depends-on): Likewise.
66986         * modules/mbsinit (Depends-on): Likewise.
66987         * modules/mbsrtowcs (Depends-on): Likewise.
66988         * modules/mbswidth (Depends-on): Likewise.
66989         * modules/quotearg (Depends-on): Likewise.
66990         * modules/strftime (Depends-on): Likewise.
66992 2008-12-20  Bruno Haible  <bruno@clisp.org>
66994         Ensure wctob is declared on IRIX 6.5.
66995         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
66996         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
66997         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
66998         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
66999         of HAVE_WCTOB.
67000         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
67001         HAVE_WCTOB.
67002         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
67004 2008-12-19  Bruno Haible  <bruno@clisp.org>
67006         * modules/mbsrtowcs-tests: New file.
67007         * tests/test-mbsrtowcs1.sh: New file.
67008         * tests/test-mbsrtowcs2.sh: New file.
67009         * tests/test-mbsrtowcs3.sh: New file.
67010         * tests/test-mbsrtowcs4.sh: New file.
67011         * tests/test-mbsrtowcs.c: New file.
67013         New module 'mbsrtowcs'.
67014         * lib/wchar.in.h (mbsrtowcs): New declaration.
67015         * lib/mbsrtowcs.c: New file.
67016         * m4/mbsrtowcs.m4: New file.
67017         * modules/mbsrtowcs: New file.
67018         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
67019         HAVE_MBSRTOWCS.
67020         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
67021         HAVE_MBSRTOWCS.
67022         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
67024 2008-12-19  Bruno Haible  <bruno@clisp.org>
67026         New module 'mbrlen'.
67027         * lib/wchar.in.h (mbrlen): New declaration.
67028         * lib/mbrlen.c: New file.
67029         * m4/mbrlen.m4: New file.
67030         * modules/mbrlen: New file.
67031         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
67032         HAVE_MBRLEN.
67033         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
67034         HAVE_MBRLEN.
67035         * doc/posix-functions/mbrlen.texi: Document the new module.
67037 2008-12-19  Bruno Haible  <bruno@clisp.org>
67039         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
67040         * modules/mbrtowc (Depends-on): Add verify.
67041         Suggested by Paul Eggert.
67043 2008-12-18  Bruno Haible  <bruno@clisp.org>
67045         * modules/mbsinit-tests: New file.
67046         * tests/test-mbsinit.sh: New file.
67047         * tests/test-mbsinit.c: New file.
67049 2008-12-18  Bruno Haible  <bruno@clisp.org>
67051         * modules/mbrtowc-tests: New file.
67052         * tests/test-mbrtowc1.sh: New file.
67053         * tests/test-mbrtowc2.sh: New file.
67054         * tests/test-mbrtowc3.sh: New file.
67055         * tests/test-mbrtowc4.sh: New file.
67056         * tests/test-mbrtowc.c: New file.
67058         New module 'mbrtowc'.
67059         * lib/wchar.in.h (mbstate_t): Override when the system does not have
67060         mbsinit and mbrtowc.
67061         (mbrtowc): New declaration.
67062         * lib/mbrtowc.c: New file.
67063         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
67064         * modules/mbrtowc: New file.
67065         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
67066         HAVE_MBRTOWC.
67067         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
67068         HAVE_MBRTOWC.
67069         * doc/posix-functions/mbrtowc.texi: Document the new module.
67071 2008-12-18  Bruno Haible  <bruno@clisp.org>
67073         New module 'wctob'.
67074         * lib/wchar.in.h (wctob): New declaration.
67075         * lib/wctob.c: New file.
67076         * m4/wctob.m4: New file.
67077         * modules/wctob: New file.
67078         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
67079         HAVE_WCTOB.
67080         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
67081         * doc/posix-functions/wctob.texi: Document the new module.
67083 2008-12-18  Bruno Haible  <bruno@clisp.org>
67085         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
67086         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
67088 2008-12-18  Simon Josefsson  <simon@josefsson.org>
67090         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
67091         G. Christensen" <tgc@jupiterrise.com>.
67093         * lib/flock.c: Need to include errno.h.  Reported by "Tom
67094         G. Christensen" <tgc@jupiterrise.com>.
67096         * lib/flock.c: Need to include string.h.  Reported by "Tom
67097         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
67098         <ebb9@byu.net>.
67100 2008-12-18  Bruno Haible  <bruno@clisp.org>
67102         * m4/locale-ja.m4: New file, from GNU gettext.
67104 2008-12-17  Bruno Haible  <bruno@clisp.org>
67106         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
67107         Suggested by Eric Blake.
67109 2008-12-17  Bruno Haible  <bruno@clisp.org>
67111         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
67113 2008-12-17  Bruno Haible  <bruno@clisp.org>
67115         * lib/mbsinit.c: Include verify.h. Verify an assumption.
67116         * modules/mbsinit (Depends-on): Add verify.
67117         Suggested by Paul Eggert.
67119 2008-12-17  Bruno Haible  <bruno@clisp.org>
67121         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
67122         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
67123         gl_FUNC_MBRTOWC.
67124         * m4/mbiter.m4 (gl_MBITER): LIkewise.
67125         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
67126         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
67127         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
67128         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
67129         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
67130         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
67131         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
67132         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
67133         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
67134         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
67135         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
67136         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
67137         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
67138         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
67139         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
67140         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
67141         * modules/trim (configure.ac): Likewise.
67143 2008-12-17  Bruno Haible  <bruno@clisp.org>
67145         * modules/btowc-tests: New file.
67146         * tests/test-btowc1.sh: New file.
67147         * tests/test-btowc2.sh: New file.
67148         * tests/test-btowc.c: New file.
67150         New module 'btowc'.
67151         * lib/wchar.in.h (btowc): New declaration.
67152         * lib/btowc.c: New file.
67153         * m4/btowc.m4: New file.
67154         * modules/btowc: New file.
67155         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
67156         HAVE_BTOWC.
67157         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
67158         * doc/posix-functions/btowc.texi: Document the new module.
67160 2008-12-17  Bruno Haible  <bruno@clisp.org>
67162         New module 'mbsinit'.
67163         * lib/wchar.in.h (mbsinit): New declaration.
67164         * lib/mbsinit.c: New file.
67165         * m4/mbsinit.m4: New file.
67166         * modules/mbsinit: New file.
67167         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
67168         HAVE_MBSINIT.
67169         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
67170         HAVE_MBSINIT.
67171         * doc/posix-functions/mbsinit.texi: Document the new module.
67173 2008-12-16  Bruno Haible  <bruno@clisp.org>
67175         * lib/unistd.in.h: Add comment.
67176         * tests/test-environ.c: Don't include <stdlib.h>.
67178 2008-12-16  Bruno Haible  <bruno@clisp.org>
67180         * lib/parse-duration.h (parse_duration): Document return value
67181         convention.
67182         * lib/parse-duration.c: Include specification header first. Add
67183         comments.
67184         (_): Remove macro.
67185         (parse_year_month_day, parse_hour_minute_second): Move side effects
67186         outside of strchr call.
67187         (parse_non_iso8601): Move side effects outside of isspace call.
67188         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
67189         call.
67191 2008-12-16  Bruno Haible  <bruno@clisp.org>
67193         * tests/test-parse-duration.sh: Produce no output when the test
67194         succeeds.
67196 2008-12-16  Bruno Haible  <bruno@clisp.org>
67198         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
67199         expressions.
67201 2008-12-15  Bruno Haible  <bruno@clisp.org>
67203         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
67204         * doc/glibc-functions/flistxattr.texi: Likewise.
67205         * doc/glibc-functions/fopencookie.texi: Likewise.
67206         * doc/glibc-functions/fremovexattr.texi: Likewise.
67207         * doc/glibc-functions/fsetxattr.texi: Likewise.
67208         * doc/glibc-functions/getxattr.texi: Likewise.
67209         * doc/glibc-functions/lgetxattr.texi: Likewise.
67210         * doc/glibc-functions/listxattr.texi: Likewise.
67211         * doc/glibc-functions/llistxattr.texi: Likewise.
67212         * doc/glibc-functions/lremovexattr.texi: Likewise.
67213         * doc/glibc-functions/lsetxattr.texi: Likewise.
67214         * doc/glibc-functions/removexattr.texi: Likewise.
67215         * doc/glibc-functions/setxattr.texi: Likewise.
67216         * doc/posix-functions/open_memstream.texi: Likewise.
67218 2008-12-15  Eric Blake  <ebb9@byu.net>
67220         Update doc for cygwin 1.7.
67221         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
67222         functions.
67223         * doc/posix-functions/fchmodat.texi: Likewise.
67224         * doc/posix-functions/fchownat.texi: Likewise.
67225         * doc/posix-functions/fdopendir.texi: Likewise.
67226         * doc/posix-functions/fmemopen.texi: Likewise.
67227         * doc/posix-functions/freeaddrinfo.texi: Likewise.
67228         * doc/posix-functions/fstatat.texi: Likewise.
67229         * doc/posix-functions/futimens.texi: Likewise.
67230         * doc/posix-functions/gai_strerror.texi: Likewise.
67231         * doc/posix-functions/getaddrinfo.texi: Likewise.
67232         * doc/posix-functions/getnameinfo.texi: Likewise.
67233         * doc/posix-functions/if_freenameindex.texi: Likewise.
67234         * doc/posix-functions/if_indextoname.texi: Likewise.
67235         * doc/posix-functions/if_nameindex.texi: Likewise.
67236         * doc/posix-functions/if_nametoindex.texi: Likewise.
67237         * doc/posix-functions/insque.texi: Likewise.
67238         * doc/posix-functions/linkat.texi: Likewise.
67239         * doc/posix-functions/llrint.texi: Likewise.
67240         * doc/posix-functions/llrintf.texi: Likewise.
67241         * doc/posix-functions/llrintl.texi: Likewise.
67242         * doc/posix-functions/lockf.texi: Likewise.
67243         * doc/posix-functions/lrintl.texi: Likewise.
67244         * doc/posix-functions/mkdirat.texi: Likewise.
67245         * doc/posix-functions/mkfifoat.texi: Likewise.
67246         * doc/posix-functions/mknodat.texi: Likewise.
67247         * doc/posix-functions/mq_close.texi: Likewise.
67248         * doc/posix-functions/mq_getattr.texi: Likewise.
67249         * doc/posix-functions/mq_notify.texi: Likewise.
67250         * doc/posix-functions/mq_open.texi: Likewise.
67251         * doc/posix-functions/mq_receive.texi: Likewise.
67252         * doc/posix-functions/mq_send.texi: Likewise.
67253         * doc/posix-functions/mq_setattr.texi: Likewise.
67254         * doc/posix-functions/mq_timedreceive.texi: Likewise.
67255         * doc/posix-functions/mq_timedsend.texi: Likewise.
67256         * doc/posix-functions/mq_unlink.texi: Likewise.
67257         * doc/posix-functions/open_memstream.texi: Likewise.
67258         * doc/posix-functions/openat.texi: Likewise.
67259         * doc/posix-functions/posix_fadvise.texi: Likewise.
67260         * doc/posix-functions/posix_fallocate.texi: Likewise.
67261         * doc/posix-functions/posix_madvise.texi: Likewise.
67262         * doc/posix-functions/posix_memalign.texi: Likewise.
67263         * doc/posix-functions/posix_openpt.texi: Likewise.
67264         * doc/posix-functions/readlinkat.texi: Likewise.
67265         * doc/posix-functions/remque.texi: Likewise.
67266         * doc/posix-functions/renameat.texi: Likewise.
67267         * doc/posix-functions/rintl.texi: Likewise.
67268         * doc/posix-functions/sem_unlink.texi: Likewise.
67269         * doc/posix-functions/shm_open.texi: Likewise.
67270         * doc/posix-functions/shm_unlink.texi: Likewise.
67271         * doc/posix-functions/signgam.texi: Likewise.
67272         * doc/posix-functions/sigset.texi: Likewise.
67273         * doc/posix-functions/stpcpy.texi: Likewise.
67274         * doc/posix-functions/stpncpy.texi: Likewise.
67275         * doc/posix-functions/strerror.texi: Likewise.
67276         * doc/posix-functions/strtod.texi: Likewise.
67277         * doc/posix-functions/symlinkat.texi: Likewise.
67278         * doc/posix-functions/unlinkat.texi: Likewise.
67279         * doc/posix-functions/utimensat.texi: Likewise.
67280         * doc/glibc-functions/bindresvport.texi: Likewise.
67281         * doc/glibc-functions/dn_expand.texi: Likewise.
67282         * doc/glibc-functions/exp10.texi: Likewise.
67283         * doc/glibc-functions/exp10f.texi: Likewise.
67284         * doc/glibc-functions/fgetxattr.texi: Likewise.
67285         * doc/glibc-functions/flistxattr.texi: Likewise.
67286         * doc/glibc-functions/fopencookie.texi: Likewise.
67287         * doc/glibc-functions/freeifaddrs.texi: Likewise.
67288         * doc/glibc-functions/fremovexattr.texi: Likewise.
67289         * doc/glibc-functions/fsetxattr.texi: Likewise.
67290         * doc/glibc-functions/getifaddrs.texi: Likewise.
67291         * doc/glibc-functions/getxattr.texi: Likewise.
67292         * doc/glibc-functions/lgetxattr.texi: Likewise.
67293         * doc/glibc-functions/listxattr.texi: Likewise.
67294         * doc/glibc-functions/llistxattr.texi: Likewise.
67295         * doc/glibc-functions/lremovexattr.texi: Likewise.
67296         * doc/glibc-functions/lsetxattr.texi: Likewise.
67297         * doc/glibc-functions/pow10.texi: Likewise.
67298         * doc/glibc-functions/pow10f.texi: Likewise.
67299         * doc/glibc-functions/rcmd_af.texi: Likewise.
67300         * doc/glibc-functions/removexattr.texi: Likewise.
67301         * doc/glibc-functions/res_init.texi: Likewise.
67302         * doc/glibc-functions/res_mkquery.texi: Likewise.
67303         * doc/glibc-functions/res_query.texi: Likewise.
67304         * doc/glibc-functions/res_querydomain.texi: Likewise.
67305         * doc/glibc-functions/res_send.texi: Likewise.
67306         * doc/glibc-functions/rresvport_af.texi: Likewise.
67307         * doc/glibc-functions/setxattr.texi: Likewise.
67308         * doc/glibc-functions/strcasestr.texi: Likewise.
67310 2008-12-15  Bruno Haible  <bruno@clisp.org>
67312         Fix compilation error on OSF/1 4.0.
67313         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
67314         <sys/time.h>, simply delegate to the system header.
67315         Reported by Daniel Richard G. <oss@teragram.com>.
67317 2008-12-15  Bruno Haible  <bruno@clisp.org>
67319         * doc/posix-functions/openat.texi: Mention the 'openat' module.
67320         * doc/posix-functions/fchmodat.texi: Likewise.
67321         * doc/posix-functions/fchownat.texi: Likewise.
67322         * doc/posix-functions/fdopendir.texi: Likewise.
67323         * doc/posix-functions/fstatat.texi: Likewise.
67324         * doc/posix-functions/mkdirat.texi: Likewise.
67325         * doc/posix-functions/unlinkat.texi: Likewise.
67327 2008-12-14  Bruno Haible  <bruno@clisp.org>
67329         Update doc for POSIX:2008.
67330         * doc/posix-functions/faccessat.texi: New file.
67331         * doc/posix-functions/fchmodat.texi: New file.
67332         * doc/posix-functions/fchownat.texi: New file.
67333         * doc/posix-functions/fdopendir.texi: New file.
67334         * doc/posix-functions/fstatat.texi: New file.
67335         * doc/posix-functions/futimens.texi: New file.
67336         * doc/posix-functions/linkat.texi: New file.
67337         * doc/posix-functions/mkdirat.texi: New file.
67338         * doc/posix-functions/mkfifoat.texi: New file.
67339         * doc/posix-functions/mknodat.texi: New file.
67340         * doc/posix-functions/open_wmemstream.texi: New file.
67341         * doc/posix-functions/openat.texi: New file.
67342         * doc/posix-functions/psiginfo.texi: New file.
67343         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
67344         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
67345         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
67346         * doc/posix-functions/readlinkat.texi: New file.
67347         * doc/posix-functions/renameat.texi: New file.
67348         * doc/posix-functions/strerror_l.texi: New file.
67349         * doc/posix-functions/symlinkat.texi: New file.
67350         * doc/posix-functions/unlinkat.texi: New file.
67351         * doc/posix-functions/utimensat.texi: New file.
67352         * doc/gnulib.texi (Function Substitutes): Add these subsections.
67354 2008-12-14  Bruno Haible  <bruno@clisp.org>
67356         Update doc for POSIX:2008.
67357         * doc/posix-functions/alphasort.texi: Renamed from
67358         doc/glibc-functions/alphasort.texi.
67359         * doc/posix-functions/dirfd.texi: Renamed from
67360         doc/glibc-functions/dirfd.texi.
67361         * doc/posix-functions/dprintf.texi: Renamed from
67362         doc/glibc-functions/dprintf.texi.
67363         * doc/posix-functions/duplocale.texi: Renamed from
67364         doc/glibc-functions/duplocale.texi.
67365         * doc/posix-functions/fexecve.texi: Renamed from
67366         doc/glibc-functions/fexecve.texi.
67367         * doc/posix-functions/fmemopen.texi: Renamed from
67368         doc/glibc-functions/fmemopen.texi.
67369         * doc/posix-functions/freelocale.texi: Renamed from
67370         doc/glibc-functions/freelocale.texi.
67371         * doc/posix-functions/getdate_err.texi: Renamed from
67372         doc/glibc-functions/getdate_err.texi.
67373         * doc/posix-functions/isalnum_l.texi: Renamed from
67374         doc/glibc-functions/isalnum_l.texi.
67375         * doc/posix-functions/isalpha_l.texi: Renamed from
67376         doc/glibc-functions/isalpha_l.texi.
67377         * doc/posix-functions/isblank_l.texi: Renamed from
67378         doc/glibc-functions/isblank_l.texi.
67379         * doc/posix-functions/iscntrl_l.texi: Renamed from
67380         doc/glibc-functions/iscntrl_l.texi.
67381         * doc/posix-functions/isdigit_l.texi: Renamed from
67382         doc/glibc-functions/isdigit_l.texi.
67383         * doc/posix-functions/isgraph_l.texi: Renamed from
67384         doc/glibc-functions/isgraph_l.texi.
67385         * doc/posix-functions/islower_l.texi: Renamed from
67386         doc/glibc-functions/islower_l.texi.
67387         * doc/posix-functions/isprint_l.texi: Renamed from
67388         doc/glibc-functions/isprint_l.texi.
67389         * doc/posix-functions/ispunct_l.texi: Renamed from
67390         doc/glibc-functions/ispunct_l.texi.
67391         * doc/posix-functions/isspace_l.texi: Renamed from
67392         doc/glibc-functions/isspace_l.texi.
67393         * doc/posix-functions/isupper_l.texi: Renamed from
67394         doc/glibc-functions/isupper_l.texi.
67395         * doc/posix-functions/iswalnum_l.texi: Renamed from
67396         doc/glibc-functions/iswalnum_l.texi.
67397         * doc/posix-functions/iswalpha_l.texi: Renamed from
67398         doc/glibc-functions/iswalpha_l.texi.
67399         * doc/posix-functions/iswblank_l.texi: Renamed from
67400         doc/glibc-functions/iswblank_l.texi.
67401         * doc/posix-functions/iswcntrl_l.texi: Renamed from
67402         doc/glibc-functions/iswcntrl_l.texi.
67403         * doc/posix-functions/iswctype_l.texi: Renamed from
67404         doc/glibc-functions/iswctype_l.texi.
67405         * doc/posix-functions/iswdigit_l.texi: Renamed from
67406         doc/glibc-functions/iswdigit_l.texi.
67407         * doc/posix-functions/iswgraph_l.texi: Renamed from
67408         doc/glibc-functions/iswgraph_l.texi.
67409         * doc/posix-functions/iswlower_l.texi: Renamed from
67410         doc/glibc-functions/iswlower_l.texi.
67411         * doc/posix-functions/iswprint_l.texi: Renamed from
67412         doc/glibc-functions/iswprint_l.texi.
67413         * doc/posix-functions/iswpunct_l.texi: Renamed from
67414         doc/glibc-functions/iswpunct_l.texi.
67415         * doc/posix-functions/iswspace_l.texi: Renamed from
67416         doc/glibc-functions/iswspace_l.texi.
67417         * doc/posix-functions/iswupper_l.texi: Renamed from
67418         doc/glibc-functions/iswupper_l.texi.
67419         * doc/posix-functions/iswxdigit_l.texi: Renamed from
67420         doc/glibc-functions/iswxdigit_l.texi.
67421         * doc/posix-functions/isxdigit_l.texi: Renamed from
67422         doc/glibc-functions/isxdigit_l.texi.
67423         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
67424         doc/glibc-functions/mbsnrtowcs.texi.
67425         * doc/posix-functions/mkdtemp.texi: Renamed from
67426         doc/glibc-functions/mkdtemp.texi.
67427         * doc/posix-functions/newlocale.texi: Renamed from
67428         doc/glibc-functions/newlocale.texi.
67429         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
67430         doc/glibc-functions/nl_langinfo_l.texi.
67431         * doc/posix-functions/open_memstream.texi: Renamed from
67432         doc/glibc-functions/open_memstream.texi.
67433         * doc/posix-functions/opterr.texi: Renamed from
67434         doc/glibc-functions/opterr.texi.
67435         * doc/posix-functions/optind.texi: Renamed from
67436         doc/glibc-functions/optind.texi.
67437         * doc/posix-functions/optopt.texi: Renamed from
67438         doc/glibc-functions/optopt.texi.
67439         * doc/posix-functions/psignal.texi: Renamed from
67440         doc/glibc-functions/psignal.texi.
67441         * doc/posix-functions/scandir.texi: Renamed from
67442         doc/glibc-functions/scandir.texi.
67443         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
67444         doc/glibc-functions/sched_get_priority_min.texi.
67445         * doc/posix-functions/signgam.texi: Renamed from
67446         doc/glibc-functions/signgam.texi.
67447         * doc/posix-functions/stpcpy.texi: Renamed from
67448         doc/glibc-functions/stpcpy.texi.
67449         * doc/posix-functions/stpncpy.texi: Renamed from
67450         doc/glibc-functions/stpncpy.texi.
67451         * doc/posix-functions/strcasecmp_l.texi: Renamed from
67452         doc/glibc-functions/strcasecmp_l.texi.
67453         * doc/posix-functions/strcoll_l.texi: Renamed from
67454         doc/glibc-functions/strcoll_l.texi.
67455         * doc/posix-functions/strfmon_l.texi: Renamed from
67456         doc/glibc-functions/strfmon_l.texi.
67457         * doc/posix-functions/strftime_l.texi: Renamed from
67458         doc/glibc-functions/strftime_l.texi.
67459         * doc/posix-functions/strncasecmp_l.texi: Renamed from
67460         doc/glibc-functions/strncasecmp_l.texi.
67461         * doc/posix-functions/strndup.texi: Renamed from
67462         doc/glibc-functions/strndup.texi.
67463         * doc/posix-functions/strnlen.texi: Renamed from
67464         doc/glibc-functions/strnlen.texi.
67465         * doc/posix-functions/strsignal.texi: Renamed from
67466         doc/glibc-functions/strsignal.texi.
67467         * doc/posix-functions/strxfrm_l.texi: Renamed from
67468         doc/glibc-functions/strxfrm_l.texi.
67469         * doc/posix-functions/timer_gettime.texi: Renamed from
67470         doc/glibc-functions/timer_gettime.texi.
67471         * doc/posix-functions/tolower_l.texi: Renamed from
67472         doc/glibc-functions/tolower_l.texi.
67473         * doc/posix-functions/toupper_l.texi: Renamed from
67474         doc/glibc-functions/toupper_l.texi.
67475         * doc/posix-functions/towctrans_l.texi: Renamed from
67476         doc/glibc-functions/towctrans_l.texi.
67477         * doc/posix-functions/towlower_l.texi: Renamed from
67478         doc/glibc-functions/towlower_l.texi.
67479         * doc/posix-functions/towupper_l.texi: Renamed from
67480         doc/glibc-functions/towupper_l.texi.
67481         * doc/posix-functions/uselocale.texi: Renamed from
67482         doc/glibc-functions/uselocale.texi.
67483         * doc/posix-functions/vdprintf.texi: Renamed from
67484         doc/glibc-functions/vdprintf.texi.
67485         * doc/posix-functions/wcpcpy.texi:
67486         Renamed from doc/glibc-functions/wcpcpy.texi.
67487         * doc/posix-functions/wcpncpy.texi: Renamed from
67488         doc/glibc-functions/wcpncpy.texi.
67489         * doc/posix-functions/wcscasecmp.texi: Renamed from
67490         doc/glibc-functions/wcscasecmp.texi.
67491         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
67492         doc/glibc-functions/wcscasecmp_l.texi.
67493         * doc/posix-functions/wcscoll_l.texi: Renamed from
67494         doc/glibc-functions/wcscoll_l.texi.
67495         * doc/posix-functions/wcsdup.texi: Renamed from
67496         doc/glibc-functions/wcsdup.texi.
67497         * doc/posix-functions/wcsncasecmp.texi: Renamed from
67498         doc/glibc-functions/wcsncasecmp.texi.
67499         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
67500         doc/glibc-functions/wcsncasecmp_l.texi.
67501         * doc/posix-functions/wcsnlen.texi: Renamed from
67502         doc/glibc-functions/wcsnlen.texi.
67503         * doc/posix-functions/wcsnrtombs.texi: Renamed from
67504         doc/glibc-functions/wcsnrtombs.texi.
67505         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
67506         doc/glibc-functions/wcsxfrm_l.texi.
67507         * doc/posix-functions/wctrans_l.texi: Renamed from
67508         doc/glibc-functions/wctrans_l.texi.
67509         * doc/posix-functions/wctype_l.texi: Renamed from
67510         doc/glibc-functions/wctype_l.texi.
67511         * doc/gnulib.texi (Function Substitutes): Add these subsections.
67512         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
67513         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
67514         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
67515         these subsections.
67516         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
67517         Remove sections.
67519 2008-12-14  Bruno Haible  <bruno@clisp.org>
67521         Update doc for POSIX:2008.
67522         * doc/posix-functions/*.texi: Update URL of POSIX specification.
67524 2008-12-14  Bruno Haible  <bruno@clisp.org>
67526         Update doc for POSIX:2008.
67527         * doc/pastposix-functions/bcmp.texi: Renamed from
67528         doc/posix-functions/bcmp.texi.
67529         * doc/pastposix-functions/bcopy.texi: Renamed from
67530         doc/posix-functions/bcopy.texi.
67531         * doc/pastposix-functions/bsd_signal.texi: Renamed from
67532         doc/posix-functions/bsd_signal.texi.
67533         * doc/pastposix-functions/bzero.texi: Renamed from
67534         doc/posix-functions/bzero.texi.
67535         * doc/pastposix-functions/ecvt.texi: Renamed from
67536         doc/posix-functions/ecvt.texi.
67537         * doc/pastposix-functions/fcvt.texi: Renamed from
67538         doc/posix-functions/fcvt.texi.
67539         * doc/pastposix-functions/ftime.texi: Renamed from
67540         doc/posix-functions/ftime.texi.
67541         * doc/pastposix-functions/gcvt.texi: Renamed from
67542         doc/posix-functions/gcvt.texi.
67543         * doc/pastposix-functions/getcontext.texi: Renamed from
67544         doc/posix-functions/getcontext.texi.
67545         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
67546         doc/posix-functions/gethostbyaddr.texi.
67547         * doc/pastposix-functions/gethostbyname.texi: Renamed from
67548         doc/posix-functions/gethostbyname.texi.
67549         * doc/pastposix-functions/getwd.texi: Renamed from
67550         doc/posix-functions/getwd.texi.
67551         * doc/pastposix-functions/h_errno.texi: Renamed from
67552         doc/posix-functions/h_errno.texi.
67553         * doc/pastposix-functions/index.texi: Renamed from
67554         doc/posix-functions/index.texi.
67555         * doc/pastposix-functions/makecontext.texi: Renamed from
67556         doc/posix-functions/makecontext.texi.
67557         * doc/pastposix-functions/mktemp.texi: Renamed from
67558         doc/posix-functions/mktemp.texi.
67559         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
67560         doc/posix-functions/pthread_attr_getstackaddr.texi.
67561         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
67562         doc/posix-functions/pthread_attr_setstackaddr.texi.
67563         * doc/pastposix-functions/rindex.texi: Renamed from
67564         doc/posix-functions/rindex.texi.
67565         * doc/pastposix-functions/scalb.texi: Renamed from
67566         doc/posix-functions/scalb.texi.
67567         * doc/pastposix-functions/setcontext.texi: Renamed from
67568         doc/posix-functions/setcontext.texi.
67569         * doc/pastposix-functions/swapcontext.texi: Renamed from
67570         doc/posix-functions/swapcontext.texi.
67571         * doc/pastposix-functions/ualarm.texi: Renamed from
67572         doc/posix-functions/ualarm.texi.
67573         * doc/pastposix-functions/usleep.texi: Renamed from
67574         doc/posix-functions/usleep.texi.
67575         * doc/pastposix-functions/vfork.texi: Renamed from
67576         doc/posix-functions/vfork.texi.
67577         * doc/pastposix-functions/wcswcs.texi: Renamed from
67578         doc/posix-functions/wcswcs.texi.
67579         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
67580         (Function Substitutes): Update.
67582 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67584         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
67585         m4/strerror.m4.
67587 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67588             Bruno Haible  <bruno@clisp.org>
67590         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
67592 2008-12-13  Bruno Haible  <bruno@clisp.org>
67594         * modules/strtoull (Depends-on): Remove unistd.
67596 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67598         * modules/strtoull (Depends-on): Add stdlib.
67600 2008-12-11  Simon Josefsson  <simon@josefsson.org>
67602         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
67604 2008-12-10  Jim Meyering  <meyering@redhat.com>
67606         gl_ASSERT: don't say assertions are disabled when they're not
67607         * m4/assert.m4 (gl_ASSERT): Do not make configure report
67608         "checking whether to enable assertions... no", when they are in
67609         fact enabled.  This is solely a bug in the output of configure.
67610         In spite of saying "no", NDEBUG was not defined in that case.
67611         Also, as noted by Eric Blake, leave assertions enabled upon
67612         --enable-assert=INVALID.
67614 2008-12-10  Bruno Haible  <bruno@clisp.org>
67616         Change MODULES.html to refer to POSIX:2008 where possible.
67617         * MODULES.html.sh (POSIX2008_URL): New variable.
67618         (posix_headers): Remove sys/timeb, ucontext.
67619         (posix2001_headers): New variable.
67620         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
67621         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
67622         index, makecontext, mktemp, pthread_attr_getstackaddr,
67623         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
67624         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
67625         (posix2001_functions): New variable.
67626         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
67627         otherwise.
67629 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67631         add missing include to parse-duration.c
67632         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
67633         * modules/parse-duration (Depends-on): Add xalloc.
67635         fix sed script reading maint.mk
67636         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
67637         (syntax-check-rules): Use it.
67639 2008-12-09  Bruno Haible  <bruno@clisp.org>
67641         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
67642         MacOS X 10.4/PowerPC.
67643         Reported by Simon Josefsson.
67645 2008-12-08  Jim Meyering  <meyering@redhat.com>
67647         work around mingw's lack of some S_IF definitions
67648         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
67649         Reported by Simon Josefsson.
67651 2008-12-08  Bruno Haible  <bruno@clisp.org>
67653         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
67654         applied to variables. Needed on MacOS X 10.4/PowerPC.
67655         Reported by Simon Josefsson.
67657 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
67658         and Eric Blake  <ebb9@byu.net>
67660         assert: honor --enable-assert
67661         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
67662         order to honor --enable-assert, rather than treating it as a
67663         synonym for --disable-assert.
67665 2008-12-08  Jim Meyering  <meyering@redhat.com>
67667         * lib/posixtm.c: Remove now-useless declaration of mktime.
67669         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
67671 2008-12-07  Bruno Haible  <bruno@clisp.org>
67673         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
67674         test_once): Mark functions as static.
67675         * tests/test-tls.c (test_tls): Likewise.
67677 2008-12-07  Bruno Haible  <bruno@clisp.org>
67679         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
67680         iconv_register_autodetect.
67682 2008-12-07  Jim Meyering  <meyering@redhat.com>
67684         posixtm.c: avoid a warning
67685         * lib/posixtm.c (posixtime): Don't initialize tm0.
67686         It's no longer needed to placate gcc4's -Wuninitialized,
67687         and the attempt to placate would elicit a new warning.
67689         unicodeio.c: mark unused parameters
67690         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
67691         (fallback_failure_callback): Likewise.
67693 2008-12-07  Bruno Haible  <bruno@clisp.org>
67695         * gnulib-tool (func_create_testdir): When building the tests
67696         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
67697         Reported by Simon Josefsson.
67699 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67701         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
67703 2008-12-06  Bruno Haible  <bruno@clisp.org>
67705         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
67706         Suggested by Eric Blake.
67708 2008-12-06  Bruno Haible  <bruno@clisp.org>
67710         Fix a c-stack test failure on MacOS X.
67711         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
67712         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
67713         handler for SIGBUS as well.
67714         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
67715         install a signal handler for SIGBUS as well.
67716         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
67718 2008-12-06  Bruno Haible  <bruno@clisp.org>
67720         Advocacy documentation.
67721         * doc/gnulib-intro.texi (Benefits): New section.
67722         * doc/gnulib.texi: Update.
67724 2008-12-06  Bruno Haible  <bruno@clisp.org>
67726         Document the 'manywarnings' module.
67727         * doc/manywarnings.texi: New file.
67728         * doc/gnulib.texi: Include it.
67730 2008-12-05  Eric Blake  <ebb9@byu.net>
67732         tests: silence some gcc warnings
67733         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
67734         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
67735         type mismatches.
67737 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67738             Bruno Haible  <bruno@clisp.org>
67740         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
67742 2008-11-29  Jim Meyering  <meyering@redhat.com>
67744         unicodeio.c: mark unused parameters
67745         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
67746         (fallback_failure_callback): Likewise.
67748         fts: fix a thinko
67749         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
67750         (set_stat_type): Return S_IF*-valued "type" directly.
67751         Prompted by James Youngman's spotting a related bug.
67752         Confirmed by further testing through find.
67754         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
67755         * lib/fts.c (D_TYPE): Define.
67756         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
67757         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
67758         (s_ifmt_shift_bits): New function.
67759         (set_stat_type): New function.
67760         (fts_build): When not calling fts_stat, call set_stat_type
67761         to propagate dirent.d_type info to fts_read caller.
67762         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
67763         fts_statp->st_mode type information may be valid.
67765 2008-11-28  Simon Josefsson  <simon@josefsson.org>
67767         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
67768         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
67769         <sds@gnu.org>.
67771 2008-11-20  Bruno Haible  <bruno@clisp.org>
67773         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
67774         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
67775         INCLUDE_NEXT.
67776         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
67777         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
67778         * modules/math (Makefile.am): Substitute
67779         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
67780         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
67782 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
67783             Bruno Haible  <bruno@clisp.org>
67785         * lib/stdint.in.h: Define all type macros so that their expansion is
67786         a single typedef'ed token. Fixes a compilation failure in Boost which
67787         does "using ::int8_t;".
67789 2008-11-18  Simon Josefsson  <simon@josefsson.org>
67791         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
67792         gl_MANYWARN_ALL_GCC.
67793         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
67794         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
67795         * modules/manywarnings: New file.
67796         * MODULES.html.sh: Mention manywarnings module.
67798 2008-11-18  Bruno Haible  <bruno@clisp.org>
67800         * doc/gnulib-tool.texi (Unit tests): New section.
67802 2008-11-18  Simon Josefsson  <simon@josefsson.org>
67804         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
67805         paths like 'lib/po/foo.po'.
67807 2008-11-17  Simon Josefsson  <simon@josefsson.org>
67809         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
67810         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
67812 2008-11-17  Simon Josefsson  <simon@josefsson.org>
67814         * m4/warnings.m4: Use CPPFLAGS to really check whether the
67815         parameter works.
67817 2008-11-17  Simon Josefsson  <simon@josefsson.org>
67819         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
67821 2008-11-17  Bruce Korb  <bkorb@gnu.org>
67823         * modules/parse-duration-tests: New file.
67824         * tests/test-parse-duration.sh: New file.
67825         * tests/test-parse-duration.c: New file.
67827         New module 'parse-duration'.
67828         * lib/parse-duration.h: New file.
67829         * lib/parse-duration.c: New file.
67830         * modules/parse-duration: New file.
67832 2008-11-17  Bruno Haible  <bruno@clisp.org>
67834         * tests/test-select-out.sh: Comment out the first pipe test.
67835         Reported by Simon Josefsson.
67837 2008-11-17  Bruno Haible  <bruno@clisp.org>
67839         * modules/getaddrinfo (Depends-on): Add servent, hostent.
67840         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
67841         gl_HOSTENT.
67843 2008-11-17  Bruno Haible  <bruno@clisp.org>
67845         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
67846         -lnetwork and -lnet. Needed for Haiku and BeOS.
67848 2008-11-16  Bruno Haible  <bruno@clisp.org>
67850         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
67852 2008-11-16  Bruno Haible  <bruno@clisp.org>
67854         Avoid test failure on Haiku.
67855         * tests/test-fsync.c: Include <errno.h>.
67856         (main): Don't require that fsync (0) fails.
67858 2008-11-15  Bruno Haible  <bruno@clisp.org>
67860         New module 'hostent'.
67861         * modules/hostent: New file.
67862         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
67864 2008-11-15  Bruno Haible  <bruno@clisp.org>
67866         New module 'servent'.
67867         * modules/servent: New file.
67868         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
67870 2008-11-15  Bruno Haible  <bruno@clisp.org>
67872         Avoid generating same test program with two different rules.
67873         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
67874         test-frexp to test-frexp-nolibm.
67875         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
67876         test-frexpl to test-frexpl-nolibm.
67878 2008-11-15  Bruno Haible  <bruno@clisp.org>
67880         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
67881         $(FREXPL_LIBM).
67883 2008-11-15  Bruno Haible  <bruno@clisp.org>
67885         * lib/netdb.in.h: Activate the definitions also when the system's
67886         <netdb.h> has 'struct addrinfo'.
67887         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
67888         EAI_OVERFLOW or AI_NUMERICSERV.
67889         * doc/posix-headers/netdb.texi: Document the problem.
67891 2008-11-15  Bruno Haible  <bruno@clisp.org>
67893         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
67895         Make the 'sched' module work on platforms where <sched.h> exists but
67896         is incomplete (such as Haiku).
67897         * lib/sched.in.h; Include the system's <sched.h> if it exists.
67898         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
67899         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
67900         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
67901         HAVE_STRUCT_SCHED_PARAM.
67902         * modules/sched (Depends-on): Add include_next.
67903         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
67904         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
67905         * doc/posix-headers/sched.texi: Document the issue.
67907 2008-11-13  Jim Meyering  <meyering@redhat.com>
67909         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
67910         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
67911         test would fail due to the difference in the Report bugs to ...
67912         line.  The expected address is empty, "<>", while the actual
67913         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
67915 2008-11-12  Bruno Haible  <bruno@clisp.org>
67917         lstat: don't compile lstat.c on systems lacking lstat
67918         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
67919         which don't have lstat; this is handled by lib/sys_stat.in.h already.
67920         Reported by Daniel P. Berrange via Jim Meyering.
67922 2008-11-12  Jim Meyering  <meyering@redhat.com>
67924         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
67926 2008-11-12  Simon Josefsson  <simon@josefsson.org>
67928         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
67929         instead.
67931 2008-11-12  Bruno Haible  <bruno@clisp.org>
67933         * lib/unicodeio.c: Include unistr.h.
67934         (utf8_wctomb): Remove function.
67935         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
67937 2008-11-12  Simon Josefsson  <simon@josefsson.org>
67939         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
67940         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
67941         <bruno@clisp.org>.
67942         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
67944 2008-11-12  Simon Josefsson  <simon@josefsson.org>
67946         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
67947         * doc/gnulib.texi: Add section for warnings.
67949 2008-11-11  Bruno Haible  <bruno@clisp.org>
67951         * lib/sockets.h: Add a comment.
67953 2008-11-11  Karl Berry  <karl@gnu.org>
67955         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
67957 2008-11-11  Eric Blake  <ebb9@byu.net>
67959         fdl.texi: avoid git symlinks
67960         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
67962 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
67964         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
67966 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
67968         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
67969         (gl_WARN_ADD): Substitute $2 if literal.
67971 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
67973         * m4/warning.m4: Remove.
67975 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
67977         * m4/warnings.m4: Almost complete rewrite. :-)
67979 2008-11-10  Simon Josefsson  <simon@josefsson.org>
67981         * modules/warnings: New module.
67982         * m4/warnings.m4: New file.
67983         * MODULES.html.sh: Mention warnings module.
67984         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
67985         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67987 2008-11-10  Eric Blake  <ebb9@byu.net>
67989         fdl.texi: make a symlink to the latest version
67990         * doc/standards.texi: Revert today's earlier change.
67991         * doc/fdl-1.2.texi: Rename from old fdl.texi...
67992         * doc/fdl.texi: ...and replace this with a symlink to the newer
67993         fdl-1.3.texi.
67995 2008-11-10  Bruno Haible  <bruno@clisp.org>
67997         * tests/test-select-fd.c (main): Accept the result file name as fourth
67998         argument.
67999         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
68000         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
68002 2008-11-10  Bruno Haible  <bruno@clisp.org>
68004         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
68005         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
68006         as autoconf-substituted macros.
68007         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
68008         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
68009         gl_NETDB_H_DEFAULTS. Set these variables.
68010         * modules/netdb (Makefile.am): Substitute these variables.
68012 2008-11-10  Eric Blake  <ebb9@byu.net>
68014         standards.texi: include correct file for FDL 1.3
68015         * doc/standards.texi (GNU Free Documentation License): Change
68016         include file to pull in FDL 1.3, not 1.2.
68018         fdl.texi: revert accidental change to license
68019         * doc/fdl.texi: This is FDL 1.2, not 1.3.
68021 2008-11-10  Bruno Haible  <bruno@clisp.org>
68023         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
68024         cross-compiling guesses also when the native compile gives no result.
68026 2008-11-10  Bruno Haible  <bruno@clisp.org>
68028         * lib/spawni.c (__spawni): Force variable into the stack.
68030 2008-11-10  Bruno Haible  <bruno@clisp.org>
68032         Add support for Haiku.
68033         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
68034         glibc and BeOS, but also on Haiku.
68035         * lib/fpurge.c (fpurge): Likewise.
68036         * lib/freadable.c (freadable): Likewise.
68037         * lib/freadahead.c (freadahead): Likewise.
68038         * lib/freading.c (freading): Likewise.
68039         * lib/freadptr.c (freadptr): Likewise.
68040         * lib/freadseek.c (freadptrinc): Likewise.
68041         * lib/fseeko.c (rpl_fseeko): Likewise.
68042         * lib/fseterr.c (fseterr): Likewise.
68043         * lib/fwritable.c (fwritable): Likewise.
68044         * lib/fwriting.c (fwriting): Likewise.
68045         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
68047 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
68049         * lib/config.charset: Treat Haiku like BeOS.
68051 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
68053         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
68054         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
68056 2008-11-08  Bruno Haible  <bruno@clisp.org>
68058         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
68059         AC_CACHE_CHECK.
68061 2008-11-08  Bruno Haible  <bruno@clisp.org>
68063         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
68065 2008-11-08  Bruno Haible  <bruno@clisp.org>
68067         * tests/test-select-fd.c: New file.
68068         * tests/test-select-in.sh: New file.
68069         * tests/test-select-out.sh: New file.
68070         * tests/test-select-stdin.c: New file.
68071         * modules/select-tests (Files): Add the new files.
68072         (Depends-on): Add gettimeofday.
68073         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
68074         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
68075         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
68077 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
68078             Bruno Haible  <bruno@clisp.org>
68080         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
68082 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
68084         * build-aux/pmccabe2html: Added support for C++ source files.
68086 2008-11-05  Ben Pfaff  <blp@gnu.org>
68088         Fix lib/close.c build on Windows.
68089         * modules/close (Files): Add lib/w32sock.h.
68091 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
68093         Accept Bison's NEWS format.
68094         * build-aux/announce-gen (print_news_deltas): Tweak
68095         $re_prefix.
68097 2008-11-04  Bruno Haible  <bruno@clisp.org>
68099         * modules/random_r (Maintainer): Add glibc.
68101 2008-11-04  Simon Josefsson  <simon@josefsson.org>
68103         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
68104         by karl@freefriends.org (Karl Berry).
68105         * doc/alloca.texi: Likewise.
68106         * doc/c-ctype.texi: Likewise.
68107         * doc/c-strcase.texi: Likewise.
68108         * doc/c-strcaseeq.texi: Likewise.
68109         * doc/c-strcasestr.texi: Likewise.
68110         * doc/c-strstr.texi: Likewise.
68111         * doc/c-strtod.texi: Likewise.
68112         * doc/c-strtold.texi: Likewise.
68113         * doc/ctime.texi: Likewise.
68114         * doc/error.texi: Likewise.
68115         * doc/fdl.texi: Likewise.
68116         * doc/gcd.texi: Likewise.
68117         * doc/getdate.texi: Likewise.
68118         * doc/gnulib-intro.texi: Likewise.
68119         * doc/gnulib-tool.texi: Likewise.
68120         * doc/gnulib.texi: Likewise.
68121         * doc/inet_ntoa.texi: Likewise.
68122         * doc/maintain.texi: Likewise.
68123         * doc/make-stds.texi: Likewise.
68124         * doc/quote.texi: Likewise.
68125         * doc/regexprops-generic.texi: Likewise.
68126         * doc/standards.texi: Likewise.
68127         * doc/verify.texi: Likewise.
68128         * doc/visibility.texi: Likewise.
68129         * doc/gnulib.texi (GNU Free Documentation License): Include
68130         fdl-1.3.texi instead of fdl.texi.
68132 2008-11-04  Simon Josefsson  <simon@josefsson.org>
68134         * doc/fdl-1.3.texi: New file, from
68135         <http://www.gnu.org/licenses/fdl-1.3.texi>.
68136         * modules/fdl-1.3: Add.
68137         * MODULES.html.sh: Add fdl-1.3.
68139 2008-11-03  Bruno Haible  <bruno@clisp.org>
68141         Make determination of absolute name of header file work with AIX xlc.
68142         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
68143         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
68144         preprocessing.
68145         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
68146         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
68148 2008-11-03  Simon Josefsson  <simon@josefsson.org>
68150         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
68151         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
68152         <ludo@gnu.org>.
68154 2008-11-02  Bruno Haible  <bruno@clisp.org>
68156         Mark 'strpbrk' obsolete.
68157         * modules/strpbrk (Status, Notice): New sections.
68158         * modules/strtok_r (Depends-on): Add strpbrk.
68160 2008-11-02  Bruno Haible  <bruno@clisp.org>
68162         Mark 'strdup' obsolete.
68163         * modules/strdup (Status, Notice): New sections.
68164         * modules/findprog (Depends-on): Add strdup.
68165         * modules/getaddrinfo (Depends-on): Likewise.
68166         * modules/localename (Depends-on): Likewise.
68167         * modules/relocatable-lib (Depends-on): Likewise.
68168         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
68169         * modules/relocatable-prog (Depends-on): Likewise.
68170         * modules/trim (Depends-on): Likewise.
68171         * modules/unictype/gen-ctype (Depends-on): Likewise.
68172         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
68174 2008-11-02  Bruno Haible  <bruno@clisp.org>
68176         Mark 'strcspn' obsolete.
68177         * modules/strcspn (Status, Notice): New sections.
68179 2008-11-02  Bruno Haible  <bruno@clisp.org>
68181         Mark 'rmdir' obsolete.
68182         * modules/rmdir (Status, Notice): New sections.
68183         * modules/clean-temp (Depends-on): Add rmdir.
68184         * modules/openat (Depends-on): Likewise.
68186 2008-11-02  Bruno Haible  <bruno@clisp.org>
68188         Mark 'raise' obsolete.
68189         * modules/raise (Status, Notice): New sections.
68190         (Include): Specify <signal.h>.
68191         * modules/stdio (Depends-on): Add raise.
68192         * modules/write (Depends-on): Likewise.
68194 2008-11-02  Bruno Haible  <bruno@clisp.org>
68196         Mark 'memset' obsolete.
68197         * modules/memset (Status, Notice): New sections.
68199 2008-11-02  Bruno Haible  <bruno@clisp.org>
68201         Mark 'memmove' obsolete.
68202         * modules/memmove (Status, Notice): New sections.
68203         * modules/argp (Depends-on): Add memmove.
68204         * modules/argz (Depends-on): Likewise.
68205         * modules/canonicalize (Depends-on): Likewise.
68206         * modules/canonicalize-lgpl (Depends-on): Likewise.
68207         * modules/fts (Depends-on): Likewise.
68208         * modules/getcwd (Depends-on): Likewise.
68209         * modules/human (Depends-on): Likewise.
68210         * modules/regex (Depends-on): Likewise.
68211         * modules/striconveh (Depends-on): Likewise.
68212         * modules/trim (Depends-on): Likewise.
68213         * modules/unistr/u8-move (Depends-on): Likewise.
68214         * modules/unistr/u16-move (Depends-on): Likewise.
68215         * modules/unistr/u32-move (Depends-on): Likewise.
68217 2008-11-02  Bruno Haible  <bruno@clisp.org>
68219         Mark 'memcpy' obsolete.
68220         * modules/memcpy (Status, Notice): New sections.
68222 2008-11-02  Bruno Haible  <bruno@clisp.org>
68224         Mark 'memcmp' obsolete.
68225         * modules/memcmp (Status, Notice): New sections.
68226         * modules/argmatch (Depends-on): Add memchr.
68227         * modules/backupfile (Depends-on): Likewise.
68228         * modules/c-strcasestr (Depends-on): Likewise.
68229         * modules/crypto/des (Depends-on): Likewise.
68230         * modules/csharpcomp (Depends-on): Likewise.
68231         * modules/fnmatch (Depends-on): Likewise.
68232         * modules/git-merge-changelog (Depends-on): Likewise.
68233         * modules/isnand (Depends-on): Likewise.
68234         * modules/isnand-nolibm (Depends-on): Likewise.
68235         * modules/isnanf (Depends-on): Likewise.
68236         * modules/isnanf-nolibm (Depends-on): Likewise.
68237         * modules/isnanl (Depends-on): Likewise.
68238         * modules/isnanl-nolibm (Depends-on): Likewise.
68239         * modules/mbchar (Depends-on): Likewise.
68240         * modules/memcoll (Depends-on): Likewise.
68241         * modules/quotearg (Depends-on): Likewise.
68242         * modules/regex (Depends-on): Likewise.
68243         * modules/relocatable-prog (Depends-on): Likewise.
68244         * modules/same (Depends-on): Likewise.
68245         * modules/signbit (Depends-on): Likewise.
68246         * modules/strcasestr-simple (Depends-on): Likewise.
68247         * modules/unictype/gen-ctype (Depends-on): Likewise.
68248         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
68249         * modules/uniname/uniname (Depends-on): Likewise.
68250         * modules/unistr/u8-cmp (Depends-on): Likewise.
68252 2008-11-02  Bruno Haible  <bruno@clisp.org>
68254         Mark 'memchr' obsolete.
68255         * modules/memchr (Status, Notice): New sections.
68256         * modules/argp (Depends-on): Add memchr.
68257         * modules/base64 (Depends-on): Likewise.
68258         * modules/c-strcasestr (Depends-on): Likewise.
68259         * modules/chdir-long (Depends-on): Likewise.
68260         * modules/fnmatch (Depends-on): Likewise.
68261         * modules/getsubopt (Depends-on): Likewise.
68262         * modules/git-merge-changelog (Depends-on): Likewise.
68263         * modules/glob (Depends-on): Likewise.
68264         * modules/strcasestr-simple (Depends-on): Likewise.
68265         * modules/strnlen (Depends-on): Likewise.
68267 2008-11-02  Bruno Haible  <bruno@clisp.org>
68269         Mark 'atexit' obsolete.
68270         * modules/atexit (Status, Notice): New sections.
68271         * modules/chdir-long (Depends-on): Add atexit.
68272         * modules/wait-process (Depends-on): Likewise.
68274 2008-11-02  Bruno Haible  <bruno@clisp.org>
68276         * gnulib-tool: New option --with-obsolete.
68277         (func_usage): Document it.
68278         (func_modules_transitive_closure): Drop obsolete dependencies if
68279         incobsolete is not true.
68280         (func_import): Read and save the incobsolete variable to the cache.
68282 2008-11-02  Bruno Haible  <bruno@clisp.org>
68284         * modules/TEMPLATE-EXTENDED: New field 'Status'.
68285         * gnulib-tool: New option --extract-status.
68286         (func_usage): Document it.
68287         (sed_extract_prog): Recognize it.
68288         (func_get_status): New function.
68290 2008-10-30  Simon Josefsson  <simon@josefsson.org>
68292         * modules/sockets (License): Change from LGPL to LGPLv2+.
68294 2008-10-28  Simon Josefsson  <simon@josefsson.org>
68296         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
68298 2008-10-28  Simon Josefsson  <simon@josefsson.org>
68300         * MODULES.html.sh (Support for systems lacking POSIX:2001):
68301         Mention times and sys_times.
68302         * modules/sys_times, modules/sys_times-tests: New modules.
68303         * modules/times, modules/times-tests: Likewise
68304         * m4/sys_times_h.m4: New file.
68305         * lib/sys_times.in.h: Likewise
68306         * lib/times.c: Likewise.
68307         * tests/test-sys_times.c: Likewise.
68308         * tests/test-times.c: Likewise.
68309         * doc/posix-headers/sys_times.texi: Update.
68310         * doc/posix-functions/times.texi: Update.
68312 2008-10-28  Jim Meyering  <meyering@redhat.com>
68314         * modules/tempname (Depends-on): Add lstat.
68316         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
68318 2008-10-28  Simon Josefsson  <simon@josefsson.org>
68320         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
68321         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
68322         using idiom used elsewhere in gnulib.
68324 2008-10-27  Jim Meyering  <meyering@redhat.com>
68326         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
68328 2008-10-27  Simon Josefsson  <simon@josefsson.org>
68330         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
68331         TESTS_ENVIRONMENT, for shell scripts that needs to call built
68332         programs.
68333         * tests/test-argp-2.sh: Use $EXEEXT when needed.
68335 2008-10-27  Simon Josefsson  <simon@josefsson.org>
68337         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
68339 2008-10-27  Bruno Haible  <bruno@clisp.org>
68341         * tests/test-lstat.c: Include <stdio.h>.
68343 2008-10-27  Simon Josefsson  <simon@josefsson.org>
68345         * modules/lstat-tests: New module.
68346         * tests/test-lstat.c: New file.
68348 2008-10-26  Jim Meyering  <meyering@redhat.com>
68350         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
68352 2008-10-26  Simon Josefsson  <simon@josefsson.org>
68353             Bruno Haible  <bruno@clisp.org>
68355         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
68356         * modules/configmake (Include): Add a note that the include must come
68357         after all system headers.
68358         * lib/javaversion.c: Include configmake.h after all other includes.
68360 2008-10-26  Bruno Haible  <bruno@clisp.org>
68362         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
68363         HAVE_STRUCT_RANDOM_DATA to 1.
68364         (gl_STDLIB_H): Simplify.
68366 2008-10-26  Simon Josefsson  <simon@josefsson.org>
68368         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
68369         substitute HAVE_STRUCT_RANDOM_DATA.
68370         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
68371         random_data.
68372         * modules/stdlib (Makefile.am): Substitute
68373         HAVE_STRUCT_RANDOM_DATA.
68375 2008-10-26  Simon Josefsson  <simon@josefsson.org>
68377         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
68378         * doc/gnulib-intro.texi (Copyright): Likewise.
68380 2008-10-26  Simon Josefsson  <simon@josefsson.org>
68382         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
68383         findings.
68385 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
68386             Bruno Haible  <bruno@clisp.org>
68388         * lib/unistd.in.h: Include <winsock2.h>.
68389         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
68390         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
68391         Provide dummy declarations.
68392         (gethostname): Override.
68393         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
68394         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
68395         gl_PREREQ_SYS_H_WINSOCK2.
68396         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
68397         * doc/posix-functions/gethostname.texi: More details.
68399 2008-10-25  Bruno Haible  <bruno@clisp.org>
68401         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
68402         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
68403         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
68405         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
68406         here ...
68407         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
68408         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
68409         gl_UNISTD_H_DEFAULTS.
68411 2008-10-25  Eric Blake  <ebb9@byu.net>
68413         signbit: avoid spurious compiler failure
68414         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
68415         declarations inside function.
68417 2008-10-24  Simon Josefsson  <simon@josefsson.org>
68418             Bruno Haible  <bruno@clisp.org>
68420         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
68421         * modules/random_r (Depends-on): Add stdint.
68423 2008-10-24  Bruno Haible  <bruno@clisp.org>
68425         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
68426         Eggert.
68427         * modules/strerror (License): Likewise.
68429 2008-10-24  Jim Meyering  <meyering@redhat.com>
68431         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
68432         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
68434 2008-10-24  Eric Blake  <ebb9@byu.net>
68436         getgroups: fix compilation when getgroups is available
68437         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
68438         but with <config.h> override of getgroups disabled.
68440 2008-10-24  Simon Josefsson  <simon@josefsson.org>
68442         * doc/gnulib.texi (Header files): Add note about C++ problems.
68443         Explained by Bruno Haible <bruno@clisp.org>.
68445 2008-10-23  Bruno Haible  <bruno@clisp.org>
68447         Define a dummy SA_NODEFER macro on Interix.
68448         * lib/signal.in.h (SA_NODEFER): Define fallback.
68449         Reported by Aleksey Cheusov <cheusov@tut.by> via
68450         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
68452 2008-10-23  Bruno Haible  <bruno@clisp.org>
68454         * modules/freadahead (License): Change to LGPLv2+.
68455         Suggested by Simon Josefsson.
68457 2008-10-23  Jim Meyering  <meyering@redhat.com>
68459         random_r: new module
68460         * modules/random_r: New file.
68461         * m4/random_r.m4: New file.
68462         * lib/random_r.c: New file, from glibc.
68463         * modules/random_r-tests: New file.
68464         * tests/test-random_r.c: New file.
68465         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
68466          Declare.
68467         (RAND_MAX): Define.
68468         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
68469         * modules/stdlib: Substitute them, too.
68470         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
68471         * doc/glibc-functions/initstate_r.texi: Mention the new module.
68472         * doc/glibc-functions/random_r.texi: Likewise.
68473         * doc/glibc-functions/setstate_r.texi: Likewise.
68474         * doc/glibc-functions/srandom_r.texi: Likewise.
68475         * config/srclist.txt: Mention it.
68477 2008-10-23  David Lutterkort  <lutter@redhat.com>
68479         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
68480         link requirement
68482 2008-10-23  Jim Meyering  <meyering@redhat.com>
68484         selinux-h: mark parameters of stub functions as intentionally unused
68485         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
68486         * lib/se-context.in.h: Likewise.
68488 2008-10-22  Simon Josefsson  <simon@josefsson.org>
68490         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
68492 2008-10-22  Simon Josefsson  <simon@josefsson.org>
68494         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
68496 2008-10-22  Eric Blake  <ebb9@byu.net>
68498         glthread/thread: avoid compiler warning
68499         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
68500         Add unreachable abort to silence compiler.
68502 2008-10-22  Eric Blake  <ebb9@byu.net>
68504         netdb: also supply struct addrinfo for cygwin 1.5.x
68505         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
68506         older cygwin.
68507         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
68508         cygwin.
68509         * doc/posix-headers/netdb.texi (netdb.h): Document this.
68511 2008-10-22  Bruno Haible  <bruno@clisp.org>
68513         * users.txt: Update entry about pspp.
68515 2008-10-21  Bruno Haible  <bruno@clisp.org>
68517         Simplification.
68518         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
68519         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
68521         Simplification.
68522         * lib/ioctl.c (ioctl): Don't undefine.
68523         * lib/socket.c (socket): Don't undefine.
68525         Remove unused module indicator macros.
68526         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
68527         GNULIB_$1 as a C macro.
68529         * doc/posix-functions/close.texi: Undo last change.
68530         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
68531         Windows platforms.
68533 2008-10-21  Bruno Haible  <bruno@clisp.org>
68535         Add gethostname() declaration to <unistd.h>.
68536         * lib/unistd.in.h (gethostname): New declaration.
68537         * lib/gethostname.c: Include <unistd.h>.
68538         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
68539         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
68540         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
68541         and HAVE_GETHOSTNAME.
68542         * modules/gethostname (Depends-on): Add unistd.
68543         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68544         (Include): Specify <unistd.h>.
68545         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
68546         HAVE_GETHOSTNAME.
68547         * tests/test-gethostname.c: Include <unistd.h> first.
68549 2008-10-21  Bruno Haible  <bruno@clisp.org>
68551         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
68552         * modules/select-tests (Depends-on): Likewise.
68553         Reported by Simon Josefsson.
68555 2008-10-21  Simon Josefsson  <simon@josefsson.org>
68557         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
68558         * lib/accept.c: New file, based on winsock.c.
68559         * lib/bind.c: New file, based on winsock.c.
68560         * lib/connect.c: New file, based on winsock.c.
68561         * lib/getpeername.c: New file, based on winsock.c.
68562         * lib/getsockname.c: New file, based on winsock.c.
68563         * lib/getsockopt.c: New file, based on winsock.c.
68564         * lib/ioctl.c: New file, based on winsock.c.
68565         * lib/listen.c: New file, based on winsock.c.
68566         * lib/recv.c: New file, based on winsock.c.
68567         * lib/recvfrom.c: New file, based on winsock.c.
68568         * lib/send.c: New file, based on winsock.c.
68569         * lib/sendto.c: New file, based on winsock.c.
68570         * lib/setsockopt.c: New file, based on winsock.c.
68571         * lib/shutdown.c: New file, based on winsock.c.
68572         * lib/socket.c: New file, based on winsock.c.
68573         * lib/w32sock.h: New file, based on winsock.c.
68574         * lib/winsock.c: Remove file.
68575         * modules/accept: Likewise.
68576         * modules/bind: Likewise.
68577         * modules/connect: Likewise.
68578         * modules/getpeername: Likewise.
68579         * modules/getsockname: Likewise.
68580         * modules/getsockopt: Likewise.
68581         * modules/ioctl: Likewise.
68582         * modules/listen: Likewise.
68583         * modules/recv: Likewise.
68584         * modules/recvfrom: Likewise.
68585         * modules/send: Likewise.
68586         * modules/sendto: Likewise.
68587         * modules/setsockopt: Likewise.
68588         * modules/shutdown: Likewise.
68589         * modules/socket: Use socket.c instead of winsock.c.
68590         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
68591         * doc/posix-functions/accept.texi: Doc fix.
68592         * doc/posix-functions/bind.texi: Doc fix.
68593         * doc/posix-functions/close.texi: Doc fix.
68594         * doc/posix-functions/connect.texi: Doc fix.
68595         * doc/posix-functions/getpeername.texi: Doc fix.
68596         * doc/posix-functions/getsockname.texi: Doc fix.
68597         * doc/posix-functions/getsockopt.texi: Doc fix.
68598         * doc/posix-functions/ioctl.texi: Doc fix.
68599         * doc/posix-functions/listen.texi: Doc fix.
68600         * doc/posix-functions/recv.texi: Doc fix.
68601         * doc/posix-functions/recvfrom.texi: Doc fix.
68602         * doc/posix-functions/send.texi: Doc fix.
68603         * doc/posix-functions/sendto.texi: Doc fix.
68604         * doc/posix-functions/setsockopt.texi: Doc fix.
68605         * doc/posix-functions/shutdown.texi: Doc fix.
68606         * doc/posix-functions/socket.texi: Doc fix.
68608 2008-10-20  Bruno Haible  <bruno@clisp.org>
68610         Take into account the role of SIGABRT_COMPAT on Windows 2008.
68611         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
68612         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
68613         as an alias for SIGABRT.
68614         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
68615         (sigaction): Map it to SIGABRT.
68616         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
68618 2008-10-20  Bruno Haible  <bruno@clisp.org>
68620         * lib/fts.c: Don't include lstat.h.
68621         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
68623         Move the lstat() declaration to <sys/stat.h>.
68624         * lib/lstat.h: Remove file.
68625         * lib/sys_stat.in.h: Add special invocation convention.
68626         (lstat): New declaration.
68627         * lib/lstat.c (orig_lstat): New function.
68628         (rpl_lstat): Use orig_lstat instead of lstat.
68629         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
68630         AC_C_INLINE. Set REPLACE_LSTAT.
68631         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
68632         and REPLACE_LSTAT.
68633         * modules/lstat (Files): Remove lib/lstat.h.
68634         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
68635         (Include): Specify <sys/stat.h> instead of lstat.h.
68636         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
68637         REPLACE_LSTAT.
68638         * NEWS: Mention the change.
68640 2008-10-20  Bruno Haible  <bruno@clisp.org>
68642         * modules/posix_spawn-tests: New file.
68643         * tests/test-posix_spawn3.c: New file.
68645 2008-10-20  Bruno Haible  <bruno@clisp.org>
68647         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
68648         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
68649         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
68650         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
68651         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
68653 2008-10-20  Bruno Haible  <bruno@clisp.org>
68655         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
68656         of posix_spawn on AIX 5.3.
68658 2008-10-20  Bruno Haible  <bruno@clisp.org>
68660         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
68662 2008-10-20  Bruno Haible  <bruno@clisp.org>
68664         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
68665         of AC_LANG_PROGRAM.
68667 2008-10-20  Simon Josefsson  <simon@josefsson.org>
68669         * lib/netdb.in.h: Don't define GNU specific constants until they
68670         are supported or needed.  Reported by Bruno Haible
68671         <bruno@clisp.org>.
68673 2008-10-20  Simon Josefsson  <simon@josefsson.org>
68675         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
68677 2008-10-20  Simon Josefsson  <simon@josefsson.org>
68679         * lib/getaddrinfo.h: Remove file.
68680         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
68681         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
68682         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
68683         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
68684         * modules/netdb: Substitute GNULIB_GETADDRINFO.
68685         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
68686         * tests/test-getaddrinfo.c: Likewise.
68687         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
68688         * NEWS: Mention change.
68690 2008-10-19  Bruno Haible  <bruno@clisp.org>
68692         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
68694 2008-10-19  Bruno Haible  <bruno@clisp.org>
68696         * lib/wait-process.c: Include simply <sys/wait.h>.
68697         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
68698         WIFSTOPPED): Remove fallback definitions.
68699         * modules/wait-process (Depends-on): Add sys_wait.
68701         New module 'sys_wait'.
68702         * modules/sys_wait: New file.
68703         * lib/sys_wait.in.h: New file, partially copied from
68704         lib/wait-process.c.
68705         * m4/sys_wait_h.m4: New file.
68706         * doc/posix-headers/sys_wait.texi: Mention the new module.
68708 2008-10-19  Bruno Haible  <bruno@clisp.org>
68710         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
68712 2008-10-19  Bruno Haible  <bruno@clisp.org>
68714         Assume that waitpid() fills an 'int' status, not a 'union wait'.
68715         * lib/wait-process.c (WAIT_T): Remove type.
68716         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
68717         (wait_subprocess): Update.
68719 2008-10-19  Bruno Haible  <bruno@clisp.org>
68721         New module 'atoll'.
68722         * modules/atoll: New file.
68723         * lib/stdlib.in.h (atoll): New declaration.
68724         * lib/atoll.c: New file, from glibc with modifications.
68725         * m4/atoll.m4: New file.
68726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
68727         HAVE_ATOLL.
68728         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
68729         * doc/posix-functions/atoll.texi: Mention the new module.
68731 2008-10-19  Bruno Haible  <bruno@clisp.org>
68733         Add strtoull() declaration to <stdlib.h>.
68734         * lib/stdlib.in.h (strtoull): New declaration.
68735         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
68736         Set HAVE_STRTOULL.
68737         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
68738         HAVE_STRTOULL.
68739         * modules/strtoull (Depends-on): Add stdlib.
68740         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68741         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
68742         HAVE_STRTOULL.
68744 2008-10-19  Bruno Haible  <bruno@clisp.org>
68746         Add strtoll() declaration to <stdlib.h>.
68747         * lib/stdlib.in.h (strtoll): New declaration.
68748         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
68749         Set HAVE_STRTOLL.
68750         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
68751         HAVE_STRTOLL.
68752         * modules/strtoll (Depends-on): Add stdlib.
68753         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68754         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
68756 2008-10-19  Bruno Haible  <bruno@clisp.org>
68758         * modules/bcopy (Depends-on): Add strings.
68759         (Include): Specify <strings.h>.
68761 2008-10-19  Bruno Haible  <bruno@clisp.org>
68763         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
68765 2008-10-19  Bruno Haible  <bruno@clisp.org>
68767         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
68768         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
68769         mingw.
68771 2008-10-19  Bruno Haible  <bruno@clisp.org>
68773         * lib/atanl.c: Don't include isnanl.h.
68774         * lib/cosl.c: Likewise.
68775         * lib/ldexpl.c: Likewise.
68776         * lib/logl.c: Likewise.
68777         * lib/sinl.c: Likewise.
68778         * lib/sqrtl.c: Likewise.
68779         * lib/tanl.c: Likewise.
68781         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
68782         * lib/isnanf.h: Remove file.
68783         * lib/isnand.h: Remove file.
68784         * lib/isnanl.h: Remove file.
68785         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
68786         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
68787         macros.
68788         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
68789         HAVE_ISNANF, don't define it as a C macro.
68790         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
68791         HAVE_ISNAND, don't define it as a C macro.
68792         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
68793         HAVE_ISNANL, don't define it as a C macro.
68794         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
68795         HAVE_ISNAN[FDL].
68796         * modules/isnanf (Files): Remove lib/isnanf.h.
68797         (Depends-on): Add math.
68798         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
68799         (Include): Specify <math.h> instead of isnanf.h.
68800         * modules/isnand (Files): Remove lib/isnand.h.
68801         (Depends-on): Add math.
68802         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
68803         (Include): Specify <math.h> instead of isnand.h.
68804         * modules/isnanl (Files): Remove lib/isnanl.h.
68805         (Depends-on): Add math.
68806         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
68807         (Include): Specify <math.h> instead of isnanl.h.
68808         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
68809         HAVE_ISNAN[FDL].
68810         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
68811         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
68812         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
68813         * NEWS: Mention the change.
68815 2008-10-18  Bruno Haible  <bruno@clisp.org>
68817         Add getusershell(), setusershell(), endusershell() declarations to
68818         <unistd.h>.
68819         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
68820         declarations.
68821         * lib/getusershell.c: Include unistd.h.
68822         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
68823         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
68824         HAVE_GETUSERSHELL.
68825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
68826         and HAVE_GETUSERSHELL.
68827         * modules/getusershell (Depends-on): Add unistd, extensions.
68828         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68829         (Include): Specify <unistd.h>.
68830         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
68831         HAVE_GETUSERSHELL.
68833 2008-10-18  Bruno Haible  <bruno@clisp.org>
68835         Add a getloadavg() declaration to <stdlib.h>.
68836         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
68837         getloadavg declaration.
68838         (getloadavg): New declaration.
68839         * lib/getloadavg.c: Include <stdlib.h> first.
68840         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
68841         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
68842         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
68843         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
68844         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
68845         * modules/getloadavg (Depends-on): Add stdlib, extensions.
68846         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
68847         (Include): Specify <stdlib.h>.
68848         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
68849         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
68851 2008-10-18  Bruno Haible  <bruno@clisp.org>
68853         * lib/dirchownmod.c: Don't include lchmod.h.
68855         Move the lchmod() declaration to <sys/stat.h>.
68856         * lib/lchmod.h: Remove file.
68857         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
68858         (lchmod): New declaration, moved here from lib/lchown.h.
68859         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
68860         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
68861         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
68862         and HAVE_LCHMOD.
68863         * modules/lchmod (Files): Remove lib/lchmod.h.
68864         (Depends-on): Add sys_stat, extensions.
68865         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
68866         (Include): Specify <sys/stat.h> instead of lchmod.h.
68867         * modules/sys_stat (Depends-on): Add link-warning.
68868         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
68869         definition of GL_LINK_WARNING.
68870         * NEWS: Mention the change.
68872 2008-10-18  Bruno Haible  <bruno@clisp.org>
68874         * lib/fchdir.c: Don't include dirfd.h.
68875         * lib/fts.c: Likewise.
68876         * lib/getcwd.c: Likewise.
68877         * lib/glob.c: Likewise.
68879         Move the dirfd() declaration to <dirent.h>.
68880         * lib/dirfd.h: Remove file.
68881         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
68882         (dirfd): New declaration.
68883         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
68884         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
68885         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
68886         HAVE_DECL_DIRFD.
68887         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
68888         HAVE_DECL_DIRFD.
68889         * modules/dirfd (Files): Remove lib/dirfd.h.
68890         (Depends-on): Add dirent, extensions.
68891         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
68892         (Include): Specify <dirent.h> instead of dirfd.h.
68893         * modules/dirent (Depends-on): Add link-warning.
68894         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
68895         definition of GL_LINK_WARNING.
68896         * NEWS: Mention the change.
68898 2008-10-18  Bruno Haible  <bruno@clisp.org>
68900         Move the euidaccess() declaration to <unistd.h>.
68901         * lib/euidaccess.h: Remove file.
68902         * lib/unistd.in.h (euidaccess): New declaration.
68903         * lib/euidaccess.c: Don't include euidaccess.h.
68904         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
68905         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
68906         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
68907         and HAVE_EUIDACCESS.
68908         * modules/euidaccess (Files): Remove lib/euidaccess.h.
68909         (Depends-on): Add unistd.
68910         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68911         (Include): Specify <unistd.h> instead of euidaccess.h.
68912         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
68913         HAVE_EUIDACCESS.
68914         * NEWS: Mention the change.
68916 2008-10-18  Bruno Haible  <bruno@clisp.org>
68918         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
68920         Move the getdomainname() declaration to <unistd.h>.
68921         * lib/getdomainname.h: Remove file.
68922         * lib/unistd.in.h (getdomainname): New declaration.
68923         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
68924         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
68925         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
68926         HAVE_GETDOMAINNAME.
68927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
68928         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
68929         * modules/getdomainname (Files): Remove lib/getdomainname.h.
68930         (Depends-on): Add unistd, extensions.
68931         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
68932         (Includes): Specify <unistd.h> instead of getdomainname.h.
68933         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
68934         HAVE_GETDOMAINNAME.
68935         * NEWS: Mention the change.
68937 2008-10-18  Bruno Haible  <bruno@clisp.org>
68939         * modules/dirent: New file.
68940         * m4/dirent_h.m4: New file.
68941         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
68942         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
68943         * modules/fchdir (Files): Remove lib/dirent.in.h.
68944         (Depends-on): Add dirent.
68945         (Makefile.am): Move rules to modules/dirent.
68946         * doc/posix-headers/dirent.texi: Mention the new module.
68948 2008-10-18  Bruno Haible  <bruno@clisp.org>
68950         Avoid -Wunused-parameter warnings in public gnulib header files.
68951         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
68952         macro.
68953         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
68955 2008-10-18  Bruno Haible  <bruno@clisp.org>
68957         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
68958         * doc/glibc-functions/error.texi: Mention the module 'error'.
68959         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
68960         * doc/glibc-functions/getdomainname.texi: Mention the module
68961         'getdomainname'.
68962         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
68963         * doc/glibc-functions/getpagesize.texi: Mention the module
68964         'getpagesize'.
68965         * doc/glibc-functions/getusershell.texi: Mention the module
68966         'getusershell'.
68967         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
68968         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
68969         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
68970         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
68971         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
68972         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
68973         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
68974         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
68975         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
68976         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
68977         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
68978         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
68979         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
68980         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
68982 2008-10-17  Bruno Haible  <bruno@clisp.org>
68984         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
68985         HP-UX and IRIX, use -0.0L.
68986         * tests/test-ceill.c (minus_zero): Likewise.
68987         * tests/test-floorl.c (minus_zero): Likewise.
68988         * tests/test-frexpl.c (minus_zero): Likewise.
68989         * tests/test-isnan.c (minus_zerol): Likewise.
68990         * tests/test-isnanl.h (minus_zero): Likewise.
68991         * tests/test-ldexpl.c (minus_zero): Likewise.
68992         * tests/test-roundl.c (minus_zero): Likewise.
68993         * tests/test-signbit.c (minus_zerol): Likewise.
68994         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
68995         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
68996         * tests/test-truncl.c (minus_zero): Likewise.
68997         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
68998         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
68999         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
69000         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
69002 2008-10-17  Bruno Haible  <bruno@clisp.org>
69004         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
69005         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
69006         that it gets activated only for gcc >= 3.0.
69007         * lib/dirent.in.h: Likewise.
69008         * lib/errno.in.h: Likewise.
69009         * lib/fcntl.in.h: Likewise.
69010         * lib/float.in.h: Likewise.
69011         * lib/iconv.in.h: Likewise.
69012         * lib/inttypes.in.h: Likewise.
69013         * lib/locale.in.h: Likewise.
69014         * lib/math.in.h: Likewise.
69015         * lib/netdb.in.h: Likewise.
69016         * lib/netinet_in.in.h: Likewise.
69017         * lib/search.in.h: Likewise.
69018         * lib/signal.in.h: Likewise.
69019         * lib/spawn.in.h: Likewise.
69020         * lib/stdarg.in.h: Likewise.
69021         * lib/stdint.in.h: Likewise.
69022         * lib/stdio.in.h: Likewise.
69023         * lib/stdlib.in.h: Likewise.
69024         * lib/string.in.h: Likewise.
69025         * lib/strings.in.h: Likewise.
69026         * lib/sys_file.in.h: Likewise.
69027         * lib/sys_ioctl.in.h: Likewise.
69028         * lib/sys_select.in.h: Likewise.
69029         * lib/sys_socket.in.h: Likewise.
69030         * lib/sys_stat.in.h: Likewise.
69031         * lib/sys_time.in.h: Likewise.
69032         * lib/sysexits.in.h: Likewise.
69033         * lib/time.in.h: Likewise.
69034         * lib/unistd.in.h: Likewise.
69035         * lib/wchar.in.h: Likewise.
69036         * lib/wctype.in.h: Likewise.
69037         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
69039 2008-10-17  Jim Meyering  <meyering@redhat.com>
69041         ignore-value: don't depend on inline module
69042         * modules/ignore-value (Depends-on): Remove 'inline'.
69043         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
69044         Suggestion from Bruno Haible.
69046 2008-10-17  Bruno Haible  <bruno@clisp.org>
69048         New implementation of condition variables for Win32.
69049         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
69050         (gl_linked_waitqueue_t): New type.
69051         (gl_cond_t): Use it.
69052         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
69053         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
69054         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
69055         (glthread_cond_init_func, glthread_cond_wait_func,
69056         glthread_cond_timedwait_func, glthread_cond_signal_func,
69057         glthread_cond_broadcast_func, glthread_cond_destroy_func):
69058         Reimplemented on the basis of gl_linked_waitqueue_t.
69059         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
69060         gl_waitqueue_t.
69061         (gl_rwlock_t): Update.
69062         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
69064 2008-10-17  Simon Josefsson  <simon@josefsson.org>
69066         * modules/recvfrom (Depends-on): Add dependency on getpeername.
69067         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
69069 2008-10-17  Jim Meyering  <meyering@redhat.com>
69071         ignore-value: new module
69072         * modules/ignore-value: New file.
69073         * lib/ignore-value.h: New file.
69074         * MODULES.html.sh (Compiler warning management): New section,
69075         just for this module.  More to come.
69077 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
69079         open-safer.c: avoid 'signed and unsigned in conditional...' warning
69080         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
69081         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
69083 2008-10-16  Jim Meyering  <meyering@redhat.com>
69085         openat-die.c: avoid 'no previous prototype' warning
69086         * lib/openat-die.c: Include "openat.h".
69087         Reported by Reuben Thomas <rrt@sc3d.org>.
69089 2008-10-16  Simon Josefsson  <simon@josefsson.org>
69091         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
69092         * lib/netdb.in.h: Fix typo.
69093         Reported by Bruno Haible  <bruno@clisp.org>
69095         * lib/netdb.in.h: Include sys/socket.h for platforms without
69096         netdb.h, to get structures like hostent on MinGW.
69097         * modules/netdb (Depends-on): Add sys_socket.
69099 2008-10-15  Simon Josefsson  <simon@josefsson.org>
69101         * modules/netdb, modules/netdb-tests: New file.
69102         * m4/netdb_h.m4: New file.
69103         * lib/netdb.in.h: Add, currently just an empty file pending
69104         definitions.
69105         * tests/test-netdb.c: New file.
69106         * doc/posix-headers/netdb.texi: Mention that we replace it if
69107         needed.
69108         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69109         netdb.
69111 2008-10-15  Simon Josefsson  <simon@josefsson.org>
69113         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
69114         with code.
69116 2008-10-13  Bruno Haible  <bruno@clisp.org>
69118         * lib/glthread/cond.c (glthread_cond_wait_func,
69119         glthread_cond_timedwait_func): Add a comment.
69121 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69123         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
69124         * tests/test-select.c: Likewise,
69126 2008-10-13  Bruno Haible  <bruno@clisp.org>
69128         * lib/glthread/cond.c (glthread_cond_wait_func,
69129         glthread_cond_timedwait_func): Fix variable name.
69130         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
69132 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
69134         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
69135         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
69136         struct sockaddr.sa_len.
69137         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
69139 2008-10-13  Simon Josefsson  <simon@josefsson.org>
69141         * build-aux/pmccabe2html: Add css and css_url parameters.
69143 2008-10-12  Bruno Haible  <bruno@clisp.org>
69145         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
69146         calling aclx_get.
69147         Reported by Rainer Tammer <tammer@tammer.net>.
69149 2008-10-12  Bruno Haible  <bruno@clisp.org>
69151         Use msvcrt aware primitives for creation/termination of Win32 threads.
69152         * lib/glthread/thread.c: Include <process.h>.
69153         (glthread_create_func): Use _beginthreadex instead of CreateThread.
69154         (wrapper_func): Update signature.
69155         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
69157 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69158             Bruno Haible  <bruno@clisp.org>
69160         Provide a Win32 implementation of the 'cond' module.
69161         * lib/glthread/cond.h [USE_WIN32]: New implementation.
69162         * lib/glthread/cond.c (glthread_cond_init_func,
69163         glthread_cond_wait_func, glthread_cond_timedwait_func,
69164         glthread_cond_signal_func, glthread_cond_broadcast_func,
69165         glthread_cond_destroy_func) [USE_WIN32]: New functions.
69166         * modules/cond (Dependencies): Add gettimeofday.
69168 2008-10-11  Bruno Haible  <bruno@clisp.org>
69170         Make sleep work on older versions of mingw.
69171         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
69172         only whether it exists.
69173         * doc/posix-functions/sleep.texi: Mention the problem with older
69174         versions of mingw.
69176 2008-10-11  Bruno Haible  <bruno@clisp.org>
69178         New module 'shutdown'.
69179         * modules/shutdown: New file.
69180         * lib/sys_socket.in.h (shutdown): New declaration.
69181         * lib/winsock.c (shutdown): New function.
69182         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
69183         GNULIB_SHUTDOWN.
69184         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
69185         * doc/posix-functions/shutdown.texi: Document the new module.
69187 2008-10-11  Jim Meyering  <meyering@redhat.com>
69189         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
69191 2008-10-11  Bruno Haible  <bruno@clisp.org>
69193         New module 'fclose'.
69194         * modules/fclose: New file.
69195         * lib/stdio.in.h (fclose): New declaration.
69196         * lib/fclose.c: New file.
69197         * m4/fclose.m4: New file.
69198         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
69199         REPLACE_FCLOSE.
69200         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
69201         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
69202         REPLACE_FCLOSE.
69203         * modules/close (Depends-on): fclose.
69204         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
69206 2008-10-11  Bruno Haible  <bruno@clisp.org>
69208         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
69209         set errno and don't call _close.
69211 2008-10-10  Bruno Haible  <bruno@clisp.org>
69213         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
69214         ACL, not afterwards. Fixes test failure on Cygwin.
69216 2008-10-09  Ben Pfaff  <blp@gnu.org>
69218         * build-aux/announce-gen: Fix gnulib version related part of usage
69219         message.  Die with a useful error message if no tarballs are
69220         found.
69222 2008-10-10  Jim Meyering  <meyering@redhat.com>
69224         bootstrap: use git's --depth=N option only if it's supported
69225         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
69226         recognize the --depth option.  Reported by Pádraig Brady.
69228 2008-10-09  Bruno Haible  <bruno@clisp.org>
69230         New module 'ioctl'.
69231         * modules/ioctl: New file.
69232         * lib/sys_socket.in.h (ioctl): Remove declaration.
69233         * lib/winsock.c: Include <sys/ioctl.h>.
69234         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
69235         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
69236         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
69237         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
69238         * doc/posix-functions/ioctl.texi: Mention the new module.
69240 2008-10-09  Bruno Haible  <bruno@clisp.org>
69242         New module 'sys_ioctl'.
69243         * lib/sys_ioctl.in.h: New file.
69244         * m4/sys_ioctl_h.m4: New file.
69245         * modules/sys_ioctl: New file.
69246         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
69248 2008-10-09  Bruno Haible  <bruno@clisp.org>
69250         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
69251         * lib/winsock.c: Include <stdarg.h>.
69252         (rpl_ioctl): Change to second argument 'int' and then varargs.
69254 2008-10-09  Bruno Haible  <bruno@clisp.org>
69256         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
69257         when the sys_socket module is present and the system has <winsock2.h>.
69259 2008-10-09  Bruno Haible  <bruno@clisp.org>
69261         * doc/posix-functions/close.texi: Mention module 'close' instead of
69262         module 'sys_socket'.
69264 2008-10-09  Bruno Haible  <bruno@clisp.org>
69266         * doc/glibc-headers/sys_ioctl.texi: New file.
69267         * doc/gnulib.texi: Include it.
69269 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
69270             Bruno Haible  <bruno@clisp.org>
69272         Combine the two replacements of 'close'.
69273         * lib/sys_socket.in.h (close): Define to a reminder to include
69274         <unistd.h>.
69275         (_gl_close_fd_maybe_socket): New declaration.
69276         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
69277         * lib/winsock.c (close): Remove undefinition.
69278         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
69279         needed for the gnulib module 'close'.
69280         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
69281         define to an error symbol or to a warning, if suitable.
69282         * lib/close.c: Include <sys/socket.h>.
69283         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
69284         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
69285         UNISTD_H_HAVE_WINSOCK2_H.
69286         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
69287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69288         UNISTD_H_HAVE_WINSOCK2_H.
69289         * modules/sys_socket (Files): Add m4/unistd_h.m4.
69290         (configure.ac): Set a module indicator.
69291         (Makefile.am): Substitute GNULIB_CLOSE.
69292         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
69293         * modules/poll-tests (Depends-on): Add close.
69294         * modules/select-tests (Depends-on): Likewise.
69296 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
69297             Bruno Haible  <bruno@clisp.org>
69299         New module 'close'.
69300         * modules/close: New file.
69301         * lib/unistd.in.h (close): Move declaration out of the
69302         FCHDIR_REPLACEMENT scope.
69303         (_gl_unregister_fd): New declaration.
69304         * lib/close.c: New file.
69305         * lib/fchdir.c (rpl_close): Remove function.
69306         * m4/close.m4: New file.
69307         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
69308         close.
69309         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
69310         REPLACE_CLOSE.
69311         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
69312         REPLACE_CLOSE.
69313         * modules/fchdir (Depends-on): Add close.
69315 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
69316             Bruno Haible  <bruno@clisp.org>
69318         * lib/fcntl.in.h (open): Simplify conditionals.
69319         (_gl_register_fd): New declaration.
69320         * lib/fchdir.c (rpl_open): Remove function.
69321         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
69322         also.
69323         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
69324         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
69325         open.
69327 2008-10-09  Jim Meyering  <meyering@redhat.com>
69329         GNUmakefile: use the more name-space-friendly "_version"
69330         * top/GNUmakefile (_dummy): Update.
69331         (_version): Rename from "version".
69333 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
69334             Bruno Haible  <bruno@clisp.org>
69336         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
69337         rpl_close.
69338         (_gl_register_fd): New function, extracted from rpl_open.
69339         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
69340         (rpl_open, rpl_opendir): Use _gl_register_fd.
69342 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
69344         Fix organization of 'open' replacement.
69345         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
69346         (gl_FUNC_OPEN): Use it.
69347         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
69349 2008-10-08  Bruno Haible  <bruno@clisp.org>
69351         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
69353 2008-10-08  Simon Josefsson  <simon@josefsson.org>
69355         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
69356         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
69357         listen).
69359 2008-10-08  Eric Blake  <ebb9@byu.net>
69361         GNUmakefile: add 'make version' target
69362         * top/GNUmakefile (_curr-ver): Split version update rules...
69363         (version): ...into a target.
69365 2008-10-07  Bruno Haible  <bruno@clisp.org>
69367         Use a more portable replacement expression for -0.0L.
69368         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
69369         instead of -0.0L. Fix m4 quotation.
69371         * tests/test-signbit.c: Include <float.h>.
69372         (minus_zero): New variable.
69373         (test_signbitl): Use minus_zero instead of -zero.
69374         * modules/signbit-tests (Depends-on): Add float.
69376         * tests/test-ceill.c: Include <float.h>.
69377         (zero): Remove variable.
69378         (minus_zero): New variable.
69379         (main): Use minus_zero instead of -zero.
69380         * modules/ceill-tests (Depends-on): Add float.
69382         * tests/test-floorl.c: Include <float.h>.
69383         (zero): Remove variable.
69384         (minus_zero): New variable.
69385         (main): Use minus_zero instead of -zero.
69386         * modules/floorl-tests (Depends-on): Add float.
69388         * tests/test-roundl.c: Include <float.h>.
69389         (zero): Remove variable.
69390         (minus_zero): New variable.
69391         (main): Use minus_zero instead of -zero.
69392         * modules/roundl-tests (Depends-on): Add float.
69394         * tests/test-truncl.c: Include <float.h>.
69395         (zero): Remove variable.
69396         (minus_zero): New variable.
69397         (main): Use minus_zero instead of -zero.
69398         * modules/truncl-tests (Depends-on): Add float.
69400         * tests/test-frexpl.c (zero): Remove variable.
69401         (minus_zero): New variable.
69402         (main): Use minus_zero instead of -zero.
69403         * modules/frexpl-tests (Depends-on): Add float.
69405         * tests/test-isnan.c (zerol): Remove variable.
69406         (minus_zerol): New variable.
69407         (test_long_double): Use minus_zerol instead of -zerol.
69408         * modules/isnan-tests (Depends-on): Add float.
69410         * tests/test-isnanl.h (zero): Remove variable.
69411         (minus_zero): New variable.
69412         (main): Use minus_zero instead of -zero.
69413         * modules/isnanl-nolibm-tests (Depends-on): Add float.
69414         * modules/isnanl-tests (Depends-on): Add float.
69416         * tests/test-ldexpl.c (zero): Remove variable.
69417         (minus_zero): New variable.
69418         (main): Use minus_zero instead of -zero.
69419         * modules/ldexpl-tests (Depends-on): Add float.
69421         * tests/test-snprintf-posix.h (zerol): Remove variable.
69422         (minus_zerol): New variable.
69423         (test_function): Use minus_zerol instead of -zerol.
69424         * modules/snprintf-posix-tests (Depends-on): Add float.
69425         * modules/vsnprintf-posix-tests (Depends-on): Add float.
69427         * tests/test-sprintf-posix.h (zerol): Remove variable.
69428         (minus_zerol): New variable.
69429         (test_function): Use minus_zerol instead of -zerol.
69430         * modules/sprintf-posix-tests (Depends-on): Add float.
69431         * modules/vsprintf-posix-tests (Depends-on): Add float.
69433         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
69434         (minus_zerol): New variable.
69435         (test_function): Use minus_zerol instead of -zerol.
69436         * modules/vasnprintf-posix-tests (Depends-on): Add float.
69438         * tests/test-vasprintf-posix.c (zerol): Remove variable.
69439         (minus_zerol): New variable.
69440         (test_function): Use minus_zerol instead of -zerol.
69441         * modules/vasprintf-posix-tests (Depends-on): Add float.
69443 2008-10-07  Simon Josefsson  <simon@josefsson.org>
69445         * MODULES.html.sh (Support for building documentation): Mention
69446         pmccabe2html.  Sort entries.
69448         Add pmccabe2html module, from gnupdf.
69449         * build-aux/pmccabe.css: New file.
69450         * build-aux/pmccabe2html: New file.
69451         * m4/pmccabe2html.m4: New file.
69452         * modules/pmccabe2html: New file.
69454 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
69456         flock: new module
69457         * MODULES.html.sh: Add to list of modules.
69458         * lib/flock.c: flock implementation for Windows and Unix systems
69459         which have fcntl.
69460         * doc/glibc-functions/flock.texi: Update documentation.
69461         * lib/sys_file.in.h: <sys/file.h> header file.
69462         * m4/flock.m4: M4 macros.
69463         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
69464         * modules/flock: flock module.
69465         * modules/flock-tests: flock tests module.
69466         * modules/sys_file: sys/file.h module.
69467         * tests/test-flock.c: test suite for flock.
69469 2008-10-06  Jim Meyering  <meyering@redhat.com>
69471         bootstrap: check for LT_INIT more portably still ;-)
69472         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
69473         Spotted by Bruno Haible.
69475 2008-10-06  Eric Blake  <ebb9@byu.net>
69477         test-signbit: avoid tripping Irix cc bug on -0.0L
69478         * tests/test-signbit.c (minus_zerol): Delete, and replace with
69479         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
69480         entire testsuite consistent and avoids an Irix 6.2 bug.
69482 2008-10-05  Bruno Haible  <bruno@clisp.org>
69483             Jim Meyering  <jim@meyering.net>
69485         Add an option for ignoring EPIPE during close_stdout.
69486         * lib/closeout.h: Include <stdbool.h>.
69487         (close_stdout_set_ignore_EPIPE): New declaration.
69488         * lib/closeout.c: Include <stdbool.h>.
69489         (ignore_EPIPE): New variable.
69490         (close_stdout_set_ignore_EPIPE): New function.
69491         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
69492         * lib/close-stream.c (close_stream): Mention the possible EPIPE
69493         failure.
69494         * modules/closeout (Depends-on): Add stdbool.
69496 2008-10-05  Bruno Haible  <bruno@clisp.org>
69498         * modules/accept: New file.
69499         * modules/bind: New file.
69500         * modules/connect: New file.
69501         * modules/getpeername: New file.
69502         * modules/getsockname: New file.
69503         * modules/getsockopt: New file.
69504         * modules/listen: New file.
69505         * modules/recv: New file.
69506         * modules/recvfrom: New file.
69507         * modules/send: New file.
69508         * modules/sendto: New file.
69509         * modules/setsockopt: New file.
69510         * modules/socket: New file.
69511         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
69512         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
69513         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
69514         the particular module is requested. Add a link warning when the
69515         particular module is not requested.
69516         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
69517         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
69518         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
69519         the particular module is requested.
69520         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
69521         gl_SYS_SOCKET_H_DEFAULTS): New macros.
69522         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
69523         * modules/sys_socket (Depends-on): Add link-warning.
69524         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
69525         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
69526         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
69527         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
69528         GL_LINK_WARNING.
69529         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
69530         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
69531         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
69532         * doc/posix-functions/getpeername.texi: Mention the new module
69533         'getpeername'.
69534         * doc/posix-functions/getsockname.texi: Mention the new module
69535         'getsockname'.
69536         * doc/posix-functions/getsockopt.texi: Mention the new module
69537         'getsockopt'.
69538         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
69539         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
69540         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
69541         * doc/posix-functions/send.texi: Mention the new module 'send'.
69542         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
69543         * doc/posix-functions/setsockopt.texi: Mention the new module
69544         'setsockopt'.
69545         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
69546         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
69547         listen, connect, accept.
69548         * modules/select-tests (Depends-on): Likewise.
69550 2008-10-05  Bruno Haible  <bruno@clisp.org>
69552         * lib/winsock.c (strerror): Remove unused #undef.
69553         (rpl_close): Remove unused local variable.
69555         * modules/sys_socket (Depends-on); Add errno.
69557 2008-10-05  Bruno Haible  <bruno@clisp.org>
69559         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
69560         (select): Add a link warning when the 'select' module is not used.
69561         * modules/sys_select (Depends-on): Add link-warning.
69562         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
69563         Suggested by Paolo Bonzini.
69565 2008-10-05  Jim Meyering  <meyering@redhat.com>
69567         bootstrap: check for LT_INIT more portably
69568         * build-aux/bootstrap: Avoid using grep -E, since it's not
69569         portable enough.  Suggestion from Bruno Haible.
69571 2008-10-05  Bruno Haible  <bruno@clisp.org>
69573         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
69574         as being fixed by gnulib.
69576 2008-10-05  Bruno Haible  <bruno@clisp.org>
69578         * modules/select-tests: New file, mostly copied from
69579         modules/sys_select-tests.
69580         * tests/test-select.c: New file, mostly copied from
69581         tests/test-sys_select.c.
69582         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
69583         * modules/sys_select-tests (Depends-on): Remove all dependencies.
69584         (Makefile.am): Remove test_sys_select_LDADD.
69586         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
69587         to an undefined symbol, for an error message.
69588         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
69589         (gl_SYS_SELECT_H_DEFAULTS): New macro.
69590         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
69591         winsock-select.c here.
69592         * modules/sys_select (Files): Remove lib/winsock-select.c.
69593         (Depends-on): Remove alloca.
69594         (Makefile.am): Substitute GNULIB_SELECT.
69595         * modules/select: New file.
69596         * doc/posix-functions/select.texi: Update.
69598 2008-10-05  Bruno Haible  <bruno@clisp.org>
69600         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
69601         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
69602         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
69603         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
69604         getdtablesize.
69605         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
69606         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
69608 2008-10-05  Bruno Haible  <bruno@clisp.org>
69610         * modules/getdtablesize-tests: New file.
69611         * tests/test-getdtablesize.c: New file.
69613         New module 'getdtablesize'.
69614         * lib/unistd.in.h (getdtablesize): New declaration.
69615         * lib/getdtablesize.c: New file.
69616         * m4/getdtablesize.m4: New file.
69617         * modules/getdtablesize: New file.
69618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69619         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
69620         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
69621         HAVE_GETDTABLESIZE.
69622         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
69624 2008-10-05  Bruno Haible  <bruno@clisp.org>
69626         * modules/sched (Makefile.am): Fix typo.
69627         Reported by Simon Josefsson.
69629 2008-10-05  Jim Meyering  <meyering@redhat.com>
69631         bootstrap: check for LT_INIT, too
69632         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
69633         are deprecated.  Suggestion from Ralf Wildenhues.
69635 2008-10-05  Bruno Haible  <bruno@clisp.org>
69637         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
69638         overriding them by ours.
69639         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
69641 2008-10-05  Jim Meyering  <meyering@redhat.com>
69643         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
69644         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
69645         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
69647 2008-10-04  Bruno Haible  <bruno@clisp.org>
69649         * modules/dup2 (License): Change to LGPLv2+.
69650         * modules/sleep (License): Likewise.
69651         * modules/perror (License): Likewise.
69652         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
69653         Blake.
69654         * modules/signal (License): Likewise.
69655         * modules/sigprocmask (License): Likewise.
69656         * modules/raise (License): Change to LGPLv2+, with approval by Jim
69657         Meyering.
69659 2008-10-04  Bruno Haible  <bruno@clisp.org>
69661         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
69662         Reported by Rainer Tammer <tammer@tammer.net>.
69664 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
69665             Bruno Haible  <bruno@clisp.org>
69667         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
69668         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
69669         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
69671 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
69673         filevercmp: new module
69674         * lib/filevercmp.h: New function filevercmp comparing version strings.
69675         * lib/filevercmp.c: Implementation of filevercmp function.
69676         * modules/filevercmp: Module metadata.
69677         * tests/test-filevercmp.c: Unit test for new module.
69678         * modules/filevercmp-tests: Unit test metadata.
69679         * MODULES.html.sh: Add filevercmp module.
69681 2008-10-03  Bruno Haible  <bruno@clisp.org>
69683         * lib/c-ctype.h: Add comment.
69684         Reported by Jim Meyering.
69686 2008-10-02  Bruno Haible  <bruno@clisp.org>
69688         * modules/posix_spawn-internal (Depends-on): Add 'open'.
69690 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
69692         * build-aux/bootstrap: Allow renaming bootstrap, and change the
69693         name of bootstrap.conf accordingly.
69695 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
69697         * build-aux/bootstrap: Install git-merge-changelog configuration
69698         items into .gitconfig if needed.
69700 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
69702         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
69703         git repository, and initialize/update it accordingly.
69705 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
69707         * modules/fsync-tests: New file.
69708         * tests/test-fsync.c: New file.
69710         New module 'fsync'.
69711         * lib/fsync.c: New file.
69712         * m4/fsync.m4: New file.
69713         * modules/fsync: New file.
69714         * lib/unistd.in.h (fsync): New declaration.
69715         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
69716         GNULIB_FSYNC and HAVE_FSYNC.
69717         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
69718         * MODULES.html.sh (posix_functions): Add fsync.
69719         * doc/posix-functions/fsync.texi: Mention the new module.
69721 2008-10-02  Jim Meyering  <meyering@redhat.com>
69723         fts.c: sync with similar code from coreutils' remove.c
69724         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
69725         Guard also with "#if defined __linux__", since for now at least,
69726         this code is Linux-kernel-specific.
69728 2008-10-02  Jim Meyering  <meyering@redhat.com>
69730         fts: bug fixes
69731         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
69732         Include <sys/vfs.h>, not <sys/statfs.h>.
69734         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
69735         Include <sys/vfs.h>, not <sys/statfs.h>.
69737 2008-10-01  Bruno Haible  <bruno@clisp.org>
69739         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
69740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
69741         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
69742         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
69743         * doc/posix-functions/posix_spawnp.texi: Likewise.
69744         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
69745         whether posix_spawn actually works.
69746         * m4/pipe.m4 (gl_PIPE): Likewise.
69747         * modules/execute (Files): Add m4/posix_spawn.m4.
69748         * modules/pipe (Files): Add m4/posix_spawn.m4.
69749         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
69751 2008-10-01  Jim Meyering  <meyering@redhat.com>
69753         remove trailing spaces
69754         * NEWS: Likewise.
69755         * lib/poll.c (poll): Likewise.
69756         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
69757         * lib/winsock.c (rpl_close): Likewise.
69758         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
69759         * modules/yield: Likewise.
69760         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
69761         * tests/test-sys_select.c (connect_to_socket): Likewise.
69763         fts.c: adjust a new interface to be more generally useful
69764         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
69765         (fts_build): Adjust caller.
69767 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69769         * modules/cond-tests: New file.
69770         * tests/test-cond.c: New file.
69772 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69773             Bruno Haible  <bruno@clisp.org>
69775         * modules/cond (Dependencies): Add errno, time.
69776         * lib/glthread/cond.h: Include <time.h>.
69777         (gl_cond_define, gl_cond_define_initialized): Use the same definition
69778         across platforms.
69780 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69781             Bruno Haible  <bruno@clisp.org>
69783         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
69785 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69786             Bruno Haible  <bruno@clisp.org>
69788         * modules/tls-tests (Depends-on): Add thread, yield.
69789         (configure.ac): Remove all checks.
69790         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
69791         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
69792         gl_thread_self): Remove definitions. Include glthread/thread.h and
69793         glthread/yield.h instead.
69794         (test_tls): Pass an additional NULL argument to gl_thread_join.
69796 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69797             Bruno Haible  <bruno@clisp.org>
69799         * modules/lock-tests (Depends-on): Add thread, yield.
69800         (configure.ac): Remove all checks.
69801         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
69802         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
69803         gl_thread_self): Remove definitions. Include glthread/thread.h and
69804         glthread/yield.h instead.
69805         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
69806         additional NULL argument to gl_thread_join.
69808 2008-09-30  Bruno Haible  <bruno@clisp.org>
69810         Fix the Win32 implementation of the 'thread' module.
69811         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
69812         pointer type.
69813         (gl_thread_self): Invoke gl_thread_self_func.
69814         (gl_thread_self_func): New declaration.
69815         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
69816         (do_init_self_key, init_self_key): New functions.
69817         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
69818         Remove some fields.
69819         (running_threads, running_lock): Remove variables.
69820         (get_current_thread_handle): New function.
69821         (gl_thread_self_func, wrapper_func, glthread_create_func,
69822         glthread_join_func, gl_thread_exit_func): Largely rewritten and
69823         simplified.
69825 2008-09-30  Bruno Haible  <bruno@clisp.org>
69827         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
69828         files.
69830 2008-09-30  Jim Meyering  <meyering@redhat.com>
69832         fts.m4: correct the test for statfs.f_type
69833         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
69834         when checking for statfs.f_type.
69836 2008-09-15  Simon Josefsson  <simon@josefsson.org>
69838         tests: avoid some compiler warnings
69839         * tests/test-memchr.c (main): Pass NULL indirectly.
69840         * tests/test-getdate.c (main): Remove unused variable 'ret'.
69842 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
69844         getdate.y: disallow countable dayshifts like "4 yesterday ago"
69845         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
69846         exactly specified dayshifts.
69847         (dayshift): New rule.
69848         (rel): Add dayshift.
69849         (relative_time_table) [tomorrow, yesterday, today, now]:
69850         Use tDAY_SHIFT in place of tDAY_UNIT.
69851         * tests/test-getdate.c: Add tests for now-disallowed countable
69852         dayshifts, e.g., "4 yesterday ago".
69854 2008-09-29  Bruno Haible  <bruno@clisp.org>
69856         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
69857         * tests/test-posix_spawn1.in.sh: Renamed from
69858         tests/test-posix_spawn.in.sh.
69859         * tests/test-posix_spawn2.c: New file.
69860         * tests/test-posix_spawn2.in.sh: New file.
69861         * modules/posix_spawnp-tests (Files): Update.
69862         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
69864 2008-09-29  Bruno Haible  <bruno@clisp.org>
69866         Propagate effects of putenv/setenv/unsetenv to child processes.
69867         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
69868         * lib/pipe.c (create_pipe): Likewise.
69870 2008-09-29  Bruno Haible  <bruno@clisp.org>
69872         Enable use of shell scripts as executables in mingw.
69873         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
69874         run the program as a shell script.
69875         * lib/pipe.c (create_pipe): Likewise.
69876         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
69877         resulting array.
69879 2008-09-29  Eric Blake  <ebb9@byu.net>
69881         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
69883 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
69885         * doc/posix-functions/accept.texi: Update mingw problems.
69886         * doc/posix-functions/bind.texi: Update mingw problems.
69887         * doc/posix-functions/close.texi: Update mingw problems.
69888         * doc/posix-functions/connect.texi: Update mingw problems.
69889         * doc/posix-functions/getpeername.texi: Update mingw problems.
69890         * doc/posix-functions/getsockname.texi: Update mingw problems.
69891         * doc/posix-functions/getsockopt.texi: Update mingw problems.
69892         * doc/posix-functions/ioctl.texi: Update mingw problems.
69893         * doc/posix-functions/listen.texi: Update mingw problems.
69894         * doc/posix-functions/recv.texi: Update mingw problems.
69895         * doc/posix-functions/recvfrom.texi: Update mingw problems.
69896         * doc/posix-functions/select.texi: Update mingw problems.
69897         * doc/posix-functions/send.texi: Update mingw problems.
69898         * doc/posix-functions/sendto.texi: Update mingw problems.
69899         * doc/posix-functions/setsockopt.texi: Update mingw problems.
69900         * doc/posix-functions/socket.texi: Update mingw problems.
69902 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
69903             Bruno Haible  <bruno@clisp.org>
69905         * lib/sys_select.in.h: Include sys/time.h.
69906         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
69907         * modules/sys_select: Depend on sys_time.
69908         * tests/test-sys_select.c: Test that sys/select.h defines struct
69909         timeval fully.
69911 2008-09-29  Bruno Haible  <bruno@clisp.org>
69913         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
69914         * lib/sys_select.in.h: Likewise.
69916 2008-09-29  Bruno Haible  <bruno@clisp.org>
69918         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
69920 2008-09-29  Bruno Haible  <bruno@clisp.org>
69922         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
69923         Set LIBSOCKET instead of augmenting LIBS.
69924         * modules/sockets (Link): New section.
69925         * modules/sockets-tests (test_sockets_LDADD): New variable.
69926         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
69927         * modules/poll-tests (test_poll_LDADD): New variable.
69928         * NEWS: Document the change.
69930 2008-09-29  Bruno Haible  <bruno@clisp.org>
69932         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
69933         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
69934         ARPA_INET_H directly.
69935         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
69937 2008-09-28  Bruno Haible  <bruno@clisp.org>
69939         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
69940         from gl_HEADER_SYS_SOCKET.
69941         (gl_HEADER_SYS_SOCKET): Invoke it.
69942         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
69944 2008-09-28  Bruno Haible  <bruno@clisp.org>
69946         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
69947         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
69948         Needed on OSF/1 4.0.
69950 2008-09-28  Bruno Haible  <bruno@clisp.org>
69952         Override open more carefully.
69953         * lib/open.c (orig_open): New function.
69954         (rpl_open): Use orig_open instead of open.
69955         * lib/fcntl.in.h: Add special invocation convention.
69956         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
69957         (gl_FUNC_OPEN): Invoke it.
69959         Override freopen more carefully.
69960         * lib/freopen.c (orig_freopen): New function.
69961         (rpl_freopen): Use orig_freopen instead of freopen.
69962         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
69963         (gl_FUNC_FREOPEN): Invoke it.
69965         Override fopen more carefully.
69966         * lib/fopen.c (orig_fopen): New function.
69967         (rpl_fopen): Use orig_fopen instead of fopen.
69968         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
69969         (gl_FUNC_FOPEN): Invoke it.
69970         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
69972 2008-09-28  Bruno Haible  <bruno@clisp.org>
69974         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
69975         SIGPIPE.
69977 2008-09-28  Bruno Haible  <bruno@clisp.org>
69979         * tests/test-sigaction.c (handler, main): Disable the check whether
69980         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
69981         glibc systems with LinuxThreads.
69983 2008-09-28  Bruno Haible  <bruno@clisp.org>
69985         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
69987         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
69988         with AIX xlc.
69989         * lib/fcntl.in.h (open): Likewise.
69990         Reported by Rainer Tammer <tammer@tammer.net>.
69992 2008-09-28  Bruno Haible  <bruno@clisp.org>
69994         * modules/posix_spawnp-tests: New file.
69995         * tests/test-posix_spawn.c: New file.
69996         * tests/test-posix_spawn.in.sh: New file.
69998         New module 'posix_spawnp'.
69999         * modules/posix_spawnp: New file.
70000         * lib/spawnp.c: New file, from GNU libc with modifications.
70001         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
70003         New module 'posix_spawn'.
70004         * modules/posix_spawn: New file.
70005         * lib/spawn.c: New file, from GNU libc with modifications.
70006         * doc/posix-functions/posix_spawn.texi: Mention the new module.
70008         New module 'posix_spawnattr_destroy'.
70009         * modules/posix_spawnattr_destroy: New file.
70010         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
70011         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
70012         module.
70014         New module 'posix_spawnattr_setsigmask'.
70015         * modules/posix_spawnattr_setsigmask: New file.
70016         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
70017         modifications.
70018         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
70019         new module.
70021         New module 'posix_spawnattr_getsigmask'.
70022         * modules/posix_spawnattr_getsigmask: New file.
70023         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
70024         modifications.
70025         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
70026         new module.
70028         New module 'posix_spawnattr_setsigdefault'.
70029         * modules/posix_spawnattr_setsigdefault: New file.
70030         * lib/spawnattr_setdefault.c: New file, from GNU libc with
70031         modifications.
70032         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
70033         new module.
70035         New module 'posix_spawnattr_getsigdefault'.
70036         * modules/posix_spawnattr_getsigdefault: New file.
70037         * lib/spawnattr_getdefault.c: New file, from GNU libc with
70038         modifications.
70039         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
70040         new module.
70042         New module 'posix_spawnattr_setschedpolicy'.
70043         * modules/posix_spawnattr_setschedpolicy: New file.
70044         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
70045         modifications.
70046         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
70047         new module.
70049         New module 'posix_spawnattr_getschedpolicy'.
70050         * modules/posix_spawnattr_getschedpolicy: New file.
70051         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
70052         modifications.
70053         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
70054         new module.
70056         New module 'posix_spawnattr_setschedparam'.
70057         * modules/posix_spawnattr_setschedparam: New file.
70058         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
70059         modifications.
70060         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
70061         new module.
70063         New module 'posix_spawnattr_getschedparam'.
70064         * modules/posix_spawnattr_getschedparam: New file.
70065         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
70066         modifications.
70067         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
70068         new module.
70070         New module 'posix_spawnattr_setpgroup'.
70071         * modules/posix_spawnattr_setpgroup: New file.
70072         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
70073         modifications.
70074         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
70075         module.
70077         New module 'posix_spawnattr_getpgroup'.
70078         * modules/posix_spawnattr_getpgroup: New file.
70079         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
70080         modifications.
70081         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
70082         module.
70084         New module 'posix_spawnattr_setflags'.
70085         * modules/posix_spawnattr_setflags: New file.
70086         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
70087         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
70088         module.
70090         New module 'posix_spawnattr_getflags'.
70091         * modules/posix_spawnattr_getflags: New file.
70092         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
70093         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
70094         module.
70096         New module 'posix_spawnattr_init'.
70097         * modules/posix_spawnattr_init: New file.
70098         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
70099         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
70100         module.
70102         New module 'posix_spawn_file_actions_destroy'.
70103         * modules/posix_spawn_file_actions_destroy: New file.
70104         * lib/spawn_faction_destroy.c: New file, from GNU libc with
70105         modifications.
70106         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
70107         the new module.
70109         New module 'posix_spawn_file_actions_addopen'.
70110         * modules/posix_spawn_file_actions_addopen: New file.
70111         * lib/spawn_faction_addopen.c: New file, from GNU libc with
70112         modifications.
70113         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
70114         the new module.
70116         New module 'posix_spawn_file_actions_adddup2'.
70117         * modules/posix_spawn_file_actions_adddup2: New file.
70118         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
70119         modifications.
70120         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
70121         the new module.
70123         New module 'posix_spawn_file_actions_addclose'.
70124         * modules/posix_spawn_file_actions_addclose: New file.
70125         * lib/spawn_faction_addclose.c: New file, from GNU libc with
70126         modifications.
70127         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
70128         the new module.
70130         New module 'posix_spawn_file_actions_init'.
70131         * modules/posix_spawn_file_actions_init: New file.
70132         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
70133         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
70134         new module.
70136         New module 'posix_spawn-internal'.
70137         * modules/posix_spawn-internal: New file.
70138         * lib/spawn_int.h: New file, from GNU libc with modifications.
70139         * lib/spawni.c: New file, from GNU libc with modifications.
70140         * m4/posix_spawn.m4: New file.
70142         New module 'spawn'.
70143         * modules/spawn: New file.
70144         * lib/spawn.in.h: New file, from GNU libc with modifications.
70145         * m4/spawn_h.m4: New file.
70146         * doc/posix-headers/spawn.texi: Mention the new module.
70148 2008-09-28  Bruno Haible  <bruno@clisp.org>
70150         * modules/sched-tests: New file.
70151         * tests/test-sched.c: New file.
70153         New module 'sched'.
70154         * modules/sched: New file.
70155         * lib/sched.in.h: New file.
70156         * m4/sched_h.m4: New file.
70157         * doc/posix-headers/sched.texi: Mention the new module.
70159 2008-09-27  Eric Blake  <ebb9@byu.net>
70161         Fix previous patch, and tweak references to $0.
70162         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
70163         (func_version, func_gnulib_dir): Don't call this program
70164         gnulib-tool.
70165         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
70166         with using $0 in function.
70167         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
70168         (func_fatal_error): Reuse the name the user invoked us with.
70170 2008-09-27  Bruno Haible  <bruno@clisp.org>
70172         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
70173         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
70174         (gl_ICONV_H): Not here.
70175         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
70176         instead of assigning ICONV_H directly.
70178         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
70179         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
70180         WCHAR_H directly.
70182 2008-09-27  Bruno Haible  <bruno@clisp.org>
70184         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
70185         * modules/arpa_inet (Depends-on): Add link-warning.
70186         (Makefile.am): Insert the definition of GL_LINK-WARNING.
70187         * modules/unistd (Makefile.am): Likewise.
70189 2008-09-26  Bruno Haible  <bruno@clisp.org>
70191         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
70192         variables.
70193         (func_version): Essentially copied from gnulib-tool.
70194         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
70195         func_readlink): Copied from gnulib-tool.
70197 2008-09-26  Bruno Haible  <bruno@clisp.org>
70199         * gnulib-tool (func_version): Change directory to $gnulib_dir before
70200         invoking git-version-gen.
70202 2008-09-26  Bruno Haible  <bruno@clisp.org>
70204         * posix-modules: Update to directory names changed on 2008-01-19.
70205         Remove commas in output before splitting into words. No more need to
70206         avoid 'ftruncate' since 2007-02-19.
70208 2008-09-26  Bruno Haible  <bruno@clisp.org>
70210         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
70212 2008-09-26  Bruno Haible  <bruno@clisp.org>
70214         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
70215         * modules/fwriteerror (Depends-on): Add errno.
70217 2008-09-26  Bruno Haible  <bruno@clisp.org>
70219         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
70220         * tests/test-vc-list-files-cvs.sh: Likewise.
70222 2008-09-26  Bruno Haible  <bruno@clisp.org>
70224         * doc/posix-headers/sys_resource.texi: Reorder items.
70226 2008-09-26  Jim Meyering  <meyering@redhat.com>
70228         fts: tweak inode comparison function
70229         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
70230         inode numbers, as documented.
70232         fts: sort dirent entries on inode number before traversing
70233         This avoids a quadratic, seek-related performance penalty when
70234         operating on a directory containing many entries (measurable at 10k;
70235         3.5 hours at 2 million entries with a cold cache) on certain types
70236         of file systems, including ext3 and ext4, but not tmpfs.
70237         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
70238         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
70239         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
70240         (fs_handles_readdir_ordered_dirents_efficiently): New function.
70241         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
70242         (fts_build): Set the stat.st_ino member from D_INO.
70243         If it is likely to be useful, sort dirent entries on inode number.
70245         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
70246         and the struct statfs.f_type member.
70247         * modules/fts (Depends-on): Add d-ino.
70249 2008-09-26  Bruno Haible  <bruno@clisp.org>
70251         * modules/sigpipe-die (Depends-on): Add sigpipe.
70253         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
70254         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
70255         and GNULIB_STDIO_H_SIGPIPE are set.
70256         * lib/stdio-write.c: New file.
70257         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
70258         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
70259         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
70260         REPLACE_STDIO_WRITE_FUNCS.
70261         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
70262         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
70263         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
70264         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
70265         * modules/stdio (Files): Add lib/stdio-write.c.
70266         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
70267         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
70268         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
70269         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
70270         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
70271         REPLACE_FPRINTF_POSIX.
70272         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
70273         REPLACE_PRINTF_POSIX.
70274         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
70275         REPLACE_VFPRINTF_POSIX.
70276         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
70277         REPLACE_VPRINTF_POSIX.
70278         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
70279         SIGPIPE issue.
70280         * doc/posix-functions/fputc.texi: Likewise.
70281         * doc/posix-functions/fputs.texi: Likewise.
70282         * doc/posix-functions/fwrite.texi: Likewise.
70283         * doc/posix-functions/printf.texi: Likewise.
70284         * doc/posix-functions/putc.texi: Likewise.
70285         * doc/posix-functions/putchar.texi: Likewise.
70286         * doc/posix-functions/puts.texi: Likewise.
70287         * doc/posix-functions/vfprintf.texi: Likewise.
70288         * doc/posix-functions/vprintf.texi: Likewise.
70290         * modules/safe-write (Depends-on): Add write.
70292         * modules/sigpipe-tests: New file.
70293         * tests/test-sigpipe.c: New file.
70294         * tests/test-sigpipe.sh: New file.
70296         * modules/write: New file.
70297         * lib/unistd.in.h: Include <sys/types.h>.
70298         (write): New declaration.
70299         * lib/write.c: New file.
70300         * m4/write.m4: New file.
70301         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70302         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
70303         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
70304         GNULIB_WRITE, REPLACE_WRITE.
70305         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
70306         and the SIGPIPE issue.
70308         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
70309         (raise): New declaration.
70310         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
70311         (ext_signal): New function.
70312         (rpl_raise): New function.
70313         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
70314         GNULIB_SIGNAL_H_SIGPIPE.
70315         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
70316         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
70318         * modules/sigpipe: New file.
70319         * m4/sigpipe.m4: New file.
70321 2008-09-25  Derek Price  <derek@ximbiot.com>
70322             Bruno Haible  <bruno@clisp.org>
70324         * gnulib-tool (func_import): Report all license incompatibilities, not
70325         just the first one.
70327 2008-09-25  Bruno Haible  <bruno@clisp.org>
70329         * gnulib-tool (func_import): When computing the edits, consider not
70330         only the Makefile.ams that exist but also those that will be generated.
70332 2008-09-25  Simon Josefsson  <simon@josefsson.org>
70334         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
70335         fixes gnulib-tool --test warning about duplicate dependency.
70337 2008-09-25  Bruno Haible  <bruno@clisp.org>
70339         * gnulib-tool: Don't ask the user to perform edits in the generated
70340         Makefile.ams.
70341         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
70342         apply to the Makefile.am being generated.
70343         (func_emit_tests_Makefile_am): Execute edits that apply to the
70344         Makefile.am being generated.
70345         (func_import): Setup list of Makefile.am edits before emitting the
70346         Makefile.ams, not at the end.
70347         (func_create_testdir): Update.
70348         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70350 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70352         * gnulib-tool (func_import): Store the --tests-base option in the
70353         comment in gnulib-cache.m4.
70355 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
70357         * NEWS: Document increased portability that sys_select now provides.
70359         * lib/sys_select.in.h: Install select wrapper.
70360         * lib/sys_socket.in.h: Use more descriptive name when there is no
70361         select wrapper.
70362         * lib/winsock-select.c: New.
70363         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
70364         Require gl_HEADER_SYS_SOCKET.
70365         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
70366         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
70367         * tests/test-sys_select.c: Add functional tests.
70369 2008-09-24  Eric Blake  <ebb9@byu.net>
70371         open, fopen: close fd leak in last patch
70372         * lib/open.c (rpl_open): Close fd before returning error.
70373         * lib/fopen.c (rpl_fopen): Close fd before returning error.
70374         * doc/posix-functions/open.texi (open): Document that Irix also
70375         has the bug.
70376         * doc/posix-functions/fopen.texi (fopen): Likewise.
70377         Reported by Paolo Bonzini.
70379 2008-09-24  Bruno Haible  <bruno@clisp.org>
70381         Ensure that a filename ending in a slash cannot be used to access a
70382         non-directory.
70383         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
70384         to check whether it's really a directory.
70385         * lib/fopen.c: Include fcntl.h, unistd.h.
70386         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
70387         and fdopen().
70388         * modules/fopen (Depends-on): Add unistd.
70389         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
70390         * tests/test-fopen.c (main): Likewise.
70391         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
70392         * doc/posix-functions/fopen.texi: Likewise.
70393         Reported by Eric Blake.
70395 2008-09-23  Eric Blake  <ebb9@byu.net>
70397         c-stack: avoid compiler optimizations when provoking overflow
70398         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
70399         recursion harder to optimize, to ensure a stack overflow occurs.
70400         * tests/test-c-stack.c (recurse): Likewise.
70401         Borrowed from libsigsegv.
70403         c-stack: work around Irix sigaltstack bug
70404         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
70405         whether sigaltstack uses wrong end of stack_t (copied in part from
70406         libsigsegv).
70407         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
70408         Irix bug, without requiring an over-allocation.
70409         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
70410         bug.
70412         fopen: document mingw bug on directories
70413         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
70414         not allowing a stream visiting a directory, even though reading
70415         from such a stream is not portable.
70417 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
70419         * lib/poll.c: Rewrite.
70420         * modules/poll: Depend on alloca.
70422 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
70424         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
70425         instead define prototypes for a full set of wrappers.  Ensure
70426         that Cygwin does not use the compatibility code, which is only
70427         for MinGW.
70428         * lib/winsock.c: New.
70429         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
70430         * modules/sys_socket: Add lib/winsock.c.
70432         * modules/poll-tests: Add errno and perror.
70433         * tests/test-poll.c: Use ioctl, not ioctlsocket.
70435 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
70437         * tests/test-poll.c: Downgrade minimum needed Winsock version.
70439 2008-09-23  Bruno Haible  <bruno@clisp.org>
70441         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
70442         * doc/glibc-functions/*: Likewise.
70444 2008-09-23  Simon Josefsson  <simon@josefsson.org>
70446         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
70447         success.
70449 2008-09-22  Eric Blake  <ebb9@byu.net>
70450             Bruno Haible  <bruno@clisp.org>
70452         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
70453         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
70454         supply %A but mishandle pseudo-NaN.
70455         Reported by Simon Josefsson.
70457 2008-09-21  Bruno Haible  <bruno@clisp.org>
70459         * tests/test-lock.c (main): Tweak skip message.
70460         * tests/test-tls.c (main): Likewise.
70462 2008-09-21  Bruno Haible  <bruno@clisp.org>
70464         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
70465         whether 'struct sigaction' has sa_sigaction here...
70466         (gl_PREREQ_SIG_HANDLER_H): ... not here.
70467         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
70469 2008-09-21  Bruno Haible  <bruno@clisp.org>
70471         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
70472         section.
70473         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
70474         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
70475         the new section.
70476         (Support for obsolete systems lacking POSIX:2001): New section.
70477         (String handling <string.h>): Move strdup to the new section.
70478         Suggested by Simon Josefsson and Paolo Bonzini.
70480 2008-09-21  Bruno Haible  <bruno@clisp.org>
70482         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
70483         exponents in %e and %g results on 'long double'. Needed for mingw's
70484         improved *printf functions.
70485         * tests/test-vasprintf-posix.c (test_function): Likewise.
70486         * tests/test-snprintf-posix.h (test_function): Likewise.
70487         * tests/test-sprintf-posix.h (test_function): Likewise.
70488         Reported by Eric Blake.
70490 2008-09-21  Bruno Haible  <bruno@clisp.org>
70492         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
70493         * tests/test-sprintf-posix.h (test_function): Likewise.
70495 2008-09-21  Bruno Haible  <bruno@clisp.org>
70497         * modules/getpass (Depends-on): Add strdup-posix.
70499         New module 'strdup-posix'.
70500         * modules/strdup-posix: New file.
70501         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
70502         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
70503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
70504         REPLACE_STRDUP.
70505         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
70506         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
70507         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70508         strdup-posix.
70510         * modules/strdup (Depends-on): Remove malloc-posix.
70512 2008-09-20  Bruno Haible  <bruno@clisp.org>
70514         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
70515         Wildenhues.
70517 2008-09-20  Bruno Haible  <bruno@clisp.org>
70519         Ensure that wint_t gets defined on IRIX 5.3.
70520         * lib/wchar.in.h (wint_t): Define if not defined by the system.
70521         * lib/wctype.in.h (wint_t): Likewise.
70522         (__wctype_wint_t): Remove type.
70523         (isw*): Use wint_t instead of __wctype_wint_t.
70524         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
70525         * modules/wchar (Files): Add m4/wint_t.m4.
70526         (Makefile.am): Substitute HAVE_WINT_T.
70527         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
70528         * tests/test-wctype.c: Check that wint_t is defined.
70529         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
70530         * doc/posix-headers/wctype.texi: Likewise.
70531         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
70533 2008-09-18  Bruno Haible  <bruno@clisp.org>
70535         * gnulib-tool (func_exit): Update comment.
70537 2008-09-18  Simon Josefsson  <simon@josefsson.org>
70539         * modules/getaddrinfo (Depends-on): Remove strdup, this module
70540         assumes strdup exists and does not depend on strdup to return
70541         ENOMEM on out of memory conditions.
70543 2008-09-18  Bruno Haible  <bruno@clisp.org>
70545         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
70546         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
70547         digits for the exponent.
70549 2008-09-18  Jim Meyering  <meyering@redhat.com>
70550             Bruno Haible  <bruno@clisp.org>
70552         * lib/vasnprintf.c (decimal_point_char): Define also if
70553         NEED_PRINTF_INFINITE_LONG_DOUBLE.
70555 2008-09-16  Bruno Haible  <bruno@clisp.org>
70556         and Eric Blake  <ebb9@byu.net>
70558         vasnprintf: support Irix 5.3
70559         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
70560         that mishandle long double infinity.
70561         Reported by Tom G. Christensen.
70563 2008-09-16  Bruno Haible  <bruno@clisp.org>
70565         * doc/glibc-functions/scandir.texi: Mention the function is missing on
70566         Solaris 9.
70567         * doc/glibc-functions/alphasort.texi: Likewise.
70568         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
70570 2008-09-16  Jim Meyering  <meyering@redhat.com>
70572         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
70573         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
70574         a umask modification leak out of a subshell.  Otherwise, the
70575         opensolaris /bin/sh would be accepted and thus cause unwarranted
70576         failures in the coreutils test suite.
70578 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
70580         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
70581         to succeed.
70583 2008-09-16  Jim Meyering  <meyering@redhat.com>
70585         avoid spurious test failure when library is built without ACL support
70586         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
70587         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
70588         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
70589         * tests/test-copy-acl.sh: Likewise.
70591 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70593         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
70594         based on character occurrence counts.
70596 2008-09-15  Eric Blake  <ebb9@byu.net>
70598         tests: avoid some compiler warnings
70599         * tests/test-memchr.c (main): Pass NULL indirectly.
70600         * tests/test-closein.c (main): Avoid unused variable.
70602 2008-09-15  Bruno Haible  <bruno@clisp.org>
70604         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
70605         are missing on OpenBSD 4.0 individually.
70606         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
70608 2008-09-15  Bruno Haible  <bruno@clisp.org>
70610         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
70611         * doc/posix-functions/strerror.texi: Mention also Cygwin.
70612         * doc/posix-functions/perror.texi: Likewise.
70613         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
70614         is missing.
70615         Reported by Eric Blake.
70617         * lib/errno.in.h: Use replacement values >= 2000.
70618         Reported by Eric Blake.
70620 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70622         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
70623         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
70624         limit.
70625         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
70626         compareseq was aborted.
70628 2008-09-14  Bruno Haible  <bruno@clisp.org>
70630         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
70631         yvec_edit_count.
70632         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
70633         (fstrcmp_bounded): Simplify result computation accordingly.
70635 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70637         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
70638         (fstrcmp): Define in terms of fstrcmp_bounded.
70639         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
70640         lower_bound argument.
70641         Return quickly if the result is certainly < lower_bound.
70642         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
70644 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70646         * lib/diffseq.h (EARLY_ABORT): New macro.
70647         (compareseq): Change return type to bool. Return true when EARLY_ABORT
70648         evaluates to true.
70650 2008-09-14  Bruno Haible  <bruno@clisp.org>
70652         * modules/perror-tests: New file.
70653         * tests/test-perror.sh: New file.
70654         * tests/test-perror.c: New file.
70656         New module 'perror'.
70657         * lib/stdio.in.h (perror): New declaration.
70658         * lib/perror.c: New file.
70659         * m4/perror.m4: New file.
70660         * modules/perror: New file.
70661         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
70662         * doc/posix-functions/perror.texi: Mention the perror module.
70663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
70664         REPLACE_PERROR.
70665         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
70666         REPLACE_PERROR.
70668 2008-09-14  Bruno Haible  <bruno@clisp.org>
70670         * modules/stdio (Makefile.am): Reorder to match the order in
70671         lib/stdio.in.h.
70672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70674 2008-09-13  Bruno Haible  <bruno@clisp.org>
70676         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
70678 2008-09-13  Bruno Haible  <bruno@clisp.org>
70680         Extend strerror to cover the added errno values.
70681         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
70682         (rpl_strerror): Provide error messages for the added errno values and
70683         for the WSA* values.
70684         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
70685         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
70686         strerror.
70687         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
70688         * modules/strerror (Depends-on): Add errno.
70689         * doc/posix-functions/strerror.texi: Document the change.
70690         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
70691         and EOVERFLOW.
70693 2008-09-13  Bruno Haible  <bruno@clisp.org>
70695         * modules/EOVERFLOW: Remove file.
70696         * m4/eoverflow.m4: Remove file.
70697         * modules/EOVERFLOW-tests: Remove file.
70698         * tests/test-EOVERFLOW.c: Remove file.
70699         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
70700         * modules/ftell (Depends-on): Likewise.
70701         * modules/getdelim (Depends-on): Likewise.
70702         * modules/getugroups (Depends-on): Likewise.
70703         * modules/poll (Depends-on): Likewise.
70704         * modules/snprintf (Depends-on): Likewise.
70705         * modules/sprintf-posix (Depends-on): Likewise.
70706         * modules/vasnprintf (Depends-on): Likewise.
70707         * modules/vasprintf (Depends-on): Likewise.
70708         * modules/vfprintf-posix (Depends-on): Likewise.
70709         * modules/vsnprintf (Depends-on): Likewise.
70710         * modules/vsprintf-posix (Depends-on): Likewise.
70711         * modules/xvasprintf (Depends-on): Likewise.
70712         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
70713         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
70714         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
70715         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
70716         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
70717         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
70718         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
70719         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
70720         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
70721         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
70722         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
70723         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
70724         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
70725         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
70726         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
70727         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
70728         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
70729         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
70730         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
70731         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
70732         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
70733         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
70734         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
70735         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
70736         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
70737         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
70738         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
70739         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
70740         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
70741         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
70742         * MODULES.html.sh: Remove EOVERFLOW.
70743         * NEWS: Mention the change.
70745 2008-09-13  Bruno Haible  <bruno@clisp.org>
70747         * modules/errno-tests: New file.
70748         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
70750         * lib/errno.in.h: New file.
70751         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
70752         * modules/errno: New file.
70753         * doc/posix-headers/errno.texi: Update documentation.
70754         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
70756 2008-09-13  Bruno Haible  <bruno@clisp.org>
70758         * tests/test-poll.c: Use #if for native Windows, rather than testing
70759         __MSVCRT__.
70761 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70762             Bruno Haible  <bruno@clisp.org>
70764         * lib/glob.c: Don't include <pwd.h> on native Windows.
70765         (WINDOWS32): New macro.
70766         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
70768 2008-09-13  Bruno Haible  <bruno@clisp.org>
70770         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
70771         (ETIMEDOUT): Remove macro.
70772         (glthread_cond_timedwait_multithreaded): New declaration.
70773         (glthread_cond_timedwait): Use it.
70774         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
70775         (glthread_cond_timedwait_multithreaded): New function.
70777 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
70779         * modules/poll-tests: Do not check for io.h.
70780         * tests/test-poll.c: Check for __MSVCRT__ instead.
70782 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
70784         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
70785         * modules/poll-tests: Add inet_pton, stdbool, sockets.
70786         * tests/test-poll.c: Use them.  Use _pipe on Windows.
70788 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
70790         * modules/poll-tests: New.
70791         * tests/test-poll.c: New.
70793 2008-09-12  Eric Blake  <ebb9@byu.net>
70795         frexp: test for NetBSD failure on -0.0
70796         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
70797         not all, bugs from NetBSD 3.0 have been fixed.
70798         * doc/posix-functions/frexp.texi (frexp): Document bug.
70799         Reported by Thomas Klausner.
70801         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
70802         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
70803         literal -0.0.
70804         Reported by Jonathan C. Patschke <jp@centtech.com>.
70806 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70808         * lib/glthread/cond.h: Use dummy implementation also if
70809         USE_WIN32_THREADS.
70811 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70813         * modules/fnmatch-posix (License): Change to LGPLv2+.
70814         * modules/fnmatch-gnu (License): Likewise.
70816 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
70818         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
70820 2008-09-11  Jim Meyering  <meyering@redhat.com>
70822         * users.txt: Add gtk-vnc.
70824 2008-09-08  Simon Josefsson  <simon@josefsson.org>
70826         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
70827         rotate amounts.
70829         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
70830         required for 16-bit and 8-bit rotates.
70831         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
70832         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
70833         UINT8_MAX instead of hard-coded constants.
70834         Suggested by Paul Eggert.
70836 2008-09-07  Bruno Haible  <bruno@clisp.org>
70838         * tests/test-striconveh.c (main): Check behaviour when converting from
70839         UTF-7.
70841         Make striconveh work better with stateful encodings.
70842         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
70843         that iconv does not increment the inptr when returning -1/EINVAL.
70845 2008-09-07  Bruno Haible  <bruno@clisp.org>
70847         * build-aux/config.rpath: Update according to libtool-2.2.6.
70848         * build-aux/config.libpath: Likewise.
70850 2008-09-06  Bruno Haible  <bruno@clisp.org>
70852         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
70853         * lib/freadptr.c (freadptr): Likewise.
70854         * lib/freadseek.c (freadptrinc): Likewise.
70855         Reported by Simon Josefsson.
70857 2008-09-06  Bruno Haible  <bruno@clisp.org>
70859         * modules/freadptr (License): Change to LGPLv2+.
70860         * modules/freadseek (License): Likewise.
70861         Suggested by Eric Blake.
70863         * modules/memchr2 (License): Change to LGPLv2+.
70864         Approved by Eric Blake.
70866 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70867             Bruno Haible  <bruno@clisp.org>
70869         Make gnulib-tool work with native 'sed' on AIX.
70870         * gnulib-tool (sed_noop): New variable.
70871         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
70872         func_add_or_update, func_create_testdir): Use it to initialize sed
70873         script variables.
70874         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70876 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
70877             Bruno Haible  <bruno@clisp.org>
70879         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
70880         also works after #include directives.
70882 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
70884         getdate.y: reject an out-of-range timezone value
70885         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
70886         the range [-24...+24].  When specified with only one or two digits,
70887         * tests/test-getdate.c: Tests for the fix.
70888         * doc/getdate.texi: Document this change.
70890 2008-09-03  Bruno Haible  <bruno@clisp.org>
70892         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
70894 2008-09-02  Simon Josefsson  <simon@josefsson.org>
70896         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
70897         <bruce.korb@gmail.com> with ideas from Ben Pfaff
70898         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
70899         Blake <ebb9@byu.net>.
70901         * tests/test-bitrotate.c: Add more test vectors.
70903 2008-09-02  Eric Blake  <ebb9@byu.net>
70905         vasnprintf-posix: handle large precision via %.*d
70906         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
70907         when handling it ourselves.
70908         * tests/test-vasnprintf-posix.c (test_function): Add test.
70909         * tests/test-snprintf-posix.h (test_function): Likewise.
70910         * tests/test-sprintf-posix.h (test_function): Likewise.
70911         * tests/test-vasprintf-posix.c (test_function): Likewise.
70912         Reported by Alain Guibert.
70914 2008-09-01  Eric Blake  <ebb9@byu.net>
70916         c-stack: make configure-time check more robust
70917         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
70918         successful sigaction call.
70919         Reported by Tom G. Christensen.
70921 2008-09-01  Bruno Haible  <bruno@clisp.org>
70923         New module 'findprog-lgpl'.
70924         * modules/findprog-lgpl: New file.
70925         * lib/findprog-lgpl.c: New file.
70926         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
70927         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
70928         to decide whether to use strdup or xstrdup, concatenated_filename or
70929         xconcatenated_filename.
70931 2008-09-01  Bruno Haible  <bruno@clisp.org>
70933         Split module 'concat-filename' into 'concat-filename' (LGPL) and
70934         'xconcat-filename' (GPL).
70935         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
70936         (License): Change to LGPLv2+.
70937         * modules/xconcat-filename: New file.
70938         * lib/concat-filename.h (concatenated_filename): Change specification.
70939         (xconcatenated_filename): New declaration.
70940         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
70941         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
70942         memory situations.
70943         * lib/xconcat-filename.c: New file.
70944         * NEWS: Mention the change.
70945         * lib/findprog.c: Include concat-filename.h, not filename.h.
70946         (find_in_path): Use xconcatenated_filename instead of
70947         concatenated_filename.
70948         * lib/javacomp.c: Include concat-filename.h, not filename.h.
70949         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
70950         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
70951         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
70952         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
70953         instead of concatenated_filename.
70954         * lib/javaexec.c: Include concat-filename.h, not filename.h.
70955         (execute_java_class): Use xconcatenated_filename instead of
70956         concatenated_filename.
70957         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
70958         * modules/javacomp (Depends-on): Likewise.
70959         * modules/javaexec (Depends-on): Likewise.
70961 2008-09-01  Bruno Haible  <bruno@clisp.org>
70963         Split module 'filename' into 'filename' and 'concat-filename'.
70964         * modules/filename: Keep only lib/filename.h.
70965         (License): Change to LGPLv2+.
70966         * modules/concat-filename: New file, extracted from modules/filename.
70967         * lib/filename.h (concatenated_filename): Remove declaration.
70968         * lib/concat-filename.h: New file, extracted from lib/filename.h.
70969         * lib/concat-filename.c: Include concat-filename.h.
70970         * NEWS: Mention the change.
70972 2008-09-01  Simon Josefsson  <simon@josefsson.org>
70974         * lib/bitrotate.h (rotl8, rotr8): Add.
70976         * modules/bitrotate (configure.ac): Need
70977         AC_REQUIRE([AC_C_INLINE]).
70978         (Description): Mention stdint.h.  Reported by Bruno Haible
70979         <bruno@clisp.org>.
70981         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
70982         Paolo Bonzini <bonzini@gnu.org>.
70984 2008-08-31  Bruno Haible  <bruno@clisp.org>
70986         Assume Solaris specific bi-arch conventions on Solaris systems.
70987         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
70988         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
70989         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
70990         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
70991         like acl_libdirstem.
70992         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
70993         acl_libdirstem.
70994         * NEWS: Mention the change.
70995         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
70997 2008-08-31  Jim Meyering  <meyering@redhat.com>
70999         * lib/strftime.h: Add comments describing the two added arguments.
71001         remove duplicate #include directives
71002         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
71003         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
71005 2008-08-31  Bruno Haible  <bruno@clisp.org>
71007         New module 'sigpipe-die'.
71008         * modules/sigpipe-die: New file.
71009         * lib/sigpipe-die.h: New file.
71010         * lib/sigpipe-die.c: New file.
71011         * MODULES.html.sh (Signal handling): Add sigpipe-die.
71013 2008-08-31  Bruno Haible  <bruno@clisp.org>
71015         Don't override previously installed signal handlers.
71016         * lib/fatal-signal.c (saved_sigactions): New variable.
71017         (uninstall_handlers): Reset the signal to the saved handler, not
71018         to SIG_DFL (except when ignored).
71019         (install_handlers): Save the previous handlers.
71021 2008-08-30  Bruno Haible  <bruno@clisp.org>
71023         * gnulib-tool (func_reset_sigpipe): New function.
71024         (func_get_automake_snippet, func_modules_transitive_closure,
71025         func_import): Invoke it before a join command that reads from stdin,
71026         to avoid "echo: write error: Broken pipe" error messages on stderr.
71027         Reported by Sam Steingold <sds@gnu.org>.
71029 2008-08-30  Bruno Haible  <bruno@clisp.org>
71031         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
71032         Code copied from m4/open.m4.
71033         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
71034         access and the filename ends in a slash. Code copied from lib/open.c.
71035         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
71036         * tests/test-fopen.c (main): Check against bug with trailing slash.
71038 2008-08-29  Bruno Haible  <bruno@clisp.org>
71040         Avoid some "gcc -pedantic" warnings.
71041         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
71042         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
71043         * lib/dirent.in.h: Likewise.
71044         * lib/fcntl.in.h: Likewise.
71045         * lib/float.in.h: Likewise.
71046         * lib/iconv.in.h: Likewise.
71047         * lib/inttypes.in.h: Likewise.
71048         * lib/locale.in.h: Likewise.
71049         * lib/math.in.h: Likewise.
71050         * lib/netinet_in.in.h: Likewise.
71051         * lib/search.in.h: Likewise.
71052         * lib/signal.in.h: Likewise.
71053         * lib/stdarg.in.h: Likewise.
71054         * lib/stdint.in.h: Likewise.
71055         * lib/stdio.in.h: Likewise.
71056         * lib/stdlib.in.h: Likewise.
71057         * lib/string.in.h: Likewise.
71058         * lib/strings.in.h: Likewise.
71059         * lib/sys_select.in.h: Likewise.
71060         * lib/sys_socket.in.h: Likewise.
71061         * lib/sys_stat.in.h: Likewise.
71062         * lib/sys_time.in.h: Likewise.
71063         * lib/sysexits.in.h: Likewise.
71064         * lib/time.in.h: Likewise.
71065         * lib/unistd.in.h: Likewise.
71066         * lib/wchar.in.h: Likewise.
71067         * lib/wctype.in.h: Likewise.
71068         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
71069         * modules/fchdir (Makefile.am): Likewise.
71070         * modules/fcntl (Makefile.am): Likewise.
71071         * modules/float (Makefile.am): Likewise.
71072         * modules/iconv_open (Makefile.am): Likewise.
71073         * modules/inttypes (Makefile.am): Likewise.
71074         * modules/locale (Makefile.am): Likewise.
71075         * modules/math (Makefile.am): Likewise.
71076         * modules/netinet_in (Makefile.am): Likewise.
71077         * modules/search (Makefile.am): Likewise.
71078         * modules/signal (Makefile.am): Likewise.
71079         * modules/stdarg (Makefile.am): Likewise.
71080         * modules/stdint (Makefile.am): Likewise.
71081         * modules/stdio (Makefile.am): Likewise.
71082         * modules/stdlib (Makefile.am): Likewise.
71083         * modules/string (Makefile.am): Likewise.
71084         * modules/strings (Makefile.am): Likewise.
71085         * modules/sys_select (Makefile.am): Likewise.
71086         * modules/sys_socket (Makefile.am): Likewise.
71087         * modules/sys_stat (Makefile.am): Likewise.
71088         * modules/sys_time (Makefile.am): Likewise.
71089         * modules/sysexits (Makefile.am): Likewise.
71090         * modules/time (Makefile.am): Likewise.
71091         * modules/unistd (Makefile.am): Likewise.
71092         * modules/wchar (Makefile.am): Likewise.
71093         * modules/wctype (Makefile.am): Likewise.
71094         Reported by Reuben Thomas <rrt@sc3d.org>.
71096 2008-08-29  Bruno Haible  <bruno@clisp.org>
71098         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
71099         any more.
71101 2008-08-29  Simon Josefsson  <simon@josefsson.org>
71103         * MODULES.html.sh (Misc): Add bitrotate.
71105         * modules/bitrotate: New file.
71107         * lib/bitrotate.h: New file.
71109         * modules/bitrotate-tests: New file.
71111         * tests/test-bitrotate.c: New file.
71113         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
71114         on the bitrotate module.
71116         * lib/arctwo.c: Use new bitrotate module.
71118 2008-08-29  Jim Meyering  <meyering@redhat.com>
71120         bootstrap: merge changes from coreutils
71121         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
71122         of copied files.  Remove a kludge, now that this is fixed.
71123         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
71124         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
71125         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
71127 2008-08-29  Bruno Haible  <bruno@clisp.org>
71129         * MODULES.html.sh: Remove --cvs-urls option.
71131 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
71133         maint.mk: adjust to file name change
71134         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
71136 2008-08-28  Jim Meyering  <meyering@redhat.com>
71138         * modules/getndelim2 (License): Relicense to LGPLv2+.
71139         Approved by Richard Stallman for the version of 1995, and by
71140         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
71142 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
71144         * lib/getdelim.c (flockfile, funlockfile): Make all of them
71145         dummy if one is not available.  Do not touch them if
71146         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
71147         (getc_maybe_unlocked): New.
71148         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
71150 2008-08-26  Eric Blake  <ebb9@byu.net>
71152         doc/INSTALL: resync from autoconf
71153         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
71154         (INSTALL_PRELUDE): Delete; this is done more efficiently by
71155         moving...
71156         * install.texi [!autoconf]: ...here.  Resync from autoconf.
71157         * INSTALL: Regenerate.
71158         * INSTALL.ISO: New file.
71159         * INSTALL.UTF-8: Likewise.
71161 2008-08-26  Jim Meyering  <meyering@redhat.com>
71163         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
71164         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
71165         these definitions conditional, so that they may be overridden, too.
71167 2008-08-26  Bruno Haible  <bruno@clisp.org>
71169         Generate INSTALL file variants with prettier quotes.
71170         * doc/Makefile (INSTALL_PRELUDE): New macro.
71171         (INSTALL): Use it.
71172         (INSTALL.ISO, INSTALL.UTF-8): New rules.
71174 2008-08-26  Bruno Haible  <bruno@clisp.org>
71176         Run makeinfo in an English locale.
71177         * doc/Makefile (MAKEINFO): New variable.
71179 2008-08-26  Bruno Haible  <bruno@clisp.org>
71181         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
71182         Suggested by Eric Blake.
71184 2008-08-25  Bruno Haible  <bruno@clisp.org>
71186         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
71188 2008-08-25  Eric Blake  <ebb9@byu.net>
71190         c-stack: test that stack overflow can be caught
71191         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
71192         that platform allows handling stack overflow; at least OS/2 EMX
71193         has sigaltstack, but crashes before transferring control to
71194         handler on stack overflow.
71195         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
71196         check for HAVE_STACK_OVERFLOW_HANDLING.
71197         Reported by Elbert Pol.
71199 2008-08-25  Bruno Haible  <bruno@clisp.org>
71201         * doc/posix-functions/strftime.texi: Fix description of strftime
71202         module.
71204 2008-08-24  Bruno Haible  <bruno@clisp.org>
71206         * tests/uniwidth/test-uc_width2.c: New file.
71207         * tests/uniwidth/test-uc_width2.sh: New file.
71208         * modules/uniwidth/width-tests (Files): Add the new files.
71209         (TESTS): Add uniwidth/test-uc_width2.sh.
71210         (TESTS_ENVIRONMENT): New variable.
71211         (check_PROGRAMS): Add test-uc_width2.
71212         (test_uc_width2_SOURCES): New variable.
71214         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
71215         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
71216         not 0x00AB.
71217         Reported by Alexander V. Lukyanov <lav@netis.ru>.
71219 2008-08-22  Eric Blake  <ebb9@byu.net>
71221         test-lock, test-tls: mention why a test is skipped
71222         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
71223         skipped.
71224         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
71226         count-one-bits: relax license
71227         * modules/count-one-bits (License): Relicense to LGPLv2+.
71228         Suggested by Ludovic Courtès, approved by Ben Pfaff.
71230 2008-08-22  Andreas Schwab  <schwab@suse.de>
71232         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
71233         Remove spurious space in assignment.
71235 2008-08-21  Simon Josefsson  <simon@josefsson.org>
71237         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
71238         Paul Eggert <eggert@CS.UCLA.EDU>.
71240 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
71242         * modules/gettext: Add m4/threadlib.m4.
71244 2008-08-19  Eric Blake  <ebb9@byu.net>
71246         test-c-stack: fix compilation failure on FreeBSD 5.0
71247         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
71248         headers before <sys/resource.h>.
71249         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
71250         the bug.
71251         Reported by Nelson H. F. Beebe.
71253         strverscmp: migrate from "strverscmp.h" to <string.h>
71254         * modules/string (Makefile.am): Add new hooks.
71255         * modules/strverscmp (Files): Remove strverscmp.h.
71256         (Depends-on): Add string.
71257         (configure.ac): Add indicator.
71258         (Include): Mention new header.
71259         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
71260         defaults.
71261         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
71262         results.
71263         * lib/strverscmp.h: Delete.
71264         * lib/string.in.h (strverscmp): Provide declaration, when needed.
71265         * tests/test-strverscmp.c (includes): Adjust client.
71266         * lib/check-version.c (includes): Likewise.
71267         * NEWS: Document the change.
71269         strverscmp: add unit test
71270         * modules/strverscmp-tests: New file.
71271         * tests/test-strverscmp.c: Likewise.
71273 2008-08-19  Simon Josefsson  <simon@josefsson.org>
71275         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
71276         regarding Windows crypto stuff, from Mono.
71278 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
71280         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
71281         if present, for intel RND.  Return error on failures.
71283 2008-08-18  Ben Pfaff  <blp@gnu.org>
71285         gitlog-to-changelog: give better diagnostic for failed pipe-open
71286         * build-aux/gitlog-to-changelog: Improve error message: suggest
71287         that the version of Git may be too old.
71289 2008-08-18  Simon Josefsson  <simon@josefsson.org>
71291         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
71292         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
71294 2008-08-18  Bruno Haible  <bruno@clisp.org>
71296         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
71297         pthread_in_use().
71299 2008-08-18  Bruno Haible  <bruno@clisp.org>
71301         * lib/glthread/threadlib.c: Include <pthread.h>.
71303 2008-08-18  Bruno Haible  <bruno@clisp.org>
71305         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
71306         glthread_recursive_lock_* macros.
71307         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
71308         Fix syntax error.
71310 2008-08-18  Bruno Haible  <bruno@clisp.org>
71312         * lib/glthread/thread.c: Avoid forcing a context switch right after
71313         thread creation.
71315 2008-08-17  Bruno Haible  <bruno@clisp.org>
71317         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
71318         * lib/glthread/thread.h: Provide Win32 specific implementation.
71319         * modules/thread (Files): Add lib/glthread/thread.c.
71320         (Depends-on): Add lock.
71321         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
71323 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71325         New module 'yield'.
71326         * modules/yield: New file.
71327         * lib/glthread/yield.h: New file.
71328         * m4/yield.m4: New file.
71329         * MODULES.html.sh (Multithreading): Add yield.
71331 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71333         New module 'thread'.
71334         * modules/thread: New file.
71335         * lib/glthread/thread.h: New file.
71336         * m4/thread.m4: New file.
71337         * MODULES.html.sh (Multithreading): Add thread.
71339 2008-08-17  Bruno Haible  <bruno@clisp.org>
71341         * lib/glthread/lock.h: Include <stdlib.h> always.
71342         * lib/glthread/tls.h: Likewise.
71343         * lib/glthread/cond.h: Likewise.
71345 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71347         New module 'cond'.
71348         * modules/cond: New file.
71349         * lib/glthread/cond.h: New file.
71350         * lib/glthread/cond.c: New file.
71351         * m4/cond.m4: New file.
71352         * MODULES.html.sh (Multithreading): Add cond.
71354 2008-08-16  Eric Blake  <ebb9@byu.net>
71356         c-stack: fix regression on Irix 5.3 from 2008-06-21
71357         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
71358         sa_sigaction...
71359         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
71360         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
71361         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
71362         * modules/signal (Makefile.am): Use the value.
71363         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
71364         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
71365         * doc/posix-headers/signal.texi (signal.h): Document this
71366         portability issue.
71367         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
71368         Reported by Tom G. Christensen.
71370 2008-08-17  Bruno Haible  <bruno@clisp.org>
71372         New module 'threadlib'.
71373         * modules/threadlib: New file.
71374         * lib/glthread/threadlib.c: New file, extracted from
71375         lib/glthread/lock.c.
71376         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
71377         functions.
71378         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
71379         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
71380         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
71381         macros.
71382         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
71383         (gl_DISABLE_THREADS): Remove macro.
71384         * modules/lock (Files): Remove build-aux/config.rpath.
71385         (Depends-on): Remove havelib. Add threadlib.
71386         (configure.ac-early): Remove section.
71387         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
71388         * modules/tls (Depends-on): Remove lock. Add threadlib.
71389         (Link): New section, copied from threadlib.
71390         * MODULES.html.sh (Multithreading): Add threadlib.
71392 2008-08-14  Bruno Haible  <bruno@clisp.org>
71394         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
71395         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
71396         glthread_rwlock_unlock, glthread_rwlock_destroy,
71397         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
71398         glthread_recursive_lock_destroy): Define as macros always.
71399         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
71400         glthread_lock_lock.
71401         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
71402         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
71403         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
71404         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
71405         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
71406         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
71407         (glthread_recursive_lock_lock_func): Renamed from
71408         glthread_recursive_lock_lock.
71409         (glthread_recursive_lock_unlock_func): Renamed from
71410         glthread_recursive_lock_unlock.
71411         (glthread_recursive_lock_destroy_func): Renamed from
71412         glthread_recursive_lock_destroy.
71414 2008-08-14  Bruno Haible  <bruno@clisp.org>
71416         * lib/glthread/lock.h: Renamed from lib/lock.h.
71417         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
71418         * lib/glthread/tls.h: Renamed from lib/tls.h.
71419         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
71420         * lib/fstrcmp.c: Update includes.
71421         * lib/strsignal.c: Update includes.
71422         * modules/lock (Files, Makefile.am): Update.
71423         (Include): Change to "glthread/lock.h".
71424         * modules/tls (Files, Makefile.am): Update.
71425         (Include): Change to "glthread/tls.h".
71426         * tests/test-lock.c: Update includes.
71427         * tests/test-tls.c: Update includes.
71428         * NEWS: Mention the renamed header files.
71430 2008-08-11  Jim Meyering  <meyering@redhat.com>
71432         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
71434 2008-08-11  Eric Blake  <ebb9@byu.net>
71436         test-c-stack: avoid C99-ism
71437         * tests/test-c-stack.c (main): Fix whitespace, move declaration
71438         before statement.
71439         Reported by Alain Guibert.
71441 2008-08-10  Jim Meyering  <meyering@redhat.com>
71443         ensure that return value of uinttostr et al are not ignored
71444         * lib/inttostr.h (__GNUC_PREREQ): Define.
71445         (__attribute_warn_unused_result__): Define.
71446         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
71448 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
71450         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
71451         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
71453 2008-08-07  Jim Meyering  <meyering@redhat.com>
71455         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
71457         * modules/mkstemp (License): Relicense under LGPLv2+.
71458         * modules/tempname (License): Likewise.
71460 2008-08-06  Bruno Haible  <bruno@clisp.org>
71462         * lib/poll.c (poll): Further micro-optimization.
71464 2008-08-06  Jim Meyering  <meyering@redhat.com>
71466         inet_pton.c: use locale-independent tolower
71467         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
71468         (inet_pton6): Use c_tolower rather than tolower.
71469         * modules/inet_pton (Depends-on): Add c-ctype.
71471 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
71473         * lib/poll.c (poll): Avoid division when timeout is 0, cache
71474         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
71476 2008-08-06  Jim Meyering  <meyering@redhat.com>
71478         * modules/inet_pton (License): Relicense under LGPLv2+.
71480 2008-08-03  Bruno Haible  <bruno@clisp.org>
71482         Additional non-aborting API for lock and tls.
71483         * lib/lock.h: Include <errno.h>.
71484         (glthread_lock_init): New macro/function.
71485         (gl_lock_init): Define as wrapper around glthread_lock_init.
71486         (glthread_lock_lock): New macro/function.
71487         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
71488         (glthread_lock_unlock): New macro/function.
71489         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
71490         (glthread_lock_destroy): New macro/function.
71491         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
71492         (glthread_rwlock_init): New macro/function.
71493         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
71494         (glthread_rwlock_rdlock): New macro/function.
71495         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
71496         (glthread_rwlock_wrlock): New macro/function.
71497         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
71498         (glthread_rwlock_unlock): New macro/function.
71499         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
71500         (glthread_rwlock_destroy): New macro/function.
71501         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
71502         (glthread_recursive_lock_init): New macro/function.
71503         (gl_recursive_lock_init): Define as wrapper around
71504         glthread_recursive_lock_init.
71505         (glthread_recursive_lock_lock): New macro/function.
71506         (gl_recursive_lock_lock): Define as wrapper around
71507         glthread_recursive_lock_lock.
71508         (glthread_recursive_lock_unlock): New macro/function.
71509         (gl_recursive_lock_unlock): Define as wrapper around
71510         glthread_recursive_lock_unlock.
71511         (glthread_recursive_lock_destroy): New macro/function.
71512         (gl_recursive_lock_destroy): Define as wrapper around
71513         glthread_recursive_lock_destroy.
71514         (glthread_once): New macro/function.
71515         (gl_once): Define as wrapper around glthread_once.
71516         Update function declarations.
71517         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
71518         glthread_rwlock_init. Return error code.
71519         (glthread_rwlock_rdlock_multithreaded): Renamed from
71520         glthread_rwlock_rdlock. Return error code.
71521         (glthread_rwlock_wrlock_multithreaded): Renamed from
71522         glthread_rwlock_wrlock. Return error code.
71523         (glthread_rwlock_unlock_multithreaded): Renamed from
71524         glthread_rwlock_unlock. Return error code.
71525         (glthread_rwlock_destroy_multithreaded): Renamed from
71526         glthread_rwlock_destroy. Return error code.
71527         (glthread_recursive_lock_init_multithreaded): Renamed from
71528         glthread_recursive_lock_init. Return error code.
71529         (glthread_recursive_lock_lock_multithreaded): Renamed from
71530         glthread_recursive_lock_lock. Return error code.
71531         (glthread_recursive_lock_unlock_multithreaded): Renamed from
71532         glthread_recursive_lock_unlock. Return error code.
71533         (glthread_recursive_lock_destroy_multithreaded): Renamed from
71534         glthread_recursive_lock_destroy. Return error code.
71535         (glthread_once_call): Make static.
71536         (glthread_once_multithreaded): Renamed from glthread_once.
71537         * lib/tls.h: Include <errno.h>.
71538         (glthread_tls_key_init): New macro/function.
71539         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
71540         (glthread_tls_set): New macro/function.
71541         (gl_tls_set): Define as wrapper around glthread_tls_set.
71542         (glthread_tls_key_destroy): New macro/function.
71543         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
71544         Update function declarations.
71545         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
71546         glthread_tls_get.
71547         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
71549 2008-08-04  Eric Blake  <ebb9@byu.net>
71551         gnumakefile: use space, not TAB, outside of targets
71552         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
71554 2008-08-02  Jim Meyering  <meyering@redhat.com>
71556         getdate.y: avoid locale-dependent date parsing failure
71557         In Turkish locales, getdate would fail to recognize keywords
71558         containing a lowercase "i".  The solution is not to rely on
71559         locale-sensitive case-conversion.
71560         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
71561         (lookup_word): Use c_toupper in place of toupper.
71562         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
71563         Reported by Vefa Bicakci <bicave@superonline.com> in
71564         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
71565         * modules/getdate (Depends-on): Add c-ctype.
71567 2008-08-02  Bruno Haible  <bruno@clisp.org>
71569         * gnulib-tool (func_import): When updating or creating a .gitignore
71570         file, prepend each added line with a slash, and ignore leading slashes
71571         from the existing lines.
71572         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
71574 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71576         Portability fix for GNU make 3.79.1.
71577         * top/GNUmakefile: Avoid 'else COND', which older GNU make
71578         versions do not understand.
71580 2008-08-01  Bruno Haible  <bruno@clisp.org>
71582         Work around bug of HP-UX 10.20 cc with -0.0 literal.
71583         * tests/test-isnanf.h (zero): New variable.
71584         (main): Avoid literal -0.0f.
71585         * tests/test-isnand.h (zero): New variable.
71586         (main): Avoid literal -0.0.
71587         * tests/test-isnanl.h (zero): New variable.
71588         (main): Avoid literal -0.0L.
71589         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
71590         (test_float, test_double, test_long_double): Avoid literals -0.0f,
71591         -0.0, -0.0L.
71592         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
71593         (test_signbitd): Avoid literal -0.0.
71594         (test_signbitl): Avoid literal -0.0L.
71595         * tests/test-ceilf1.c (zero): New variable.
71596         (main): Avoid literal -0.0f.
71597         * tests/test-ceill.c (zero): New variable.
71598         (main): Avoid literal -0.0L.
71599         * tests/test-floorf1.c (zero): New variable.
71600         (main): Avoid literal -0.0f.
71601         * tests/test-floorl.c (zero): New variable.
71602         (main): Avoid literal -0.0L.
71603         * tests/test-roundf1.c (zero): New variable.
71604         (main): Avoid literal -0.0f.
71605         * tests/test-round1.c (zero): New variable.
71606         (main): Avoid literal -0.0.
71607         * tests/test-roundl.c (zero): New variable.
71608         (main): Avoid literal -0.0L.
71609         * tests/test-truncf1.c (zero): New variable.
71610         (main): Avoid literal -0.0f.
71611         * tests/test-trunc1.c (zero): New variable.
71612         (main): Avoid literal -0.0.
71613         * tests/test-truncl.c (zero): New variable.
71614         (main): Avoid literal -0.0L.
71615         * tests/test-frexp.c (zero): New variable.
71616         (main): Avoid literal -0.0.
71617         * tests/test-frexpl.c (zero): New variable.
71618         (main): Avoid literal -0.0L.
71619         * tests/test-ldexpl.c (zero): New variable.
71620         (main): Avoid literal -0.0L.
71621         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
71622         (zerod, zerol): New variables.
71623         (test_function): Avoid literals -0.0, -0.0L.
71624         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
71625         (zerod, zerol): New variables.
71626         (test_function): Avoid literals -0.0, -0.0L.
71627         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
71628         (zerod, zerol): New variables.
71629         (test_function): Avoid literals -0.0, -0.0L.
71630         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
71631         (zerod, zerol): New variables.
71632         (test_function): Avoid literals -0.0, -0.0L.
71633         * tests/test-strtod.c (zero): New variable.
71634         (main): Avoid literal -0.0.
71635         Reported by Jonathan C. Patschke <jp@centtech.com>.
71637 2008-07-31  Jim Meyering  <meyering@redhat.com>
71639         sha256.h: correct definition of SHA224_DIGEST_SIZE
71640         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
71641         Reported by Paulie Pena IV <paulie4@gmail.com>.
71642         Define as 224 / 8, rather than as a literal.
71643         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
71644         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
71645         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
71647 2008-07-31  Bruno Haible  <bruno@clisp.org>
71649         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
71650         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
71651         Reported by Jonathan Patschke <jp@centtech.com>.
71653 2008-07-31  Bruno Haible  <bruno@clisp.org>
71655         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
71656         Reported by Paolo Bonzini <bonzini@gnu.org>.
71658 2008-07-30  Eric Blake  <ebb9@byu.net>
71660         test-strtod: allow compilation without -lm
71661         * tests/test-strtod.c (main): Avoid link dependence on fabs.
71662         Reported by Dennis Clarke <blastwave@gmail.com>.
71664 2008-07-28  Jim Meyering  <meyering@redhat.com>
71666         bootstrap: work also when there are no .po files in po/
71667         * build-aux/bootstrap (update_po_files): Complete the change
71668         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
71670 2008-07-27  Jim Meyering  <meyering@redhat.com>
71672         * users.txt: Add zile.
71674 2008-07-26  Ben Pfaff  <blp@gnu.org>
71676         Add missing dependencies on new m4/exponent[fdl].m4 files.
71677         * modules/isnanf-nolibm: Add m4/exponentf.m4.
71678         * modules/isnand-nolibm: Add m4/exponentd.m4.
71679         * modules/isnanl-nolibm: Add m4/exponentl.m4.
71680         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
71681         m4/isnan[fdl].m4, because the macros actually used moved.
71682         Reported by Jim Meyering.
71684 2008-07-14  Ben Pfaff  <blp@gnu.org>
71686         Add isinf module.
71687         * lib/isinf.c: New file.
71688         * lib/math.in.h: Define isinf macro if we have decided to replace
71689         it.
71690         * m4/isinf.m4: New file.
71691         * m4/math_h.m4: Initialize and substitute variables for isinf
71692         module.
71693         * modules/isinf: New file.
71694         * modules/isinf-tests: New file.
71695         * modules/math: Add substitutions for new module.
71696         * tests/test-isinf.c: New file.
71697         * doc/posix-functions/isinf.texi: Mention new module.
71698         * MODULES.html.sh: Mention new module.
71700 2008-07-14  Ben Pfaff  <blp@gnu.org>
71702         Factor out some macros for use by additional modules.
71703         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
71704         exponentf.m4.
71705         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
71706         exponentd.m4.
71707         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
71708         file exponentl.m4.
71709         * m4/exponentf.m4: New file.
71710         * m4/exponentd.m4: New file.
71711         * m4/exponentl.m4: New file.
71712         * modules/isnanf: Use new file m4/exponentf.m4.
71713         * modules/isnand: Use new file m4/exponentd.m4.
71714         * modules/isnanl: Use new file m4/exponentl.m4.
71716 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
71718         mktime.c: normalize tp->tm_isdst value to -1/0/1.
71719         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
71720         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
71721         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
71723         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
71724         readlink on platforms without PATH_MAX.
71726 2008-07-21  Eric Blake  <ebb9@byu.net>
71728         Warn, not fail, on stale version.
71729         * top/GNUmakefile (_curr-ver): Tone down previous patch.
71731         Don't allow installation with stale devel version number.
71732         * top/GNUmakefile (_is-install-target): New macro.
71733         (_curr-ver): Forbid installation with stale version number.
71735 2008-07-20  Bruno Haible  <bruno@clisp.org>
71737         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
71738         TESTS_ENVIRONMENT.
71739         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
71741 2008-07-20  Bruno Haible  <bruno@clisp.org>
71743         * lib/c-stack.h (c_stack_action): Add documentation.
71744         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
71746 2008-07-20  Bruno Haible  <bruno@clisp.org>
71748         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
71749         * modules/readlink (License): Likewise.
71751 2008-07-17  Eric Blake  <ebb9@byu.net>
71753         * modules/c-stack (Link): Fix typo.
71755         Make c-stack use libsigsegv, when available.
71756         * modules/c-stack (Depends-on): Add libsigsegv.
71757         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
71758         needed.
71759         * lib/c-stack.c (SIGSTKSZ): Define fallback.
71760         (segv_handler, overflow_handler, c_stack_action)
71761         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
71762         implementation when libsigsegv is available, but only when using
71763         the library is necessary.
71764         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
71765         comment, explaining why XSI check fails on Linux.
71766         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
71767         * tests/test-c-stack2.sh: Tweak skip message.
71768         * NEWS: Document new link-time requirements.
71770 2008-07-16  Eric Blake  <ebb9@byu.net>
71772         c-stack: Expose false positives when not using libsigsegv.
71773         * modules/c-stack-tests (Files): Expand test.
71774         * tests/test-c-stack.c (main): Add means to conditionally trigger
71775         non-overflow SIGSEGV.
71776         * tests/test-c-stack2.sh: New file.
71778 2008-07-14  Bruno Haible  <bruno@clisp.org>
71780         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
71781         Reported by Eric Blake.
71783 2008-07-14  Sam Steingold  <sds@gnu.org>
71784             Bruno Haible  <bruno@clisp.org>
71786         New module libsigsegv.
71787         * modules/libsigsegv: New file.
71788         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
71789         modifications.
71790         * MODULES.html.sh (Signal handling): New section.
71792 2008-07-14  Bruno Haible  <bruno@clisp.org>
71794         * modules/unictype/ctype-* (Description): Add the word "function".
71795         Improves the resulting doc in MODULES.html.
71797 2008-07-12  Ben Pfaff  <blp@gnu.org>
71799         Add longlong module.
71800         * modules/longlong: New file.
71802 2008-07-12  Bruno Haible  <bruno@clisp.org>
71804         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
71805         to empty.
71807 2008-07-10  Ben Pfaff  <blp@gnu.org>
71809         Add isnan module.
71810         * doc/posix-functions/isnan.texi: Mention new module.
71811         * lib/math.in.h: Define isnan macro if we have decided to replace
71812         it.
71813         * m4/isnan.m4: New file.
71814         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
71815         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
71816         also.
71817         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
71818         redundancy.
71819         * m4/math_h.m4: Initialize and substitute variables for isnan
71820         module.
71821         * modules/isnan: New file.
71822         * modules/isnan-tests: New file.
71823         * modules/math: Add substitutions for new module.
71824         * tests/test-isnan.c: New file.
71825         * MODULES.html.sh: Mention new module.
71827 2008-07-10  Ben Pfaff  <blp@gnu.org>
71829         Add isnanf module.
71830         * lib/isnanf.m4: New file.
71831         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
71832         (gl_HAVE_ISNANF_IN_LIBM): New macro.
71833         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
71834         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
71835         * modules/isnanf: New file.
71836         * modules/isnanf-tests: New file.
71837         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
71838         files.
71839         * tests/test-isnanf-nolibm.c: factored most of its contents into
71840         new file tests/test-isnanf.h.
71841         * tests/test-isnanf.h: New file.
71842         * tests/test-isnanf.c: New file.
71843         * MODULES.html.sh: Mention new module.
71844         * doc/glibc-functions/isnanf.texi: Mention new module.
71846 2008-07-10  Ben Pfaff  <blp@gnu.org>
71848         Add isnand module.
71849         * lib/isnand.h: New file.
71850         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
71851         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
71852         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
71853         functionality also.
71854         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
71855         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
71856         (gl_HAVE_ISNAND_IN_LIBM): New macro.
71857         * modules/isnand: New file.
71858         * modules/isnand-tests: New file.
71859         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
71860         files.
71861         * tests/test-isnand-nolibm.c: factored most of its contents into
71862         new file tests/test-isnand.h.
71863         * tests/test-isnand.h: New file.
71864         * tests/test-isnand.c: New file.
71865         * MODULES.html.sh: Mention new module.
71867 2008-07-10  Ben Pfaff  <blp@gnu.org>
71869         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
71870         * lib/isnand.h: Rename lib/isnand-nolibm.h.
71871         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
71872         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
71873         * modules/isnanf-nolibm: Update references to renamed files.
71874         * modules/isnand-nolibm: Likewise.
71875         * modules/isnanf-nolibm-tests: Likewise.
71876         * modules/isnand-nolibm-tests: Likewise.
71877         * lib/frexp.c: Likewise.
71878         * lib/isfinite.c: Likewise.
71879         * lib/signbitd.c: Likewise.
71880         * lib/signbitf.c: Likewise.
71881         * lib/vasnprintf.c: Likewise.
71882         * tests/test-ceilf1.c: Likewise.
71883         * tests/test-ceilf2.c: Likewise.
71884         * tests/test-floorf1.c: Likewise.
71885         * tests/test-floorf2.c: Likewise.
71886         * tests/test-frexp.c: Likewise.
71887         * tests/test-round1.c: Likewise.
71888         * tests/test-round2.c: Likewise.
71889         * tests/test-roundf1.c: Likewise.
71890         * tests/test-strtod.c: Likewise.
71891         * tests/test-trunc1.c: Likewise.
71892         * tests/test-trunc2.c: Likewise.
71893         * tests/test-truncf1.c: Likewise.
71894         * tests/test-truncf2.c: Likewise.
71895         * NEWS: Mention the renamed header files.
71897 2008-07-11  Jim Meyering  <meyering@redhat.com>
71899         vc-list-files: make the last-resort awk code more portable
71900         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
71901         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
71902         does not support it.
71904 2008-07-10  Eric Blake  <ebb9@byu.net>
71906         Work with tar's bootstrap.
71907         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
71908         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
71909         an m4 comment.
71911 2008-07-09  Jim Meyering  <meyering@redhat.com>
71913         posix-shell.m4: fix typo that made this test malfunction
71914         * m4/posix-shell.m4: Remove capitalization in variable name.
71916 2008-07-08  Bruno Haible  <bruno@clisp.org>
71918         * m4/onceonly.m4: Update comments.
71919         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71921 2008-07-04  Jim Meyering  <meyering@redhat.com>
71923         * users.txt: Add vc-dwim.
71924         (bison, coreutils): Use the gitweb URL.
71926 2008-07-03  Jim Meyering  <meyering@redhat.com>
71928         * users.txt: Add libffcall.  From Sam Steingold.
71930 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
71932         getdate.y: do not ignore TZ with relative day, month or year offset
71933         * lib/getdate.y (get_date): Move the tz-handling block to follow the
71934         relative-date-handling, since otherwise, the latter would clobber the
71935         sole output (an updated Start value) of the tz-handling block.
71936         * tests/test-getdate.c: Tests for the fix
71938 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71940         Recognize 'foo_LIBRARIES += libgnu.a'.
71941         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
71942         makefile snippet has already specified an installation location,
71943         also using '+='.
71945 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
71947         getdate.y: factor out common actions
71948         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
71949         Use them in place of open-coded actions.
71951 2008-07-01  Simon Josefsson  <simon@josefsson.org>
71953         Add self-test for getdate module.
71954         * modules/getdate-tests: New file.
71955         * tests/test-getdate.c: New file.
71957 2008-06-29  Bruno Haible  <bruno@clisp.org>
71959         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
71960         .gitignore.
71961         Reported by Sylvain Beucler <beuc@beuc.net>.
71963 2008-06-29  Bruno Haible  <bruno@clisp.org>
71965         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
71966         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
71968 2008-06-29  Bruno Haible  <bruno@clisp.org>
71970         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
71971         EXTRA_DIST.
71972         Reported by Sylvain Beucler <beuc@beuc.net>.
71974 2008-06-26  Jim Meyering  <meyering@redhat.com>
71976         make several modules depend on the "open" module
71977         This provides slightly increased consistency when opening-for-write
71978         the name of a non-directory spelled with a trailing slash.
71979         * modules/chdir-safer: Likewise.
71980         * modules/chown: Likewise.
71981         * modules/clean-temp: Likewise.
71982         * modules/copy-file: Likewise.
71983         * modules/fchdir: Likewise.
71984         * modules/fcntl-safer: Likewise.
71985         * modules/pipe: Likewise.
71986         * modules/utime: Likewise.
71987         Prompted by Eric Blake and Bruno Haible.
71989 2008-06-24  Andreas Schwab  <schwab@suse.de>
71991         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
71992         literals can be used as initializers for global variables.
71994 2008-06-23  Eric Blake  <ebb9@byu.net>
71996         Make gnulib-cache.m4 easier to diff.
71997         * gnulib-tool (func_import): Allow newlines when reading cached
71998         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
72000 2008-06-23  Bruno Haible  <bruno@clisp.org>
72002         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
72003         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
72004         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
72005         m4/signalblocking.m4.
72006         (gl_PREREQ_SIGACTION): Don't invoke it.
72007         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
72008         gl_PREREQ_SIG_HANDLER_H.
72009         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
72010         Don't check for sigaction here.
72012 2008-06-23  Bruno Haible  <bruno@clisp.org>
72014         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
72015         (install_handlers): Don't set the SA_RESETHAND flag.
72017 2008-06-23  Bruno Haible  <bruno@clisp.org>
72019         * m4/sigaction.m4: Comment fixes.
72020         * lib/signal.in.h: Likewise.
72022 2008-06-23  Eric Blake  <ebb9@byu.net>
72024         Fix typo.
72025         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
72027         Avoid SA_ namespace.
72028         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
72029         Reported by Ralf Wildenhues.
72031         Avoid test failure due to SA_RESTORER.
72032         * tests/test-sigaction.c (SA_MASK): New macro.
72033         (main): Avoid failing due to extension flags being set.
72034         Reported by Jim Meyering.
72036         Revert use of sig-handler.h in sigprocmask.c.
72037         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
72038         it requires the existence of struct sigaction.
72039         * lib/sigprocmask.c (handler_t): Restore typedef.
72040         (rpl_signal, old_handlers): Use local type.
72042 2008-06-22  Bruno Haible  <bruno@clisp.org>
72044         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
72045         conditionally.
72046         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72048 2008-06-22  Bruno Haible  <bruno@clisp.org>
72050         * doc/posix-functions/siginterrupt.texi: Move note.
72052         * lib/signal.in.h (SA_RESTART): New macro.
72053         * lib/sigaction.c: Update comment.
72055         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
72057         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
72058         (gl_PREREQ_SIGPROCMASK): Invoke it.
72059         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
72061         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
72063         * lib/sigprocmask.c: Update a comment.
72065 2008-06-21  Eric Blake  <ebb9@byu.net>
72067         Use sigaction module rather than signal().
72068         * modules/c-stack (Depends-on): Add sigaction.
72069         * modules/fatal-signal (Depends-on): Likewise.
72070         * modules/nanosleep (Depends-on): Likewise.
72071         * modules/sigprocmask (Files): Add sig-handler.h.
72072         * modules/sigaction (Files): Likewise.
72073         * lib/sig-handler.h (get_handler): New file, suggested by Paul
72074         Eggert.
72075         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
72076         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
72077         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
72078         (init_fatal_signals): Likewise.
72079         * lib/nanosleep.c (rpl_nanosleep): Likewise.
72080         (siginterrupt): Delete fallback.
72081         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
72082         instead.
72083         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
72084         siginterrupt.
72086         New module sigaction, for mingw.
72087         * modules/sigaction: New module...
72088         * modules/sigaction-tests: ...and its test.
72089         * m4/sigaction.m4: New file.
72090         * lib/sigaction.c: Likewise.
72091         * tests/test-sigaction.c: Likewise.
72092         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
72093         * modules/signal (Makefile.am): Likewise.
72094         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
72095         needed.
72096         * doc/posix-headers/signal.texi (signal.h): Mention provided
72097         types.
72098         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
72099         that sigaction is preferable.
72100         * doc/posix-functions/sigaction.texi (sigaction): Mention new
72101         module.
72102         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72103         sigaction.
72105         Improve robustness of sigprocmask by overriding signal.
72106         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
72107         is in use.
72108         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
72109         (SIGKILL, SIGSTOP): Provide fallbacks.
72110         (rpl_signal): Implement.
72111         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
72112         signal can be called inside handlers.
72114         Fix nanosleep module on mingw.
72115         * modules/nanosleep (Depends-on): Add sys_select.
72116         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
72118         Fix licensing of sigprocmask.
72119         * modules/raise (License): Relicense as LGPL.
72121 2008-06-21  Bruno Haible  <bruno@clisp.org>
72123         * lib/propername.c (proper_name_utf8): Don't use the transliterated
72124         result if it contains question marks.
72125         Reported by Michael Geng <linux@michaelgeng.de>.
72127 2008-06-19  Bruno Haible  <bruno@clisp.org>
72129         Fix CVS-ism.
72130         * doc/gnulib.texi: Include updated-stamp.texi.
72131         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
72132         (updated-stamp.texi): New rule.
72133         (gnulib.info): Depend on it.
72134         * doc/.gitignore: Add updated-stamp.texi.
72135         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
72137 2008-06-19  Bruno Haible  <bruno@clisp.org>
72139         * doc/Makefile (gnulib.info): Update and simplify dependencies.
72140         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
72142 2008-06-19  Eric Blake  <ebb9@byu.net>
72144         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
72145         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
72146         Reported by Stepan Kasal.
72148 2008-06-18  Bruno Haible  <bruno@clisp.org>
72150         * lib/fatal-signal.c (init_fatal_signals): Add comment.
72151         Reported by Eric Blake.
72153 2008-06-18  Eric Blake  <ebb9@byu.net>
72155         Work around cygwin 1.5.25 strsignal bug.
72156         * tests/test-strsignal.c: Allow for const char *.
72157         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
72159 2008-06-18  Simon Josefsson  <simon@josefsson.org>
72161         * users.txt: Update URL to article and add author/date
72162         information.
72164 2008-06-17  Bruno Haible  <bruno@clisp.org>
72166         New macro gl_DISABLE_THREADS.
72167         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
72168         if the user did not pass --enable-threads or --disable-threads option.
72169         (gl_DISABLE_THREADS): New macro.
72170         Reported by Eric Blake <ebb9@byu.net>.
72172 2008-06-17  Bruno Haible  <bruno@clisp.org>
72174         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
72175         when the macro ignores it.
72176         Based on a patch by Eric Blake <ebb9@byu.net>.
72178 2008-06-17  Bruno Haible  <bruno@clisp.org>
72180         * modules/tls (License): Change to LGPLv2+.
72181         Reported by Eric Blake.
72183 2008-06-17  Eric Blake  <ebb9@byu.net>
72185         Simplify c-stack prerequisites.
72186         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
72187         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
72188         no longer requires <ucontext.h> to exist.  Optimize setrlimit
72189         check.
72190         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
72191         <sys/resource.h>.
72193         Move c-stack test into testsuite.
72194         * modules/c-stack-tests: New file.
72195         * lib/c-stack.c [DEBUG]: Move test program...
72196         * tests/test-c-stack.c: ...into this new file.  Skip rather than
72197         fail test if sigaltstack is lacking.
72198         * tests/test-c-stack.sh: New driver file.
72200 2008-06-16  Eric Blake  <ebb9@byu.net>
72202         Use raise module consistently.
72203         * modules/fatal-signal (Depends-on): Add raise.
72204         * modules/sigprocmask (Depends-on): Likewise.
72205         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
72206         * lib/sigprocmask.c (sigprocmask): Likewise.
72207         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
72208         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
72210         Fix compliance bug in sigpending.
72211         * lib/sigprocmask.c (sigpending): Return pending array via
72212         parameter, not return value.
72214 2008-06-14  Eric Blake  <ebb9@byu.net>
72216         Improve obstack-printf test code.
72217         * tests/test-obstack-printf.c (test_function): Fix comment, and
72218         simplify usage of obstack_* in macros.  Add a test for coverage.
72219         Reported by Bruno Haible.
72221 2008-06-14  Bruno Haible  <bruno@clisp.org>
72223         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
72224         array size as a constant, not as a const variable.
72225         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
72226         AC_USE_SYSTEM_EXTENSIONS.
72227         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
72228         Test whether the obstack_printf function actually exists.
72229         * modules/obstack-printf (Depends-on): Add extensions.
72230         (Include): Remove obstack.h.
72231         * modules/obstack-printf-posix (Depends-on): Add extensions.
72232         (Include): Remove obstack.h.
72234 2008-06-13  Eric Blake  <ebb9@byu.net>
72236         Add obstack-printf and obstack-printf-posix modules.
72237         * modules/obstack-printf: New file.
72238         * modules/obstack-printf-posix: Likewise.
72239         * MODULES.html.sh (Misc): Mention them.
72240         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
72241         Likewise.
72242         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
72243         Likewise.
72244         * modules/stdio (Makefile.am): Accomodate new modules.
72245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
72246         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
72247         Declare.
72248         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
72249         functions.
72250         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
72251         (gl_REPLACE_OBSTACK_PRINTF): New macros
72252         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
72253         * tests/test-obstack-printf.c: New file.
72254         * modules/obstack-printf-tests: Likewise.
72255         * modules/obstack-printf-posix-tests: Likewise.
72257 2008-06-11  Bruno Haible  <bruno@clisp.org>
72259         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
72260         * lib/open.c: Include errno.h.
72261         (open): Fail when attempting to write to a file that has a trailing
72262         slash.
72263         * tests/test-open.c (main): Test against trailing slash bug.
72264         * doc/posix-functions/open.texi: Mention the trailing slash bug.
72266 2008-06-10  Bruno Haible  <bruno@clisp.org>
72268         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
72269         for $? to work inside the trap command, with various /bin/sh-s.
72270         * tests/test-vc-list-files-cvs.sh: Likewise.
72272 2008-06-10  Bruno Haible  <bruno@clisp.org>
72274         * lib/acl-internal.h: Don't include gettext.h here.
72275         * lib/set-mode-acl.c: Include gettext.h here.
72276         * lib/copy-acl.c: Likewise.
72278 2008-06-10  Bruno Haible  <bruno@clisp.org>
72280         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
72281         * lib/wait-process.c (wait_subprocess): Likewise.
72282         * lib/execute.h (execute): Add termsigp argument.
72283         * lib/execute.c (execute): Likewise.
72284         * lib/csharpcomp.c (compile_csharp_using_pnet,
72285         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
72286         * lib/csharpexec.c (execute_csharp_using_pnet,
72287         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
72288         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
72289         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
72290         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
72291         is_jikes_present): Update.
72292         * lib/javaexec.c (execute_java_class): Update.
72293         * lib/javaversion.c (execute_and_read_line): Update.
72294         * NEWS: Document the changes.
72295         Reported by Eric Blake.
72297 2008-06-10  Eric Blake  <ebb9@byu.net>
72299         Add missing include.
72300         * tests/test-strstr.c (includes): Add <signal.h>.
72301         * tests/test-strcasestr.c (includes): Likewise.
72302         * tests/test-memmem.c (includes): Likewise.
72304 2008-06-10  Bruno Haible  <bruno@clisp.org>
72306         * lib/wait-process.c (wait_subprocess): Add an assertion.
72308 2008-06-10  Bruno Haible  <bruno@clisp.org>
72310         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
72312 2008-06-10  Bruno Haible  <bruno@clisp.org>
72314         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
72315         using alarm().
72316         * tests/test-strcasestr.c (main): Likewise.
72317         * tests/test-strstr.c (main): Likewise.
72319 2008-06-09  Bruno Haible  <bruno@clisp.org>
72321         Work around the Solaris 10 ACE ACLs ABI change.
72322         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
72323         declare if ACL_NO_TRIVIAL is present.
72324         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
72325         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
72326         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
72327         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
72328         define if ACL_NO_TRIVIAL is present.
72329         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
72330         and use the current ABI.
72331         (file_has_acl): Use same #if condition as elsewhere.
72332         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
72333         in use, and use the current ABI.
72334         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
72335         Reported by Jim Meyering.
72337 2008-06-09  Eric Blake  <ebb9@byu.net>
72339         Work around environments that (stupidly) ignore SIGALRM.
72340         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
72341         before using alarm().
72342         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72343         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
72344         Reported by Ian Beckwith <ianb@erislabs.net>.
72346         Produce autobuild blurb earlier in log.
72347         * modules/autobuild (configure.ac-early): Move AB_INIT here.
72349 2008-06-09  Jim Meyering  <meyering@redhat.com>
72350         and Ondřej Vašík  <ovasik@redhat.com>
72352         utimens.c: correct kernel bug work-around
72353         Ondřej Vašík found that the invalid return value of 280 indicates
72354         failure, not success, and the kernel bug we're trying to work
72355         around affects not just the utimensat call, but also the fallback
72356         futimens call.
72357         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
72358         not success.
72359         [HAVE_FUTIMENS]: Use the same work-around, here.
72361 2008-06-09  Jim Meyering  <meyering@redhat.com>
72363         add more guards around definition of ACE_-related code
72364         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
72365         ALLOW and ACE_OWNER are also defined.
72367 2008-06-08  Bruno Haible  <bruno@clisp.org>
72369         * lib/acl-internal.h: Add me as co-author.
72370         * lib/file-has-acl.c: Likewise.
72371         * lib/set-mode-acl.c: Likewise.
72372         * lib/copy-acl.c: Likewise.
72374 2008-06-08  Bruno Haible  <bruno@clisp.org>
72376         Add support for AIX ACLs.
72377         * lib/acl-internal.h (acl_nontrivial): New declaration.
72378         * lib/file-has-acl.c (acl_nontrivial): New function.
72379         (file_has_acl): Add implementation using AIX 4 ACL API.
72380         * lib/set-mode-acl.c (qset_acl): Likewise.
72381         * lib/copy-acl.c (qcopy_acl): Likewise.
72383 2008-06-08  Bruno Haible  <bruno@clisp.org>
72385         Add support for HP-UX ACLs.
72386         * lib/acl-internal.h (acl_nontrivial): New declaration.
72387         * lib/file-has-acl.c (acl_nontrivial): New function.
72388         (file_has_acl): Add implementation using HP-UX 11 ACL API.
72389         * lib/set-mode-acl.c (qset_acl): Likewise.
72390         * lib/copy-acl.c (qcopy_acl): Likewise.
72392 2008-06-08  Bruno Haible  <bruno@clisp.org>
72394         Add support for Cygwin ACLs.
72395         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
72396         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
72397         the chmod_or_fchmod call.
72398         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
72400 2008-06-08  Bruno Haible  <bruno@clisp.org>
72402         Fix bug with setuid modes in Solaris 10+ code.
72403         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
72404         succeeded, when the mode contains some special bits.
72406 2008-06-08  Bruno Haible  <bruno@clisp.org>
72408         Add support for Solaris 7..10 ACLs.
72409         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
72410         declarations.
72411         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
72412         functions.
72413         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
72414         * lib/set-mode-acl.c (qset_acl): Likewise.
72415         * lib/copy-acl.c (qcopy_acl): Likewise.
72417 2008-06-08  Bruno Haible  <bruno@clisp.org>
72419         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
72420         declaration.
72421         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
72422         (acl_access_nontrivial): Remove MacOS X case.
72423         (file_has_acl): Use acl_extended_nontrivial.
72424         * lib/copy-acl.c (qcopy_acl): Likewise.
72426 2008-06-08  Bruno Haible  <bruno@clisp.org>
72428         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
72430 2008-06-08  Jim Meyering  <meyering@redhat.com>
72432         * modules/acl (Maintainer): Add Bruno Haible.
72434 2008-06-07  Bruno Haible  <bruno@clisp.org>
72436         Improve support for Tru64 ACLs.
72437         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
72438         ACL on OSF/1.
72440 2008-06-07  Bruno Haible  <bruno@clisp.org>
72442         Add support for MacOS X ACLs.
72443         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
72444         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
72445         * lib/set-mode-acl.c (qset_acl): Likewise.
72446         * lib/copy-acl.c (qcopy_acl): Likewise.
72448 2008-06-07  Bruno Haible  <bruno@clisp.org>
72450         Fix memory leak introduced on 2008-05-22.
72451         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
72452         use.
72454 2008-06-07  Bruno Haible  <bruno@clisp.org>
72456         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
72457         to construct an empty ACL.
72459 2008-06-07  Bruno Haible  <bruno@clisp.org>
72461         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
72462         precisely.
72463         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
72465 2008-06-07  Bruno Haible  <bruno@clisp.org>
72467         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
72468         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
72470 2008-06-07  Bruno Haible  <bruno@clisp.org>
72472         * doc/posix-functions/_setjmp.texi: Explain the use of this function
72473         regardless of POSIX.
72474         * doc/posix-functions/_longjmp.texi: Likewise.
72475         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
72476         SystemV platform in this case.
72478 2008-06-06  Eric Blake  <ebb9@byu.net>
72480         Document abort() bugs.
72481         * doc/posix-functions/abort.texi (abort): Mention anomalies.
72483         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
72484         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
72485         sigsetjmp.
72486         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
72487         siglongjmp, but only as a macro.
72488         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
72489         is obsolete.
72490         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
72492         Tweak documentation to cover cygwin argz bugs.
72493         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
72494         argz bug fix; no code change needed since no cygwin releases
72495         occurred between the last fix and the bug being tested.
72496         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
72497         module and recently fixed cygwin bugs.
72498         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
72499         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
72500         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
72501         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
72502         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
72503         Likewise.
72504         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
72505         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
72506         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
72507         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
72508         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
72509         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
72510         Likewise.
72512         Avoid gcc warning on cygwin.
72513         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
72514         !ACL_NO_TRIVIAL]: Avoid unused variable.
72516 2008-06-05  Eric Blake  <ebb9@byu.net>
72518         Be tolerant of UNKNOWN version in gnulib-tool test dir.
72519         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
72520         git-version-gen fails to come up with a version.
72521         Reported by Simon Josefsson.
72523 2008-06-05  Jim Meyering  <meyering@redhat.com>
72524             Paul Eggert  <eggert@cs.ucla.edu>
72526         utimens.c: work around a probable Linux kernel bug
72527         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
72528         appears to be a kernel bug that causes utimensat to return 280
72529         instead of 0, indicating success.
72531 2008-06-04  Bruno Haible  <bruno@clisp.org>
72533         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
72534         2008-06-01 commit.
72536 2008-06-04  Bruno Haible  <bruno@clisp.org>
72538         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
72539         * lib/file-has-acl.c (acl_access_nontrivial): New function.
72540         (file_has_acl): Use it. Save errno afterwards.
72541         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
72543 2008-06-03  Bruno Haible  <bruno@clisp.org>
72545         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
72546         draft code. Simplify #ifs.
72547         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
72548         Put Solaris code after POSIX-draft code. Fix comments regarding
72549         Solaris 10, HP-UX. Mention Cygwin.
72550         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
72552 2008-06-03  Eric Blake  <ebb9@byu.net>
72554         Provide fallback for older kernels.
72555         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
72556         Provide runtime fallback if kernel lacks support.
72557         Reported by Mike Frysinger.
72559 2008-06-02  Bruno Haible  <bruno@clisp.org>
72561         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
72562         it exists.
72564 2008-06-02  Bruno Haible  <bruno@clisp.org>
72566         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
72567         * lib/copy-acl.c (qcopy_acl): Update comment.
72569 2008-06-02  Bruno Haible  <bruno@clisp.org>
72571         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
72572         like ACL APIs.
72574 2008-06-02  Bruno Haible  <bruno@clisp.org>
72576         * tests/test-file-has-acl.sh: Use different code for Cygwin.
72577         * tests/test-set-mode-acl.sh: Likewise.
72578         * tests/test-copy-acl.sh: Likewise.
72579         * tests/test-copy-file.sh: Likewise.
72581 2008-06-02  Bruno Haible  <bruno@clisp.org>
72583         * tests/test-file-has-acl.sh: Remove unused code.
72585 2008-06-01  Bruno Haible  <bruno@clisp.org>
72587         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
72588         (copy_acl): Just a wrapper around qcopy_acl that emits the error
72589         messages.
72590         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
72592 2008-06-01  Bruno Haible  <bruno@clisp.org>
72594         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
72595         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
72596         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
72597         APIs.
72598         * modules/acl-tests (configure.ac): Remove tests now contained in
72599         m4/acl.m4.
72601 2008-06-02  Jim Meyering  <meyering@redhat.com>
72603         announce-gen: use a better key-server host name
72604         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
72605         it may be more consistently reliable.  Suggested by Werner Koch
72606         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
72608 2008-06-01  Bruno Haible  <bruno@clisp.org>
72610         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
72611         Reported by Voroskoi Andras <voroskoi@gmail.com>.
72613 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
72615         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
72617 2008-06-01  Bruno Haible  <bruno@clisp.org>
72619         New ACL tests.
72620         * tests/test-file-has-acl.sh: New file.
72621         * tests/test-file-has-acl.c: New file.
72622         * tests/test-set-mode-acl.sh: New file.
72623         * tests/test-set-mode-acl.c: New file.
72624         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
72625         * tests/test-copy-acl.c: New file.
72626         * modules/acl-tests: New file, based on modules/copy-file-tests.
72627         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
72628         (Depends-on): Add acl-tests.
72629         (configure.ac): Remove checks.
72630         (Makefile.am): Don't create test-sameacls program here any more.
72632 2008-06-01  Bruno Haible  <bruno@clisp.org>
72634         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
72635         * tests/test-sameacls.c: Include progname.h.
72636         (main): Invoke set_program_name. Portability fixes for MacOS X,
72637         Solaris, HP-UX.
72639 2008-06-01  Bruno Haible  <bruno@clisp.org>
72641         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
72642         function.
72643         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
72645 2008-06-01  Bruno Haible  <bruno@clisp.org>
72647         * modules/rpmatch (Depends-on): Add strdup.
72649 2008-06-01  Bruno Haible  <bruno@clisp.org>
72651         * lib/pipe.c: Include unistd-safer.h.
72652         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
72653         * modules/pipe (Depends-on): Add unistd-safer.
72655 2008-05-30  Simon Josefsson  <simon@josefsson.org>
72657         * modules/autobuild (configure.ac): Call AB_INIT.
72659 2008-05-30  Simon Josefsson  <simon@josefsson.org>
72661         * tests/test-getaddrinfo.c: Don't print debug messages by default.
72662         Suggested by Bruno Haible <bruno@clisp.org>.
72664 2008-05-30  Simon Josefsson  <simon@josefsson.org>
72666         * tests/test-base64.c: Cast size_t to unsigned long when invoking
72667         printf.  Use %lu instead of %d.  Reported by Bruno Haible
72668         <bruno@clisp.org>.
72670 2008-05-29  Eric Blake  <ebb9@byu.net>
72672         Prefer new POSIX 200x interfaces over futimesat.
72673         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
72674         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
72675         when available.
72676         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
72678 2008-05-28  Bruno Haible  <bruno@clisp.org>
72680         * modules/stpcpy (License): Change to LGPLv2+.
72681         Requested by David Lutterkort <dlutter@redhat.com>.
72683 2008-05-27  Bruno Haible  <bruno@clisp.org>
72685         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
72686         current mingw.
72687         Reported by Jose E. Marchesi <jemarch@gnu.org>.
72689 2008-05-27  Bruno Haible  <bruno@clisp.org>
72691         * modules/iconv_open (Link): New section, from module 'iconv'.
72692         * modules/striconv (Link): Likewise.
72693         * modules/striconveh (Link): Likewise.
72694         * modules/xstriconv (Link): Likewise.
72695         * modules/unicodeio (Link): Likewise.
72696         * modules/propername (Link): Likewise.
72697         Reported by Jim Meyering.
72699 2008-05-26  Jim Meyering  <meyering@redhat.com>
72701         sha256: do not artificially restrict buffer length to be < 2^32
72702         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
72703         uint32_t to size_t.
72704         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
72705         to match.
72707         avoid unaligned access errors, e.g., on sparc
72708         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
72709         direct access through a possibly-unaligned uint64* pointer.
72710         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
72711         direct access through a possibly-unaligned uint32* pointer.
72712         Prompted by this patch from Tom "spot" Callaway:
72713         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
72715         sha512.c: fix typo in comment
72716         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
72718 2008-05-25  Bruno Haible  <bruno@clisp.org>
72720         * lib/set-mode-acl.c: Renamed from lib/acl.c.
72721         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
72722         (Makefile.am): Update lib_SOURCES.
72724 2008-05-25  Bruno Haible  <bruno@clisp.org>
72726         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
72728 2008-05-25  Jim Meyering  <meyering@redhat.com>
72730         useless-if-before-free: freed expr may have white-space differences
72731         * build-aux/useless-if-before-free: Recognize cases in which the
72732         freed expression differs from the tested one in embedded white
72733         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
72734         $1 was used, so we can't make any regexp shy.  Improved tests now
72735         detect this.
72737         useless-if-before-free: accept white space in the expression.
72738         * build-aux/useless-if-before-free: For now, any white space
72739         in the expression must be identical in the free argument.
72741         useless-if-before-free: efficiency tweak
72742         * build-aux/useless-if-before-free: Make the expression-matching
72743         regexp "shy".
72744         Make the *outer* regexp shy, not the expr-matching one.
72746         update code-in-comment to accept cast of free arg
72747         * build-aux/useless-if-before-free: Update regexp.
72749 2008-05-25  Bruno Haible  <bruno@clisp.org>
72751         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
72752         * modules/copy-file-tests (Files, Makefile.am): Update.
72753         * tests/test-copy-file.c (func_test_copy): Update.
72755 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
72757         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
72759 2008-05-23  Bruno Haible  <bruno@clisp.org>
72761         Improve support for ACLs on OSF/1.
72762         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
72763         Remove fallback for unknown flavors of ACLs.
72765 2008-05-22  Bruno Haible  <bruno@clisp.org>
72767         Add support for ACLs on OSF/1.
72768         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
72769         replacements.
72770         (acl_free_text): New macro fallback.
72771         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
72772         acl_free.
72773         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
72774         acl_free_text function. Require AC_C_INLINE.
72776 2008-05-22  Bruno Haible  <bruno@clisp.org>
72778         Make copy_acl work on MacOS X 10.5.
72779         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
72780         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
72781         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
72782         If MODE_INSIDE_ACL, don't assume that every system has the same text
72783         representation for ACLs as FreeBSD.
72784         * lib/copy-acl.c (copy_acl): Add support for platforms with
72785         !MODE_INSIDE_ACL.
72786         * lib/file-has-acl.c (file_has_acl): Likewise.
72787         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
72788         FreeBSD, MacOS X, or IRIX, respectively.
72790 2008-05-22  Bruno Haible  <bruno@clisp.org>
72792         * lib/acl.h: Don't include <sys/acl.h>.
72793         (GETACLCNT): Move fallback to lib/acl-internal.h.
72794         * lib/acl-internal.h: Include <sys/acl.h> here.
72795         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
72797 2008-05-22  Bruno Haible  <bruno@clisp.org>
72799         Split off copy_acl function to separate file.
72800         * lib/copy-acl.c: New file, extracted from lib/acl.c.
72801         * lib/acl.c (copy_acl): Moved function to separate file.
72802         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
72803         * modules/acl (Files): Add lib/copy-acl.c.
72804         (Makefiles.am): Augment lib_SOURCES.
72806 2008-05-22  Bruno Haible  <bruno@clisp.org>
72808         * modules/copy-file-tests: New file.
72809         * tests/test-copy-file.sh: New file.
72810         * tests/test-copy-file.c: New file.
72811         * tests/test-copy-file-sameacls.c: New file.
72813 2008-05-22  Eric Blake  <ebb9@byu.net>
72815         Avoid gcc warning.
72816         * tests/test-memcmp.c (main): Pass NULL indirectly.
72818 2008-05-21  Bruno Haible  <bruno@clisp.org>
72820         Add reference doc about ACLs.
72821         * doc/acl-resources.txt: New file.
72822         * doc/acl-cygwin.txt: New file.
72824 2008-05-21  Bruno Haible  <bruno@clisp.org>
72826         Avoid one more warning from gcc.
72827         * lib/vasnprintf.c (IF_LINT): Update comments.
72828         (VASNPRINTF): Use it also for the 'prefix' array initializer.
72830 2008-05-21  Jim Meyering  <meyering@redhat.com>
72832         avoid a warning from gcc
72833         * lib/vasnprintf.c (IF_LINT): Define.
72834         (scale10_round_decimal_long_double):
72835         Use it to avoid a "may be used uninitialized" warning.
72836         (scale10_round_decimal_double): Likewise.
72838 2008-05-21  Simon Josefsson  <simon@josefsson.org>
72840         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
72841         declared.
72843 2008-05-20  Bruno Haible  <bruno@clisp.org>
72845         * tests/test-memcmp.c (main): Test also the sign of the result. Test
72846         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
72848 2008-05-20  Simon Josefsson  <simon@josefsson.org>
72850         * modules/memcmp-tests: New file.
72851         * tests/test-memcmp.c: New file.
72853 2008-05-19  Bruno Haible  <bruno@clisp.org>
72855         * modules/propername (Notice, configure.ac): Put quoted "..." into
72856         --keyword option.
72857         * lib/propername.h: Update comments accordingly.
72858         Reported by Eric Blake.
72860 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
72862         * modules/getpass-gnu (Depends-on): Add fseeko.
72864 2008-05-19  Simon Josefsson  <simon@josefsson.org>
72866         * modules/base64-tests: New file.
72868 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
72870         * lib/base64.c (base64_decode_ctx): If a decode context structure
72871         was passed in use it to ignore newlines.  If a context structure
72872         was _not_ passed in, continue to treat newlines as garbage (this
72873         is the historical behavior).  Formerly base64_decode.
72874         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
72875         takes a decode context structure.
72876         * lib/base64.h (base64_decode): Macro for four-argument calls.
72877         (base64_decode_alloc): Likewise.
72878         * lib/base64.c (base64_decode_ctx): If a decode context structure
72879         was passed in use it to ignore newlines.  If a context structure
72880         was _not_ passed in, continue to treat newlines as garbage (this
72881         is the historical behavior).  Formerly base64_decode.
72882         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
72883         takes a decode context structure.
72884         * lib/base64.h (base64_decode): Macro for four-argument calls.
72885         (base64_decode_alloc): Likewise.
72887 2008-05-19  Jim Meyering  <meyering@redhat.com>
72889         avoid a warning from gcc
72890         * lib/trim.c (IF_LINT): Define.
72891         (trim2): Use it to avoid a "may be used uninitialized" warning.
72893         Fix doc typo.
72894         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
72896 2008-05-19  Bruno Haible  <bruno@clisp.org>
72898         * doc/glibc-functions/getpass.texi: Document limits of other
72899         implementations.
72901 2008-05-19  Simon Josefsson  <simon@josefsson.org>
72902             Bruno Haible <bruno@clisp.org>
72904         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
72906 2008-05-18  Bruno Haible  <bruno@clisp.org>
72908         * modules/propername: New file, from GNU gettext.
72909         * lib/propername.h: New file, from GNU gettext.
72910         * lib/propername.c: New file, from GNU gettext.
72911         * MODULES.html.sh (Internationalization functions): Add propername.
72913 2008-05-16  Jim Meyering  <meyering@redhat.com>
72914             Bruno Haible  <bruno@clisp.org>
72916         Avoid some warnings from "gcc -Wshadow".
72917         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
72919 2008-05-15  Eric Blake  <ebb9@byu.net>
72921         Extend previous patch to cygwin 1.7.0.
72922         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
72923         fast implementation in cygwin >= 1.7.0.
72924         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
72925         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72927 2008-05-15  Bruno Haible  <bruno@clisp.org>
72929         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
72930         implementation in glibc >= 2.9.
72931         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
72932         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72934 2008-05-15  Bruno Haible  <bruno@clisp.org>
72936         * MODULES.html.sh (Internationalization functions): Remove linebreak.
72937         (Unicode string functions): Add unilbrk/*.
72938         Reported by Karl Berry.
72940 2008-05-15  Eric Blake  <ebb9@byu.net>
72942         Fix violation of <stdbool.h> replacement in regex.
72943         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
72944         * lib/regexec.c (re_search_internal): Likewise.
72945         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
72947 2008-05-15  Jim Meyering  <meyering@redhat.com>
72949         avoid distracting test output when git or cvs is not found
72950         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
72951         * tests/test-vc-list-files-git.sh: Likewise.
72953 2008-05-15  Eric Blake  <ebb9@byu.net>
72955         Glibc finally accepted the memmem speedup code, bugzilla #5514.
72956         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
72957         glibc version.
72958         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
72959         * doc/posix-functions/strstr.texi (strstr): Likewise.
72960         * lib/str-two-way.h (MAX): Sychronize with glibc.
72962 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
72964         * lib/regcomp.c (optimize_utf8): Add a note on why we test
72965         opr.ctx_type.
72966         (calc_first): Initialize constraint field.
72967         (duplicate_node_closure): Use it instead of special casing ANCHORS.
72968         Fix grammar.
72969         (duplicate_node): Merge constraint field for all node types.
72970         (calc_eclosure_iter): Look at constraint field for all node types.
72971         * lib/regex_internal.c (create_cd_newstate): Don't look at
72972         opr.ctx_type.
72974 2008-05-14  Bruno Haible  <bruno@clisp.org>
72976         Help GCC to do better code generation.
72977         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
72978         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
72979         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
72980         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
72981         Declare with attribute 'malloc' if supported.
72983 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
72985         use "echo STR|wc -c" rather than unportable "expr length STR"
72986         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
72987         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
72989 2008-05-14  Jim Meyering  <meyering@redhat.com>
72991         use dd ibs=$n count=1 ... rather than less-portable head -c$n
72992         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
72993         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
72994         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
72995         via Collin Lasse.
72997 2008-05-14  Eric Blake  <ebb9@byu.net>
72999         Avoid quadratic growth in gl_LIBSOURCES.
73000         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
73001         Suggested by Bruno Haible.
73003         Test xmemdup0.
73004         * modules/xmemdup0-tests: New file.
73005         * tests/test-xmemdup0.c: Likewise.
73007 2008-05-13  Eric Blake  <ebb9@byu.net>
73009         Split xmemdup0 into its own module.
73010         * modules/xmemdup0: New file.
73011         * lib/xmemdup0.h: Likewise.
73012         * lib/xmemdup0.c: Likewise.
73013         * MODULES.html.sh (Memory management functions): Add xmemdup0.
73014         * lib/xalloc.h (xmemdup0): Remove.
73015         * lib/xmalloc.c (xmemdup0): Likewise.
73017 2008-05-13  Eric Blake  <ebb9@byu.net>
73018             Bruno Haible  <bruno@clisp.org>
73020         Reduce number of forks required during autoconf.
73021         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
73022         and gl_LIBSOURCES_DIR.
73023         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
73024         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
73025         m4_syscmd per file.
73026         <m4_foreach_w>: Move...
73027         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
73029 2008-05-13  Eric Blake  <ebb9@byu.net>
73031         * gnulib-tool: Fix various comment typos.
73033 2008-05-12  Bruno Haible  <bruno@clisp.org>
73035         Tailor the linebreaking algorithm.
73036         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
73038 2008-05-12  Bruno Haible  <bruno@clisp.org>
73040         Update to Unicode 5.0.0.
73041         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
73042         LBP_JV, LBP_JT. Redistribute values.
73043         (unilbrk_table): Change size.
73044         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
73045         Unicode TR#14 rev. 22.
73046         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
73047         LBP_JV, LBP_JT. Redistribute values.
73048         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
73049         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
73050         Update.
73051         * lib/unilbrk/lbrkprop1.h: Regenerated.
73052         * lib/unilbrk/lbrkprop2.h: Regenerated.
73053         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
73054         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
73055         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
73056         Likewise.
73057         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
73058         Likewise.
73059         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
73060         result.
73061         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
73062         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
73063         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
73064         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
73065         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
73066         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
73068 2008-05-11  Bruno Haible  <bruno@clisp.org>
73070         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
73072 2008-05-11  Bruno Haible  <bruno@clisp.org>
73074         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
73075         * modules/unilbrk/gen-lbrk: New file.
73077 2008-05-11  Bruno Haible  <bruno@clisp.org>
73079         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
73080         * m4/sha512.m4 (gl_SHA512): Likewise.
73082 2008-05-11  Jim Meyering  <meyering@redhat.com>
73084         New modules: crypto/sha256, crypto/sha512 (from coreutils)
73085         * modules/crypto/sha256: New file.
73086         * modules/crypto/sha512: Likewise.
73087         * lib/sha256.c: Likewise.
73088         * lib/sha256.h: Likewise.
73089         * lib/sha512.c: Likewise.
73090         * lib/sha512.h: Likewise.
73091         * lib/u64.h: Likewise.
73092         * m4/sha256.m4: Likewise.
73093         * m4/sha512.m4: Likewise.
73094         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
73096 2008-05-10  Bruno Haible  <bruno@clisp.org>
73098         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
73099         (Input/Output <stdio.h>): Add xprintf.
73100         (Signal handling <signal.h>): Add strsignal.
73101         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
73102         (Core language properties): Add func.
73103         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
73104         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
73105         strings.
73106         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
73107         (Input/output): New section.
73108         (File system functions): Add openat-die, stat-macros.
73109         (Networking functions): Add sockets.
73110         (Unicode string functions): Add unictype/*.
73111         (Support for building libraries and executables): Add gperf.
73112         (Support for building documentation): Add agpl-3.0.
73113         (Misc): Add nocrash.
73115 2008-05-10  Bruno Haible  <bruno@clisp.org>
73117         * modules/unictype/gen-ctype: New file.
73119 2008-05-10  Jim Meyering  <meyering@redhat.com>
73121         Make chdir-safer.c more efficient on a system with no symlinks.
73122         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
73123         also if ELOOP is zero.  Suggested by Bruno Haible.
73125         Make chdir-safer.c slightly safer.
73126         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
73127         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
73129         Avoid compile failure on systems without ELOOP (like mingw).
73130         * lib/chdir-safer.c (ELOOP): Define if not already defined.
73131         Reported by Bruno Haible.
73133 2008-05-10  Bruno Haible  <bruno@clisp.org>
73135         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
73136         (is_utf8_encoding): Use a case-insensitive comparison.
73137         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
73138         streq.
73140 2008-05-10  Bruno Haible  <bruno@clisp.org>
73142         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
73143         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
73144         * lib/unilbrk/ulc-common.h (iconv_string_length,
73145         iconv_string_keeping_offsets): Remove declarations.
73146         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
73147         Don't include <iconv.h>, streq.h, xsize.h.
73148         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
73149         conversion.
73150         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
73151         <iconv.h>, streq.h, xsize.h.
73152         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
73153         conversion.
73154         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
73155         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
73156         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
73157         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
73159 2008-05-10  Bruno Haible  <bruno@clisp.org>
73161         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
73162         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
73164         * modules/unilbrk/u32-width-linebreaks-tests: New file.
73165         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
73167         * modules/unilbrk/u16-width-linebreaks-tests: New file.
73168         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
73170         * modules/unilbrk/u8-width-linebreaks-tests: New file.
73171         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
73173         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
73174         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
73176         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
73177         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
73179         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
73180         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
73182         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
73183         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
73185 2008-05-10  Bruno Haible  <bruno@clisp.org>
73187         Split up 'linebreak' module.
73188         * lib/unilbrk.h: New file, based on lib/linebreak.h.
73189         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
73190         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
73191         modifications.
73192         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
73193         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
73194         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
73195         lib/linebreak.c.
73196         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
73197         lib/linebreak.c.
73198         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
73199         lib/linebreak.c.
73200         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
73201         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
73202         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
73203         lib/linebreak.c.
73204         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
73205         lib/linebreak.c.
73206         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
73207         lib/linebreak.c.
73208         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
73209         lib/linebreak.c.
73210         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
73211         lib/linebreak.c.
73212         * modules/unilbrk/base: New file.
73213         * modules/unilbrk/tables: New file.
73214         * modules/unilbrk/u8-possible-linebreaks: New file.
73215         * modules/unilbrk/u16-possible-linebreaks: New file.
73216         * modules/unilbrk/u32-possible-linebreaks: New file.
73217         * modules/unilbrk/ulc-common: New file.
73218         * modules/unilbrk/ulc-possible-linebreaks: New file.
73219         * modules/unilbrk/u8-width-linebreaks: New file.
73220         * modules/unilbrk/u16-width-linebreaks: New file.
73221         * modules/unilbrk/u32-width-linebreaks: New file.
73222         * modules/unilbrk/ulc-width-linebreaks: New file.
73223         * lib/linebreak.h: Remove file.
73224         * lib/linebreak.c: Remove file.
73225         * m4/linebreak.m4: Remove file.
73226         * modules/linebreak: Remove file.
73227         * NEWS: Mention the changes.
73229 2008-05-09  Eric Blake  <ebb9@byu.net>
73231         Add xmemdup0.
73232         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
73233         implementation.
73234         * lib/xmalloc.c (xmemdup0): New C implementation.
73236 2008-05-08  Bruno Haible  <bruno@clisp.org>
73238         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
73240 2008-05-07  Eric Blake  <ebb9@byu.net>
73242         Support cross-compilation of <wctype.h>.
73243         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
73244         AC_CACHE_CHECK.
73246 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
73248         * build-aux/vc-list-files: Add support for bzr.
73250 2008-05-03  Jim Meyering  <meyering@redhat.com>
73252         avoid failed assertion with tight malloc
73253         * tests/test-getndelim2.c: Correct an off-by-one assertion.
73255 2008-05-03  Simon Josefsson  <simon@josefsson.org>
73257         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
73258         are needed from arpa/inet.h.
73259         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
73260         Reported by Bruno Haible.
73262 2008-05-02  Jim Meyering  <meyering@redhat.com>
73264         avoid compilation error on FreeBSD 6
73265         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
73267 2008-05-01  Jim Meyering  <meyering@redhat.com>
73269         useless-if-before-free: correct --help's exit status description
73270         * build-aux/useless-if-before-free (usage): Like grep, exit 0
73271         for one or more matches, etc.  Reported by Bruno Haible.
73273         vc-list-files: make the stand-alone gnulib test work
73274         * modules/vc-list-files-tests (configure.ac):
73275         Define and AC_SUBST abs_aux_dir.
73276         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
73277         $(abs_top_srcdir) to each script and having each of them
73278         duplicate the work of setting PATH, set PATH here, using
73279         the new variable, abs_aux_dir instead.
73280         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
73281         * tests/test-vc-list-files-git.sh: Likewise.
73282         Reported by Bruno Haible.
73284 2008-05-01  Bruno Haible  <bruno@clisp.org>
73286         * lib/getndelim2.c (getndelim2): Fix newsize computation during
73287         reallocation. Rename 'done' to 'found_delimiter'.
73289 2008-05-01  Jim Meyering  <meyering@redhat.com>
73291         vc-list-files: accommodate /bin/sh like the one from Solaris 10
73292         * build-aux/vc-list-files: Use `...`, not $(...).
73294 2008-04-30  Jim Meyering  <meyering@redhat.com>
73296         add tests for vc-list-files
73297         * modules/vc-list-files-tests: New module.
73298         * tests/test-vc-list-files-cvs.sh: New file.
73299         * tests/test-vc-list-files-git.sh: New file.
73301         avoid a warning from gcc
73302         * lib/getndelim2.c (IF_LINT): Define.
73303         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
73305         vc-list-files: work properly with build-aux/cvsu, too
73306         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
73307         to all cvs-based clauses.
73309         vc-list-files: work properly in the CVS+awk case, too
73310         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
73312         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
73313         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
73314         take more than one file argument, so .  Add quotes, just in case $dir
73315         ever contains a shell meta-character.  Prompted by Soren Hansen in
73316         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
73318 2008-04-29  Eric Blake  <ebb9@byu.net>
73320         Optimize getndelim2 to use block operations when possible.
73321         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
73322         freadseek, and memchr2.
73323         * lib/getndelim2.c (getndelim2): Use them for block reads.
73325 2008-04-29  Bruno Haible  <bruno@clisp.org>
73327         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
73328         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
73329         * modules/inet_ntop (Depends-on): Add extensions.
73330         * modules/inet_pton (Depends-on): Likewise.
73331         Reported by Simon Josefsson.
73333 2008-04-29  Jim Meyering  <meyering@redhat.com>
73335         When the is more than one match in a block, match all of them.
73336         * build-aux/useless-if-before-free: Iterate through each block
73337         until there are no more matches.
73339         Fix broken useless-if-before-free script.
73340         * build-aux/useless-if-before-free: Fix typo: missing "?" after
73341         the expression to match cast of argument to free-like function.
73343 2008-04-29  Eric Blake  <ebb9@byu.net>
73345         Use new header.
73346         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
73348 2008-04-29  Jim Meyering  <meyering@redhat.com>
73350         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
73351         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
73352         by gnulib to exist and to declare e.g., inet_ntop.
73353         Don't include "inet_ntop.h", now removed.
73355         * m4/arpa_inet_h.m4: Remove trailing blanks.
73357 2008-04-29  Eric Blake  <ebb9@byu.net>
73359         Silence valgrind on safe reads beyond potential array bounds.
73360         * lib/rawmemchr.valgrind: New file.
73361         * lib/strchrnul.valgrind: Likewise.
73362         * modules/rawmemchr (Files): Distribute new file.
73363         * modules/strchrnul (Files): Likewise.
73364         Suggested by Bruno Haible.
73366 2008-04-29  Bruno Haible  <bruno@clisp.org>
73368         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
73369         (inet_ntop, inet_pton): Change portability warning's wording.
73370         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
73371         Invoke gl_CHECK_NEXT_HEADERS.
73372         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
73373         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
73374         set ARPA_INET_H.
73375         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
73376         * modules/arpa_inet (Description): No longer only for systems that
73377         lack it.
73378         (Depends-on): Add include_next.
73379         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
73380         HAVE_ARPA_INET_H.
73382 2008-04-29  Jim Meyering  <meyering@redhat.com>
73384         * modules/mkdir (License): Re-license as LGPLv2+.
73386 2008-04-29  Bruno Haible  <bruno@clisp.org>
73388         * modules/rawmemchr (Maintainer): Set to Eric.
73389         * modules/strchrnul (Maintainer): Likewise.
73391 2008-04-29  Simon Josefsson  <simon@josefsson.org>
73393         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
73394         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
73396         * modules/arpa_inet (arpa/inet.h): Use them.
73398 2008-04-28  Eric Blake  <ebb9@byu.net>
73400         Test getndelim2.
73401         * modules/getndelim2-tests: New file.
73402         * tests/test-getndelim2.c: Likewise.
73403         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
73404         stream.
73405         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
73407         * MODULES.html.sh: Document new module.
73409 2008-04-20  Bruno Haible  <bruno@clisp.org>
73411         * lib/c-stack.c (die): Use raise.
73412         * modules/c-stack (Depends-on): Add raise.
73414 2008-04-28  Bruno Haible  <bruno@clisp.org>
73416         Expect rpmatch to be declared.
73417         * lib/yesno.c (rpmatch): Remove declaration.
73419         Declare rpmatch.
73420         * lib/stdlib.in.h (rpmatch): New declaration.
73421         * lib/rpmatch.c: Include <stdlib.h> first.
73422         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
73423         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
73424         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
73425         HAVE_RPMATCH.
73426         * modules/rpmatch (Depends-on): Add stdlib, extensions.
73427         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73428         (Include): Set to <stdlib.h>.
73429         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
73430         HAVE_RPMATCH.
73431         * NEWS: Document the change.
73433 2008-04-28  Bruno Haible  <bruno@clisp.org>
73435         Change rpmatch to use nl_langinfo when appropriate.
73436         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
73437         (N_): New macro.
73438         (localized_pattern): New function/macro.
73439         (try): Remove match, nomatch arguments. Copy the pattern into safe
73440         memory before caching it.
73441         (rpmatch): Use localized_pattern. Add translator comments.
73442         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
73443         Suggested by Eric Blake.
73444         * modules/rpmatch (Depends-on): Add stdbool.
73446 2008-04-28  Eric Blake  <ebb9@byu.net>
73448         Add rawmemchr module, matching glibc.
73449         * modules/string (Makefile.am): New indicator.
73450         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
73451         * lib/string.in.h (rawmemchr): Declare when appropriate.
73452         * modules/rawmemchr: New file.
73453         * m4/rawmemchr.m4: Likewise.
73454         * lib/rawmemchr.c: Likewise.
73455         * modules/rawmemchr-tests: Likewise.
73456         * tests/test-rawmemchr.c: Likewise.
73457         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
73458         module.
73459         * modules/strchrnul (Depends-on): Add rawmemchr.
73460         * lib/strchrnul.c (strchrnul): Optimize a corner case.
73462         Whitespace cleanup.
73463         * tests/test-strchrnul.c: Reindent.
73464         * lib/strchrnul.c: Likewise.
73466         Optimize and test strchrnul.
73467         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
73468         * modules/strchrnul-tests: New file.
73469         * tests/test-strchrnul.c: Likewise.
73471         Remove intprops dependency.
73472         * modules/memchr (Depends-on): Remove intprops.
73473         * modules/memrchr (Depends-on): Likewise.
73474         * modules/memchr2 (Depends-on): Likewise.
73475         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
73476         * lib/memrchr.c (__memrchr): Likewise.
73477         * lib/memrchr2.c (memchr2): Likewise.
73478         Reported by Simon Josefsson.
73480 2008-04-28  Simon Josefsson  <simon@josefsson.org>
73482         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
73483         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73485 2008-04-28  Simon Josefsson  <simon@josefsson.org>
73487         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
73489         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
73491         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
73493         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
73494         declarations.
73495         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
73497         * m4/inet_pton.m4: Don't check for header files.
73499         * m4/inet_ntop.m4: Don't check for header files.
73501 2008-04-28  Simon Josefsson  <simon@josefsson.org>
73503         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
73504         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
73505         trigger for cygwin).
73506         Reported by Bruno Haible  <bruno@clisp.org>.
73508 2008-04-28  Bruno Haible  <bruno@clisp.org>
73510         * doc/posix-functions/strdup.texi: Mention mingw problem.
73512 2008-04-27  Bruno Haible  <bruno@clisp.org>
73514         * modules/stat-time-tests (Depends-on): Add sleep.
73515         * tests/test-stat-time.c (force_unlink): New function.
73516         (cleanup): Use it.
73517         (test_mtime): Remove the ctime related tests.
73518         (test_ctime): New function, containing the ctime related tests.
73519         (main): Call test_ctime, except on native Windows platforms.
73521 2008-04-27  Bruno Haible  <bruno@clisp.org>
73523         * lib/rpmatch.c (rpmatch): Add some comments.
73524         Reported by James Youngman <jay@gnu.org>.
73526 2008-04-27  Bruno Haible  <bruno@clisp.org>
73528         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
73529         quiet NaNs.
73531 2008-04-27  Bruno Haible  <bruno@clisp.org>
73533         Make test-yesno.sh work on mingw.
73534         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
73535         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
73536         (main): Set stdin to binary mode.
73537         * modules/yesno-tests (Depends-on): Add binary-io.
73539 2008-04-27  Bruno Haible  <bruno@clisp.org>
73541         Fix 'isfinite' on x86, x86_64, ia64 platforms.
73542         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
73543         argument that lie outside the IEEE 854 domain.
73544         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
73545         (gl_ISFINITE): Use it.
73546         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
73548 2008-04-27  Bruno Haible  <bruno@clisp.org>
73550         Allow local renaming in config.h.
73551         * lib/memrchr.c (memrchr): Don't undefine outside libc.
73553 2008-04-27  Bruno Haible  <bruno@clisp.org>
73555         * lib/memchr.c (__memchr): Change type of 'i'.
73556         * lib/memchr2.c (memchr2): Likewise.
73558 2008-04-26  Eric Blake  <ebb9@byu.net>
73559         and Bruno Haible  <bruno@clisp.org>
73561         Optimize and test memrchr.
73562         * modules/memrchr (Depends-on): Add intprops.
73563         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
73564         * modules/memrchr-tests: New file.
73565         * tests/test-memrchr.c: New file.
73567 2008-04-26  Bruno Haible  <bruno@clisp.org>
73569         Add tentative support for DragonFly BSD.
73570         * lib/stdio-impl.h: Add macros for DragonFly BSD.
73571         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
73572         fp.
73573         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
73574         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
73575         * lib/fpurge.c (fpurge): Likewise.
73576         * lib/freadable.c (freaadable): Likewise.
73577         * lib/freadahead.c (freadahead): Likewise.
73578         * lib/freading.c (freading): Likewise.
73579         * lib/freadptr.c (freadptr): Likewise.
73580         * lib/freadseek.c (freadptrinc): Likewise.
73581         * lib/fseeko.c (fseeko): Likewise.
73582         * lib/fseterr.c (fseterr): Likewise.
73583         * lib/fwritable.c (fwritable): Likewise.
73584         * lib/fwriting.c (fwriting): Likewise.
73586 2008-04-26  Bruno Haible  <bruno@clisp.org>
73588         * lib/stdio-impl.h: New file.
73589         * lib/fbufmode.c: Include stdio-impl.h.
73590         (fbufmode): Use fp_, remove redundant #defines.
73591         * lib/fflush.c: Include stdio-impl.h.
73592         (clear_ungetc_buffer): Remove redundant #defines.
73593         * lib/fpurge.c: Include stdio-impl.h.
73594         (fpurge): Remove redundant #defines.
73595         * lib/freadable.c: Include stdio-impl.h.
73596         (freadable): Remove redundant #defines.
73597         * lib/freadahead.c: Include stdio-impl.h.
73598         (freadahead): Remove redundant #defines.
73599         * lib/freading.c: Include stdio-impl.h.
73600         (freading): Remove redundant #defines.
73601         * lib/freadptr.c: Include stdio-impl.h.
73602         (freadptr): Remove redundant #defines.
73603         * lib/freadseek.c: Include stdio-impl.h.
73604         (freadptrinc): Remove redundant #defines.
73605         * lib/fseeko.c: Include stdio-impl.h.
73606         (rpl_fseeko): Remove redundant #defines.
73607         * lib/fseterr.c: Include stdio-impl.h.
73608         (fseterr): Remove redundant #defines.
73609         * lib/fwritable.c: Include stdio-impl.h.
73610         (fwritable: Remove redundant #defines.
73611         * lib/fwriting.c: Include stdio-impl.h.
73612         (fwriting): Remove redundant #defines.
73613         * modules/fbufmode (Files): Add lib/stdio-impl.h.
73614         * modules/fflush (Files): Likewise.
73615         * modules/fpurge (Files): Likewise.
73616         * modules/freadable (Files): Likewise.
73617         * modules/freadahead (Files): Likewise.
73618         * modules/freading (Files): Likewise.
73619         * modules/freadptr (Files): Likewise.
73620         * modules/freadseek (Files): Likewise.
73621         * modules/fseeko (Files): Likewise.
73622         * modules/fseterr (Files): Likewise.
73623         * modules/fwritable (Files): Likewise.
73624         * modules/fwriting (Files): Likewise.
73626 2008-04-26  Bruno Haible  <bruno@clisp.org>
73628         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
73629         restore_seek_optimization, update_fpos_cache): New functions, extracted
73630         from rpl_fflush.
73631         (rpl_fflush): Use them.
73632         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
73633         (gl_REPLACE_FFLUSH): Use it.
73635 2008-04-26  Bruno Haible  <bruno@clisp.org>
73637         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
73638         on Solaris.
73639         * tests/test-xstrtoimax.sh: Likewise.
73640         * tests/test-xstrtoumax.sh: Likewise.
73641         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73643 2008-04-26  Bruno Haible  <bruno@clisp.org>
73645         * modules/memchr-tests: New file.
73646         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
73648 2008-04-26  Eric Blake  <ebb9@byu.net>
73649             Bruno Haible  <bruno@clisp.org>
73651         * lib/memchr.c: Include intprops.h.
73652         (__memchr): Optimize parallel detection of matching bytes. Rename local
73653         variables. Add explanatory comments.
73655 2008-04-26  Bruno Haible  <bruno@clisp.org>
73657         Fix module 'memchr', broken since 2000-10-28.
73658         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
73660 2008-04-26  Bruno Haible  <bruno@clisp.org>
73662         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
73663         comments.
73665 2008-04-25  Eric Blake  <ebb9@byu.net>
73667         Use native fstatat on cygwin 1.7.0.
73668         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
73669         first.
73671 2008-04-23  Eric Blake  <ebb9@byu.net>
73673         Improve memchr2 performance.
73674         * lib/memchr2.c (memchr2): Further optimize parallel detection of
73675         NUL bytes.
73676         * modules/memchr2 (Depends-on): Use intprops.h.
73678 2008-04-23  Simon Josefsson  <simon@josefsson.org>
73680         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
73681         an inline function instead of a CPP macro.  Patch by Ben Pfaff
73682         <blp@cs.stanford.edu>.
73684 2008-04-23  Simon Josefsson  <simon@josefsson.org>
73686         * lib/arpa_inet.in.h: New file.
73688         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
73689         (Makefile.am): Sed in substitute header file.
73691         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
73692         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
73694         * modules/inet_ntop (configure.ac): Use
73695         gl_ARPA_INET_MODULE_INDICATOR.
73697         * modules/inet_pton (configure.ac): Use
73698         gl_ARPA_INET_MODULE_INDICATOR.
73700 2008-04-22  Jim Meyering  <meyering@redhat.com>
73702         * modules/verify (License): Re-license as LGPLv2+.
73704 2008-04-22  Simon Josefsson  <simon@josefsson.org>
73706         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
73707         parameter to void* as per POSIX standard (MinGW uses char*).
73709 2008-04-21  Bruno Haible  <bruno@clisp.org>
73711         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
73712         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
73713         Define to replacements if REPLACE_ISWCNTRL is 1.
73714         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
73715         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
73716         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
73717         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
73718         what it fixes.
73719         * doc/posix-functions/iswalpha.texi: Likewise.
73720         * doc/posix-functions/iswblank.texi: Likewise.
73721         * doc/posix-functions/iswcntrl.texi: Likewise.
73722         * doc/posix-functions/iswdigit.texi: Likewise.
73723         * doc/posix-functions/iswgraph.texi: Likewise.
73724         * doc/posix-functions/iswlower.texi: Likewise.
73725         * doc/posix-functions/iswprint.texi: Likewise.
73726         * doc/posix-functions/iswpunct.texi: Likewise.
73727         * doc/posix-functions/iswspace.texi: Likewise.
73728         * doc/posix-functions/iswupper.texi: Likewise.
73729         * doc/posix-functions/iswxdigit.texi: Likewise.
73730         Reported by Alain Guibert.
73732 2008-04-21  Bruno Haible  <bruno@clisp.org>
73734         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
73735         Patch by Alain Guibert.
73737 2008-04-21  Bruno Haible  <bruno@clisp.org>
73739         Fix test failures on mingw.
73740         * tests/test-xstrtol.c (print_no_progname): New function.
73741         (main): Install it in error_print_progname hook.
73742         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
73743         * tests/test-xstrtoimax.sh: Likewise.
73744         * tests/test-xstrtoumax.sh: Likewise.
73746 2008-04-21  Bruno Haible  <bruno@clisp.org>
73748         Fix test failure on mingw.
73749         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
73751 2008-04-21  Bruno Haible  <bruno@clisp.org>
73753         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
73754         Actually assign a value.
73756 2008-04-20  Bruno Haible  <bruno@clisp.org>
73758         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
73759         take 2.
73760         * lib/canonicalize.c (canonicalize_file_name): Elide if the
73761         'canonicalize-lgpl' module is also used.
73762         * lib/canonicalize-lgpl.c: Undo last change.
73763         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
73765 2008-04-20  Bruno Haible  <bruno@clisp.org>
73767         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
73768         config.h. Provide _mkdir based fallback for mingw.
73769         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
73770         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
73771         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
73772         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
73773         rather than defining mkdir in config.h.
73774         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
73775         (gl_SYS_STAT_H_DEFAULTS): New macro.
73776         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
73777         HAVE_IO_H any more.
73778         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
73779         HAVE_DECL_MKDIR and HAVE_IO_H.
73781 2008-04-20  Bruno Haible  <bruno@clisp.org>
73783         * lib/isapipe.c: Port to native Windows platforms.
73785 2008-04-20  Bruno Haible  <bruno@clisp.org>
73787         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
73789 2008-04-21  Eric Blake  <ebb9@byu.net>
73791         Work around preprocessors that don't handle UINTMAX_MAX.
73792         * lib/memchr2.c (memchr2): Avoid embedded #if.
73793         Reported by Alain Guibert, fix suggested by Bruno Haible.
73795 2008-04-21  Simon Josefsson  <simon@josefsson.org>
73797         * doc/posix-functions/strftime.texi (strftime): Explain better
73798         Windows incompatibility.  Suggested by Micah Cowan
73799         <micah@cowan.name>.
73801 2008-04-20  Bruno Haible  <bruno@clisp.org>
73803         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
73804         unistr/u8-mblen.
73806 2008-04-20  Bruno Haible  <bruno@clisp.org>
73808         Fix test failure on platforms with non-GNU iconv.
73809         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
73810         (U_TO_U8): Use it, rather than u16_to_u8.
73811         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
73812         units at the end of the input string.
73813         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
73815 2008-04-20  Bruno Haible  <bruno@clisp.org>
73817         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
73818         when the resulting length is 0.
73819         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
73821 2008-04-20  Bruno Haible  <bruno@clisp.org>
73823         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
73824         works.
73825         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
73827 2008-04-20  Bruno Haible  <bruno@clisp.org>
73829         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
73830         * modules/tsearch-tests (configure.ac): Test for initstate function.
73832 2008-04-20  Bruno Haible  <bruno@clisp.org>
73834         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
73835         for nlink_t if missing.
73836         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
73838 2008-04-19  Bruno Haible  <bruno@clisp.org>
73840         Work around snprintf bug on Linux libc5.
73841         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
73842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
73843         gl_SNPRINTF_SIZE1.
73844         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
73845         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
73846         that test failed.
73847         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
73848         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
73849         * modules/snprintf (Files): Add m4/printf.m4.
73850         * modules/vsnprintf (Files): Likewise.
73851         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
73852         * doc/posix-functions/vsnprintf.texi: Likewise.
73854 2008-04-19  Bruno Haible  <bruno@clisp.org>
73856         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
73857         from 0.0058 to less than 10^-7.
73859 2008-04-19  Bruno Haible  <bruno@clisp.org>
73861         Fix rounding when a precision is given.
73862         * lib/vasnprintf.c (is_borderline): New function.
73863         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
73864         9...9x.
73865         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
73866         %e, %g.
73867         * tests/test-vasprintf-posix.c (test_function): Likewise.
73868         * tests/test-snprintf-posix.h (test_function): Likewise.
73869         * tests/test-sprintf-posix.h (test_function): Likewise.
73870         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
73871         * tests/test-printf-posix.h (test_function): Likewise.
73872         * tests/test-printf-posix.output: Update.
73873         Reported by John Darrington <john@darrington.wattle.id.au> via
73874         Ben Pfaff <blp@cs.stanford.edu>.
73876 2008-04-18  Simon Josefsson  <simon@josefsson.org>
73878         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
73879         Suggested by Bruno Haible <bruno@clisp.org>.
73881 2008-04-17  Bruno Haible  <bruno@clisp.org>
73883         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
73884         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
73885         implementation.
73886         Patch by Bruce Merry <bmerry@gmail.com>.
73888 2008-04-17  Simon Josefsson  <simon@josefsson.org>
73890         * doc/posix-functions/strftime.texi (strftime): Mention that %e
73891         doesn't work under Windows.
73893 2008-04-16  Bruno Haible  <bruno@clisp.org>
73895         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
73896         New macros.
73897         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
73898         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
73899         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
73900         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
73901         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
73902         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
73903         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
73904         macros.
73905         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
73906         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
73907         Northern Sotho, Uighur.
73909 2008-04-16  Bruno Haible  <bruno@clisp.org>
73911         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
73912         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
73913         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
73914         Reported by Daniel Bergström <daniel@octocode.com>.
73916 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
73917             Bruno Haible  <bruno@clisp.org>
73919         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
73920         function.
73921         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
73922         New functions, mostly extracted from gl_locale_name_default.
73923         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
73925 2008-04-16  Eric Blake  <ebb9@byu.net>
73927         Adjust strtod detection to catch glibc 2.7 bug.
73928         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
73929         Reported by John Gatewood Ham.
73931 2008-04-16  Bruno Haible  <bruno@clisp.org>
73933         Add tentative support for Linux libc5.
73934         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
73935         * lib/fpurge.c (fpurge): Likewise.
73936         * lib/freadable.c (freadable): Likewise.
73937         * lib/freadahead.c (freadahead): Likewise.
73938         * lib/freading.c (freading): Likewise.
73939         * lib/freadptr.c (freadptr): Likewise.
73940         * lib/freadseek.c (freadptrinc): Likewise.
73941         * lib/fseeko.c (rpl_fseeko): Likewise.
73942         * lib/fseterr.c (fseterr): Likewise.
73943         * lib/fwritable.c (fwritable): Likewise.
73944         * lib/fwriting.c (fwriting): Likewise.
73945         Reported by Alain Guibert <alguibert+bts@free.fr>.
73947 2008-04-15  Bruno Haible  <bruno@clisp.org>
73949         * modules/mathl (configure.ac): Define module indicator.
73951 2008-04-15  Bruno Haible  <bruno@clisp.org>
73953         * lib/logl.c (logl): Remove unused variables.
73955 2008-04-15  Bruno Haible  <bruno@clisp.org>
73957         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
73958         fails.
73960 2008-04-15  Bruno Haible  <bruno@clisp.org>
73962         * lib/trim.c (trim2): Fix argument of isspace() macro.
73964 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
73966         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
73967         to 0.
73968         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
73970 2008-04-14  Bruno Haible  <bruno@clisp.org>
73972         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
73973         AC_LANG_PROGRAM argument.
73974         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
73975         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
73976         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
73977         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
73978         * m4/math_h.m4 (gl_MATH_H): Likewise.
73979         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
73980         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
73981         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
73982         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
73983         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
73984         * m4/regex.m4 (gl_REGEX): Likewise.
73985         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
73986         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
73987         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73988         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
73989         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73990         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73991         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73992         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
73994 2008-04-14  Jim Meyering  <meyering@redhat.com>
73996         test-strtod: fix typos: s/abs/fabs/
73997         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
73999 2008-04-13  Bruno Haible  <bruno@clisp.org>
74001         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
74002         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
74003         module is also used and while not building the reloc-wrapper.
74005 2008-04-13  Bruno Haible  <bruno@clisp.org>
74007         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
74009 2008-04-13  Bruno Haible  <bruno@clisp.org>
74011         Fix AIX compilation failure introduced on 2008-04-02.
74012         * tests/test-frexp.c (exp): Undefine before redefining.
74013         * tests/test-frexpl.c (exp): Likewise.
74015 2008-04-13  Bruno Haible  <bruno@clisp.org>
74017         Work around a HP-UX stdio bug.
74018         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
74019         * tests/test-ftello.c (main): Likewise.
74020         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
74021         * doc/posix-functions/ftello.texi: Likewise.
74023 2008-04-13  Bruno Haible  <bruno@clisp.org>
74025         Make test-signbit pass on HP-UX/hppa.
74026         * tests/test-signbit.c (minus_zerol): New variable.
74027         (test_signbitl): Use it.
74029 2008-04-13  Bruno Haible  <bruno@clisp.org>
74031         Make truncl work on OSF/1 4.0.
74032         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
74033         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
74034         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
74035         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
74036         HAVE_DECL_TRUNCL.
74037         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
74038         HAVE_DECL_TRUNCL.
74039         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
74041 2008-04-13  Bruno Haible  <bruno@clisp.org>
74043         * lib/unictype.h: Remove trailing comma from enumeration definitions.
74045 2008-04-13  Bruno Haible  <bruno@clisp.org>
74047         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
74048         expression, so as to avoid HP-UX 11 cc compiler bug.
74050 2008-04-13  Bruno Haible  <bruno@clisp.org>
74052         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
74054 2008-04-13  Bruno Haible  <bruno@clisp.org>
74056         * lib/git-merge-changelog.c: Remove empty declaration outside of
74057         functions.
74059 2008-04-13  Bruno Haible  <bruno@clisp.org>
74061         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
74063 2008-04-13  Bruno Haible  <bruno@clisp.org>
74065         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
74066         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
74067         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
74068         also if it exists but lacks definitions of the SHUT_* macros.
74069         * modules/sys_socket (Description): Update.
74070         Reported by Elbert Pol <e.pol@chello.nl>.
74072 2008-04-13  Bruno Haible  <bruno@clisp.org>
74074         * lib/localcharset.c (OS2): Don't redefine if already defined.
74075         Reported by Elbert Pol <e.pol@chello.nl>.
74077 2008-04-13  Bruno Haible  <bruno@clisp.org>
74079         * lib/binary-io.h [__EMX__]: Include <io.h>.
74080         Reported by Elbert Pol <e.pol@chello.nl>.
74082 2008-04-12  Bruno Haible  <bruno@clisp.org>
74084         * lib/fpucw.h: Enable the definitions also for x86_64.
74085         Needed for NetBSD/x86_64.
74086         Reported by Thomas Klausner <tk@giga.or.at>.
74088 2008-04-12  Bruno Haible  <bruno@clisp.org>
74090         * tests/test-strtod.c: Include isnand.h.
74091         (main): Use isnand instead of isnan.
74092         Reported by Jim Meyering.
74094 2008-04-12  Bruno Haible  <bruno@clisp.org>
74096         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
74097         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74099 2008-04-12  Jim Meyering  <meyering@redhat.com>
74101         * m4/math_h.m4 (gl_MATH_H): Fix typos.
74103 2008-04-12  Bruno Haible  <bruno@clisp.org>
74105         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
74106         Reported by Elbert Pol <e.pol@chello.nl>.
74108 2008-04-12  Eric Blake  <ebb9@byu.net>
74110         Work around Solaris 10 math.h bug.
74111         * m4/math_h.m4 (gl_MATH_H): Check for bug.
74112         (gl_MATH_H_DEFAULTS): Set up default.
74113         * modules/math (Makefile.am): Replace new indicators.
74114         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
74115         * tests/test-math.c (main): Test this.
74116         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
74117         * doc/posix-headers/math.texi (math.h): Mention bug.
74118         Reported by Nelson H. F. Beebe and Jim Meyering.
74120 2008-04-11  Bruno Haible  <bruno@clisp.org>
74122         Adapt to future versions of Apple GCC.
74123         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
74124         Reported by Peter O'Gorman <peter@pogma.com>.
74126 2008-04-11  Bruno Haible  <bruno@clisp.org>
74128         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
74130 2008-04-11  Bruno Haible  <bruno@clisp.org>
74132         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
74134         * modules/getaddrinfo-tests (Makefile.am): Define
74135         test_getaddrinfo_LDADD.
74137 2008-04-11  Bruno Haible  <bruno@clisp.org>
74139         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
74140         (init): Fix syntax error.
74141         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
74142         is declared.
74144 2008-04-11  Bruno Haible  <bruno@clisp.org>
74146         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
74147         * modules/glob (Depends-on): Add stdbool.
74149 2008-04-11  Bruno Haible  <bruno@clisp.org>
74151         * lib/trim.c: Include <string.h>.
74153 2008-04-11  Eric Blake  <ebb9@byu.net>
74155         Avoid compile failure on OS/2.
74156         * lib/regex_internal.h (internal_function): Disable optimization
74157         on OS/2 (__EMX__), where it caused compiler error.
74158         Reported by Elbert Pol.
74160 2008-04-11  Bruno Haible  <bruno@clisp.org>
74162         Flush the standard error stream before aborting. Needed on mingw.
74163         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
74164         * tests/test-array_list.c (ASSERT): Likewise.
74165         * tests/test-array_oset.c (ASSERT): Likewise.
74166         * tests/test-avltree_list.c (ASSERT): Likewise.
74167         * tests/test-avltree_oset.c (ASSERT): Likewise.
74168         * tests/test-avltreehash_list.c (ASSERT): Likewise.
74169         * tests/test-binary-io.c (ASSERT): Likewise.
74170         * tests/test-byteswap.c (ASSERT): Likewise.
74171         * tests/test-c-ctype.c (ASSERT): Likewise.
74172         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
74173         * tests/test-c-strcasestr.c (ASSERT): Likewise.
74174         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
74175         * tests/test-c-strstr.c (ASSERT): Likewise.
74176         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
74177         * tests/test-canonicalize.c (ASSERT): Likewise.
74178         * tests/test-carray_list.c (ASSERT): Likewise.
74179         * tests/test-ceilf1.c (ASSERT): Likewise.
74180         * tests/test-ceilf2.c (ASSERT): Likewise.
74181         * tests/test-ceill.c (ASSERT): Likewise.
74182         * tests/test-count-one-bits.c (ASSERT): Likewise.
74183         * tests/test-fbufmode.c (ASSERT): Likewise.
74184         * tests/test-fflush2.c (ASSERT): Likewise.
74185         * tests/test-floorf1.c (ASSERT): Likewise.
74186         * tests/test-floorf2.c (ASSERT): Likewise.
74187         * tests/test-floorl.c (ASSERT): Likewise.
74188         * tests/test-fopen.c (ASSERT): Likewise.
74189         * tests/test-fpending.c (ASSERT): Likewise.
74190         * tests/test-fprintf-posix.c (ASSERT): Likewise.
74191         * tests/test-fpurge.c (ASSERT): Likewise.
74192         * tests/test-freadable.c (ASSERT): Likewise.
74193         * tests/test-freadahead.c (ASSERT): Likewise.
74194         * tests/test-freading.c (ASSERT): Likewise.
74195         * tests/test-freadptr.c (ASSERT): Likewise.
74196         * tests/test-freadptr2.c (ASSERT): Likewise.
74197         * tests/test-freadseek.c (ASSERT): Likewise.
74198         * tests/test-freopen.c (ASSERT): Likewise.
74199         * tests/test-frexp.c (ASSERT): Likewise.
74200         * tests/test-frexpl.c (ASSERT): Likewise.
74201         * tests/test-fseek.c (ASSERT): Likewise.
74202         * tests/test-fseeko.c (ASSERT): Likewise.
74203         * tests/test-fstrcmp.c (ASSERT): Likewise.
74204         * tests/test-ftell.c (ASSERT): Likewise.
74205         * tests/test-ftello.c (ASSERT): Likewise.
74206         * tests/test-func.c (ASSERT): Likewise.
74207         * tests/test-fwritable.c (ASSERT): Likewise.
74208         * tests/test-fwriting.c (ASSERT): Likewise.
74209         * tests/test-getdelim.c (ASSERT): Likewise.
74210         * tests/test-getline.c (ASSERT): Likewise.
74211         * tests/test-i-ring.c (ASSERT): Likewise.
74212         * tests/test-iconv-utf.c (ASSERT): Likewise.
74213         * tests/test-iconv.c (ASSERT): Likewise.
74214         * tests/test-isfinite.c (ASSERT): Likewise.
74215         * tests/test-isnand.c (ASSERT): Likewise.
74216         * tests/test-isnanf.c (ASSERT): Likewise.
74217         * tests/test-isnanl.h (ASSERT): Likewise.
74218         * tests/test-ldexpl.c (ASSERT): Likewise.
74219         * tests/test-linked_list.c (ASSERT): Likewise.
74220         * tests/test-linkedhash_list.c (ASSERT): Likewise.
74221         * tests/test-localename.c (ASSERT): Likewise.
74222         * tests/test-lseek.c (ASSERT): Likewise.
74223         * tests/test-mbscasecmp.c (ASSERT): Likewise.
74224         * tests/test-mbscasestr1.c (ASSERT): Likewise.
74225         * tests/test-mbscasestr2.c (ASSERT): Likewise.
74226         * tests/test-mbscasestr3.c (ASSERT): Likewise.
74227         * tests/test-mbscasestr4.c (ASSERT): Likewise.
74228         * tests/test-mbschr.c (ASSERT): Likewise.
74229         * tests/test-mbscspn.c (ASSERT): Likewise.
74230         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
74231         * tests/test-mbspbrk.c (ASSERT): Likewise.
74232         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
74233         * tests/test-mbsrchr.c (ASSERT): Likewise.
74234         * tests/test-mbsspn.c (ASSERT): Likewise.
74235         * tests/test-mbsstr1.c (ASSERT): Likewise.
74236         * tests/test-mbsstr2.c (ASSERT): Likewise.
74237         * tests/test-mbsstr3.c (ASSERT): Likewise.
74238         * tests/test-memchr2.c (ASSERT): Likewise.
74239         * tests/test-memmem.c (ASSERT): Likewise.
74240         * tests/test-open.c (ASSERT): Likewise.
74241         * tests/test-printf-frexp.c (ASSERT): Likewise.
74242         * tests/test-printf-frexpl.c (ASSERT): Likewise.
74243         * tests/test-printf-posix.c (ASSERT): Likewise.
74244         * tests/test-quotearg.c (ASSERT): Likewise.
74245         * tests/test-rbtree_list.c (ASSERT): Likewise.
74246         * tests/test-rbtree_oset.c (ASSERT): Likewise.
74247         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
74248         * tests/test-round1.c (ASSERT): Likewise.
74249         * tests/test-roundf1.c (ASSERT): Likewise.
74250         * tests/test-roundl.c (ASSERT): Likewise.
74251         * tests/test-signbit.c (ASSERT): Likewise.
74252         * tests/test-sleep.c (ASSERT): Likewise.
74253         * tests/test-snprintf-posix.c (ASSERT): Likewise.
74254         * tests/test-snprintf.c (ASSERT): Likewise.
74255         * tests/test-sprintf-posix.c (ASSERT): Likewise.
74256         * tests/test-stat-time.c (ASSERT): Likewise.
74257         * tests/test-strcasestr.c (ASSERT): Likewise.
74258         * tests/test-strerror.c (ASSERT): Likewise.
74259         * tests/test-striconv.c (ASSERT): Likewise.
74260         * tests/test-striconveh.c (ASSERT): Likewise.
74261         * tests/test-striconveha.c (ASSERT): Likewise.
74262         * tests/test-strsignal.c (ASSERT): Likewise.
74263         * tests/test-strstr.c (ASSERT): Likewise.
74264         * tests/test-strtod.c (ASSERT): Likewise.
74265         * tests/test-trunc1.c (ASSERT): Likewise.
74266         * tests/test-trunc2.c (ASSERT): Likewise.
74267         * tests/test-truncf1.c (ASSERT): Likewise.
74268         * tests/test-truncf2.c (ASSERT): Likewise.
74269         * tests/test-truncl.c (ASSERT): Likewise.
74270         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
74271         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
74272         * tests/test-vasnprintf.c (ASSERT): Likewise.
74273         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
74274         * tests/test-vasprintf.c (ASSERT): Likewise.
74275         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
74276         * tests/test-vprintf-posix.c (ASSERT): Likewise.
74277         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
74278         * tests/test-vsnprintf.c (ASSERT): Likewise.
74279         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
74280         * tests/test-wcwidth.c (ASSERT): Likewise.
74281         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
74282         * tests/test-xprintf-posix.c (ASSERT): Likewise.
74283         * tests/test-xvasprintf.c (ASSERT): Likewise.
74284         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
74285         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
74286         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
74287         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
74288         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
74289         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
74290         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
74291         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
74292         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
74293         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
74294         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
74295         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
74296         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
74297         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
74298         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
74299         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
74300         * tests/unictype/test-block_list.c (ASSERT): Likewise.
74301         * tests/unictype/test-block_of.c (ASSERT): Likewise.
74302         * tests/unictype/test-block_test.c (ASSERT): Likewise.
74303         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
74304         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
74305         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
74306         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
74307         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
74308         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
74309         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
74310         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
74311         * tests/unictype/test-combining.c (ASSERT): Likewise.
74312         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
74313         * tests/unictype/test-digit.c (ASSERT): Likewise.
74314         * tests/unictype/test-mirror.c (ASSERT): Likewise.
74315         * tests/unictype/test-numeric.c (ASSERT): Likewise.
74316         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
74317         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
74318         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
74319         * tests/unictype/test-scripts.c (ASSERT): Likewise.
74320         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
74321         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
74322         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
74323         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
74324         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
74325         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
74326         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
74327         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
74328         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
74329         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
74330         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
74331         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
74332         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
74333         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
74334         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
74335         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
74336         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
74337         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
74338         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
74339         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
74340         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
74341         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
74342         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
74343         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
74344         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
74345         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
74346         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
74347         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
74348         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
74349         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
74350         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
74351         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
74352         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
74353         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
74354         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
74355         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
74356         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
74357         Reported by Eric Blake.
74359 2008-04-11  Bruno Haible  <bruno@clisp.org>
74361         * lib/wchar.in.h: Tweak comment.
74363 2008-04-11  Bruno Haible  <bruno@clisp.org>
74365         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
74366         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
74367         gl_COMMON.
74368         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
74370 2008-04-11  Bruno Haible  <bruno@clisp.org>
74372         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
74374 2008-04-11  Simon Josefsson  <simon@josefsson.org>
74376         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
74377         of attempting to use non-existing /dev/*random.  Based on patch
74378         from Adam Strzelecki <ono@java.pl> in
74379         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
74381 2008-04-08  Bruno Haible  <bruno@clisp.org>
74383         Add tentative support for emx+gcc.
74384         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
74385         * lib/fpurge.c (fpurge): Likewise.
74386         * lib/freadable.c (freadable): Likewise.
74387         * lib/freadahead.c (freadahead): Likewise.
74388         * lib/freading.c (freading): Likewise.
74389         * lib/freadptr.c (freadptr): Likewise.
74390         * lib/freadseek.c (freadptrinc): Likewise.
74391         * lib/fseeko.c (rpl_fseeko): Likewise.
74392         * lib/fseterr.c (fseterr): Likewise.
74393         * lib/fwritable.c (fwritable): Likewise.
74394         * lib/fwriting.c (fwriting): Likewise.
74395         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
74397 2008-04-09  Eric Blake  <ebb9@byu.net>
74399         Avoid some autoconf warnings.
74400         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
74401         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
74402         * m4/afs.m4 (gl_AFS): Likewise.
74403         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
74404         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
74405         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
74406         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
74407         (gl_INTEGER_TYPE_SUFFIX): Likewise.
74408         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
74409         (AC_CHECK_DECLS_ONCE): Likewise.
74410         Rename file...
74411         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
74412         gnulib-tool requires autoconf 2.59 or better.
74413         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
74415 2008-04-08  Eric Blake  <ebb9@byu.net>
74417         Use 'git describe --match' if present (added in git 1.5.5).
74418         * build-aux/git-version-gen: Limit result to tags that match 'v*'
74419         if possible.
74421 2008-04-08  Bruno Haible  <bruno@clisp.org>
74423         Add tentative support for OpenServer.
74424         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
74425         _ptr, _cnt.
74426         * lib/fpurge.c (fpurge): Likewise.
74427         * lib/freadable.c (freadable): Likewise.
74428         * lib/freadahead.c (freadahead): Likewise.
74429         * lib/freading.c (freading): Likewise.
74430         * lib/freadptr.c (freadptr): Likewise.
74431         * lib/freadseek.c (freadptrinc): Likewise.
74432         * lib/fseeko.c (rpl_fseeko): Likewise.
74433         * lib/fseterr.c (fseterr): Likewise.
74434         * lib/fwritable.c (fwritable): Likewise.
74435         * lib/fwriting.c (fwriting): Likewise.
74436         Reported by Roger Cornelius <rac@tenzing.org> and
74437         Brian K. White <brian@aljex.com>.
74439 2008-04-06  Jim Meyering  <meyering@redhat.com>
74441         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
74443 2008-04-06  Bruno Haible  <bruno@clisp.org>
74445         Avoid possible error with non-ASCII bytes in UTF-8 locales.
74446         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
74447         * tests/test-printf-posix.sh: Likewise.
74448         * tests/test-vfprintf-posix.sh: Likewise.
74449         * tests/test-vprintf-posix.sh: Likewise.
74450         * tests/test-xprintf-posix.sh: Likewise.
74452 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74454         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
74455         hide error from 'ls', needed on OS/2.
74456         Report by Elbert Pol <elbert.pol@gmail.com>.
74458 2008-04-04  Eric Blake  <ebb9@byu.net>
74460         Make test-fseeko.c failures meaningful.
74461         * tests/test-fseeko.c: Print line number on failure.
74462         * tests/test-fseek.c: Likewise.
74463         Reported by Nelson H. F. Beebe.
74465         Improve strtod bug detection check.
74466         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
74467         required for Solaris 10.
74468         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
74470 2008-04-04  Bruno Haible  <bruno@clisp.org>
74472         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
74473         by m4/setenv.m4.
74475 2008-04-03  Eric Blake  <ebb9@byu.net>
74477         Ensure sane .version contents.
74478         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
74479         version string.
74480         * build-aux/git-version-gen: Improve documentation.
74482         Make GNU make output nicer.
74483         * top/GNUmakefile [!_have-Makefile]: Add dependency on
74484         MAKECMDGOALS to enforce message for all command line targets.  Set
74485         srcdir for use in maint.mk.
74487         Another maintainer tweak.
74488         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
74489         a target that regenerates version.
74491 2008-04-03  Jim Meyering  <meyering@redhat.com>
74493         vc-list-files: don't cause coreutils "make po-check" failure
74494         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
74496 2008-04-03  Eric Blake  <ebb9@byu.net>
74498         Allow VPATH usage of vc-list-files.
74499         * build-aux/vc-list-files (scriptversion): Add timestamp.
74500         (options): Add --help, --version, -C.
74501         (CVS): Support installed cvsu.
74503 2008-04-02  Bruno Haible  <bruno@clisp.org>
74505         Avoid some "statement with no effect" warnings from gcc.
74506         * tests/test-wctype.c (main): Explicitly ignore unused values.
74507         Reported by Jim Meyering.
74509 2008-04-02  Jim Meyering  <meyering@redhat.com>
74511         Avoid some warnings from "gcc -Wshadow".
74512         * tests/test-frexp.c (exp): Define to a different identifier.
74513         * tests/test-frexpl.c (exp): Likewise.
74515 2008-04-03  Jim Meyering  <meyering@redhat.com>
74517         bootstrap: remove dangling *.[ch] symlinks from lib
74518         * build-aux/bootstrap [dangling symlink removal]: Move find's
74519         -depth option to precede all others, to avoid a warning.
74520         Remove *.[ch] files too, and from "$source_base" (usually lib/).
74522 2008-04-02  Bruno Haible  <bruno@clisp.org>
74524         Avoid some warnings from "gcc -Wshadow".
74525         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
74526         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
74527         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
74528         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
74529         Reported by Jim Meyering.
74531 2008-04-01  Bruno Haible  <bruno@clisp.org>
74533         Fix test to work on IRIX 6.5 with cc.
74534         * tests/test-math.c (numeric_equal): New function.
74535         (main): Use it.
74537 2008-04-01  Bruno Haible  <bruno@clisp.org>
74539         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
74541 2008-04-01  Bruno Haible  <bruno@clisp.org>
74543         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
74544         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
74545         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
74546         (Depends-on): Remove math.
74548         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
74549         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
74550         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
74551         (Depends-on): Remove math.
74553         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
74554         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
74555         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
74556         (Depends-on): Remove math.
74557         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
74558         (Depends-on): Remove math.
74560         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
74561         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
74562         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
74563         (Depends-on): Remove math.
74564         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
74565         (Depends-on): Remove math.
74567         * tests/test-round1.c: Include nan.h.
74568         (main): Use NaNd instead of NAN.
74569         * modules/round-tests (Files): Add tests/nan.h.
74571         * tests/test-trunc1.c: Include nan.h.
74572         (main): Use NaNd instead of NAN.
74573         * modules/trunc-tests (Files): Add tests/nan.h.
74575         * tests/test-roundf1.c: Include nan.h.
74576         (main): Use NaNf instead of NAN.
74577         * modules/roundf-tests (Files): Add tests/nan.h.
74579         * tests/test-truncf1.c: Include nan.h.
74580         (main): Use NaNf instead of NAN.
74581         * modules/truncf-tests (Files): Add tests/nan.h.
74583         * tests/test-ceilf1.c: Include nan.h.
74584         (main): Use NaNf instead of NAN.
74585         * modules/ceilf-tests (Files): Add tests/nan.h.
74587         * tests/test-floorf1.c: Include nan.h.
74588         (main): Use NaNf instead of NAN.
74589         * modules/floorf-tests (Files): Add tests/nan.h.
74591         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
74592         (main): Use NaNf instead of NAN.
74593         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
74595         * tests/test-isnand.c: Include nan.h instead of <math.h>.
74596         (main): Use NaNd instead of NAN.
74597         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
74599         * tests/test-frexp.c: Include nan.h.
74600         (main): Use NaNd instead of NAN.
74601         * modules/frexp-tests (Files): Add tests/nan.h.
74603         * lib/isnan.c: Don't include <math.h>.
74604         (FUNC): Don't use NAN macro.
74605         * modules/isnand-nolibm (Depends-on): Remove math.
74606         * modules/isnanf-nolibm (Depends-on): Remove math.
74607         * modules/isnanl (Depends-on): Remove math.
74608         * modules/isnanl-nolibm (Depends-on): Remove math.
74610         * tests/nan.h: New file.
74612 2008-04-01  Eric Blake  <ebb9@byu.net>
74614         Fix typos.
74615         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
74616         values to be the right type.
74618         For now, cater to gnulib strtod inaccuracies.
74619         * tests/test-strtod.c (main): Allow 1-ulp error on expected
74620         fractional results.  While not as nice from a QoI perspective, it
74621         is a quicker patch than correctly implementing decimal to binary
74622         rounding.
74624 2008-03-31  Eric Blake  <ebb9@byu.net>
74626         Guarantee a definition of NAN.
74627         * lib/math.in.h (NAN): Define if missing.
74628         * tests/test-math.c (main): Test it.
74629         * doc/posix-headers/math.texi (math.h): Document this.
74630         * lib/isnan.c (rpl_isnand): Use it.
74631         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
74632         * tests/test-floorf1.c (NaN): Likewise.
74633         * tests/test-frexp.c (NaN): Likewise.
74634         * tests/test-isnand.c (NaN): Likewise.
74635         * tests/test-isnanf.c (NaN): Likewise.
74636         * tests/test-round1.c (NaN): Likewise.
74637         * tests/test-roundf1.c (NaN): Likewise.
74638         * tests/test-snprintf-posix.h (NaN): Likewise.
74639         * tests/test-sprintf-posix.h (NaN): Likewise.
74640         * tests/test-trunc1.c (NaN): Likewise.
74641         * tests/test-truncf1.c (NaN): Likewise.
74642         * tests/test-vasnprintf-posix.c (NaN): Likewise.
74643         * tests/test-vasprintf-posix.c (NaN): Likewise.
74644         * modules/isnand-nolibm (Depends-on): Add math.
74645         * modules/isnanf-nolibm (Depends-on): Likewise.
74646         * modules/isnanl (Depends-on): Likewise.
74647         * modules/isnanl-nolibm (Depends-on): Likewise.
74648         * modules/snprintf-posix-tests (Depends-on): Likewise.
74649         * modules/sprintf-posix-tests (Depends-on): Likewise.
74650         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
74651         * modules/vsprintf-posix-tests (Depends-on): Likewise.
74652         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
74653         * modules/vasprintf-posix-tests (Depends-on): Likewise.
74655 2008-03-31  Bruno Haible  <bruno@clisp.org>
74657         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
74658         * doc/posix-functions/strtod.texi: Likewise.
74660 2008-03-31  Bruno Haible  <bruno@clisp.org>
74662         * tests/test-strtod.c (main): Don't use C99 syntax.
74664 2008-03-31  Bruno Haible  <bruno@clisp.org>
74666         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
74667         Reported by Eric Blake.
74669 2008-03-31  Jim Meyering  <meyering@redhat.com>
74671         Don't compare actual signbit return values.
74672         * tests/test-strtod.c (main): Rather, compare only their
74673         zero/non-zero nature.
74675 2008-03-31  Eric Blake  <ebb9@byu.net>
74677         More strtod documentation.
74678         * doc/posix-functions/strtod.texi (strtod): Interpret more test
74679         failures as distinct bugs.
74681 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
74683         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
74684         Problem reported by Erik Benada in
74685         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
74687 2008-03-30  Bruno Haible  <bruno@clisp.org>
74689         * tests/test-strtod.c: Add comments about which assertion fails on which
74690         platform.
74691         * doc/posix-functions/strtod.texi: Add info about many more platforms.
74693 2008-03-30  Eric Blake  <ebb9@byu.net>
74695         Test signbit behavior on zeros.
74696         * tests/test-signbit.c (test_signbitf): Add tests for zero.
74697         (test_signbitd, test_signbitl): Likewise.
74699         More strtod touchups.
74700         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
74701         sign of negative underflow, for now.  Use .5, not .1.
74702         * doc/posix-functions/strtod.texi (strtod): Mention these
74703         limitations.
74704         Reported by Jim Meyering.
74706 2008-03-30  Bruno Haible  <bruno@clisp.org>
74708         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
74709         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
74711 2008-03-30  Bruno Haible  <bruno@clisp.org>
74713         Avoid failure when attempting to return empty iconv results on some
74714         platforms.
74715         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
74716         allocation, don't report ENOMEM when the resulting string is empty.
74718 2008-03-30  Bruno Haible  <bruno@clisp.org>
74720         Fix buffer overrun.
74721         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
74722         Don't consider the width for tmp_length. Check count against tmp_length
74723         before doing the padding. Ensure enough allocation during padding.
74725 2008-03-30  Eric Blake  <ebb9@byu.net>
74727         strtod touchups.
74728         * lib/strtod.c (strtod): Avoid compiler warnings.
74729         Reported by Jim Meyering.
74731 2008-03-30  Bruno Haible  <bruno@clisp.org>
74733         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
74734         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
74735         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
74736         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
74737         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
74738         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
74739         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
74740         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
74742         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
74743         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
74744         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
74745         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
74746         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
74747         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
74748         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
74749         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
74751         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
74752         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
74753         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
74754         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
74755         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
74756         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
74757         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
74758         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
74760         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
74761         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
74763         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
74764         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
74766         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
74767         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
74769         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
74770         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
74771         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
74773         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
74774         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
74775         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
74777         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
74778         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
74779         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
74781         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
74782         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
74783         * modules/vasprintf (Depends-on): Add EOVERFLOW.
74785         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
74786         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
74787         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
74788         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
74789         (Depends-on): Add EOVERFLOW.
74790         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
74791         (Depends-on): Add EOVERFLOW.
74792         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
74793         (Depends-on): Add EOVERFLOW.
74794         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
74795         (Depends-on): Add EOVERFLOW.
74796         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
74797         (Depends-on): Add EOVERFLOW.
74798         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
74799         (Depends-on): Add EOVERFLOW.
74800         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
74801         (Depends-on): Add EOVERFLOW.
74802         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
74803         (Depends-on): Add EOVERFLOW.
74805         * lib/sprintf.c (EOVERFLOW): Remove fallback.
74806         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
74807         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
74809         * lib/snprintf.c (EOVERFLOW): Remove fallback.
74810         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
74811         * modules/snprintf (Depends-on): Add EOVERFLOW.
74813         * lib/poll.c (EOVERFLOW): Remove fallback.
74814         * modules/poll (Depends-on): Add EOVERFLOW.
74816         * lib/getugroups.c (EOVERFLOW): Remove fallback.
74817         * modules/getugroups (Depends-on): Add EOVERFLOW.
74819         * lib/getdelim.c (EOVERFLOW): Remove fallback.
74820         * modules/getdelim (Depends-on): Add EOVERFLOW.
74822         * lib/ftell.c (EOVERFLOW): Remove fallback.
74823         * modules/ftell (Depends-on): Add EOVERFLOW.
74825         * lib/fprintf.c (EOVERFLOW): Remove fallback.
74826         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
74827         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
74829         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
74831         * modules/EOVERFLOW-tests: New file.
74832         * tests/test-EOVERFLOW.c: New file.
74834         * modules/EOVERFLOW: New file.
74835         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
74837 2008-03-30  Bruno Haible  <bruno@clisp.org>
74839         Fix bug introduced on 2007-06-10.
74840         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
74841         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
74843 2008-03-30  Bruno Haible  <bruno@clisp.org>
74845         Improve freadseek's efficiency after ungetc.
74846         * lib/freadseek.c: Include freadahead.h.
74847         (freadptrinc): New function, extracted from freadseek.
74848         (freadseek): Use it in a loop. Use freadahead to determine the number
74849         of loop iterations.
74850         * modules/freadseek (Depends-on): Add freadahead.
74851         (configure.ac): Require AC_C_INLINE.
74853 2008-03-30  Bruno Haible  <bruno@clisp.org>
74855         * lib/freadseek.c (freadseek): Don't ignore the return value of
74856         freadptr.
74858 2008-03-29  Eric Blake  <ebb9@byu.net>
74860         Add hex float support.
74861         * modules/strtod (Depends-on): Add c-ctype.
74862         (Link): Mention POW_LIB.
74863         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
74864         whitespace between 'e' and exponent.
74865         * tests/test-strtod.c (main): Enable hex float tests.
74866         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
74867         now provides.
74869         Document various strtod bugs, with some fixes.
74870         * doc/posix-functions/strtod.texi (strtod): Document bugs with
74871         "-0x", "inf", "nan", and hex constants.
74872         * doc/posix-functions/atof.texi (atof): Likewise.
74873         * modules/stdlib (Makefile.am): Support strtod.
74874         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
74875         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
74876         detect additional strtod bugs.
74877         * lib/stdlib.in.h (rpl_strtod): Add declarations.
74878         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
74879         bool where appropriate.  Parse 'inf' and 'nan'.
74880         * tests/test-strtod.c: New file.
74881         * modules/strtod (Depends-on): Add stdbool, stdlib.
74882         (configure.ac): Turn on module indicator.
74883         * modules/strtod-tests: New module.
74885 2008-03-29  Eric Blake  <ebb9@byu.net>
74887         Fix ftell on mingw.
74888         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
74889         * modules/ftell-tests (Depends-on): Add binary-io.
74890         * modules/ftello-tests (Depends-on): Likewise.
74891         * tests/test-ftell.c (main): Enhance test to cover behavior after
74892         ungetc.  Enforce binary mode.
74893         * tests/test-ftello.c (main): Likewise.
74895         Pass test-freadseek on cygwin.
74896         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
74897         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
74898         ungetc buffer.
74900         * tests/test-fflush2.c (main): Fix typo.
74902 2008-03-29  Bruno Haible  <bruno@clisp.org>
74904         * tests/test-fflush2.c (main): Temporarily disable the contents of
74905         this test.
74906         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
74907         Reported by Eric Blake.
74909 2008-03-28  Simon Josefsson  <simon@josefsson.org>
74911         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
74912         (GC_SHA224_DIGEST_SIZE): Add.
74914         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
74915         (gc_hash_digest_length): Likewise.
74916         (gc_hash_buffer): Likewise.
74918 2008-03-25  Bruno Haible  <bruno@clisp.org>
74920         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
74921         detail which gettext release to use.
74922         Reported by Simon Josefsson.
74924 2008-03-26  Jim Meyering  <meyering@redhat.com>
74926         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
74927         * modules/gnumakefile (clean-GNUmakefile): Also, use
74928         test ... && ... || : syntax rather than if-then ... fi.
74930         gnumakefile: Don't double-quote-expand $(VPATH) value.
74931         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
74933 2008-03-24  Eric Blake  <ebb9@byu.net>
74935         Alter GNUmakefile to install into top directory.
74936         * modules/maintainer-makefile: Split, and add dependency...
74937         * modules/gnumakefile: to this new module.
74938         * build-aux/GNUmakefile: Move...
74939         * top/GNUmakefile: ...here.
74940         * build-aux/maint.mk: Move...
74941         * top/maint.mk: ...here.
74942         * MODULES.html.sh (Support for maintaining...): Document new
74943         module.
74945 2008-03-23  Bruno Haible  <bruno@clisp.org>
74947         * gnulib-tool: New options --vc-files, --no-vc-files.
74948         (func_usage): Document them.
74949         (vc_files): New variable.
74950         (func_import): Consider vc_files.
74951         (func_create_testdir): Set vc_files to empty.
74952         Suggested by Jim Meyering and Karl Berry.
74954 2008-03-23  Bruno Haible  <bruno@clisp.org>
74956         Fix regex compilation error on HP-UX 11.
74957         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
74958         * modules/regex (Files): Add m4/mbstate_t.m4.
74959         Reported by Ton Voon <ton.voon@altinity.com>.
74961 2008-03-23  Bruno Haible  <bruno@clisp.org>
74963         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
74965 2008-03-23  Eric Blake  <ebb9@byu.net>
74966             Bruno Haible  <bruno@clisp.org>
74968         Install files from top/ in the destination directory.
74969         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
74970         augmentation also for the files from top/.
74971         (func_import, func_create_testdir): Rewrite file names:
74972         top/filename -> filename.
74974 2008-03-23  Bruno Haible  <bruno@clisp.org>
74976         Tweak "gnulib --version" output.
74977         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
74979 2008-03-23  Bruno Haible  <bruno@clisp.org>
74981         Tweak "gnulib --version" output.
74982         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
74983         rather than contents of ChangeLog, when possible.
74985 2008-03-21  Eric Blake  <ebb9@byu.net>
74987         More --version tweaks.
74988         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
74989         date of last ChangeLog entry.
74991 2008-03-21  Jim Meyering  <meyering@redhat.com>
74993         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
74995 2008-03-20  Eric Blake  <ebb9@byu.net>
74997         VPATH fix.
74998         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
75000 2008-03-20  Simon Josefsson  <simon@josefsson.org>
75002         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
75003         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
75005 2008-03-20  Eric Blake  <ebb9@byu.net>
75007         Sync GNUmakefile with coreutils.
75008         * build-aux/GNUmakefile (have-Makefile): Rename...
75009         (_have-Makefile): ...to this, for namespace consideration.
75010         (GNUmakefile.cfg): Include, if present.
75011         (_autoreconf): Define a default.
75012         (_is-dist-target): New rule for rebuilds to pick up intra-release
75013         version.
75014         (maint-cfg.mk): Rename...
75015         (cfg.mk): ...to this.
75017 2008-03-18  Jim Meyering  <meyering@redhat.com>
75019         New script and module: mktempd
75020         * MODULES.html.sh (maint+release support): Add mktempd.
75021         * build-aux/mktempd: New file.
75022         * modules/mktempd: New file.
75024 2008-03-15  Jim Meyering  <meyering@redhat.com>
75026         Undo last change.
75027         * lib/sha1.c, lib/md5.c: 63 != ~63.
75028         Reported by Andreas Schwab.
75030         sha1.c, md5.c: Hoist a redundant expression.
75031         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
75032         "ctx->buflen" only once, before calling *_process_block.
75033         * lib/md5.c (md5_process_bytes): Likewise.
75035 2008-03-14  Eric Blake  <ebb9@byu.net>
75037         Bump copyright year in files generated by gnulib-tool.
75038         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
75039         gnulib-tool, rather than hard-coding it.
75041         Fix 'gnulib-tool --version' output to work with git.
75042         * gnulib-tool (func_gnulib_dir): New function, extracted from...
75043         (startup): ...here.
75044         (func_version): Use it to invoke git-version-gen, rather than
75045         relying on CVS keyword expansion.  Modernize wording.
75046         (cvsdatestamp, last_checkin_date, version): Kill unused
75047         variables.
75049 2008-03-12  Jim Meyering  <meyering@redhat.com>
75051         Recognize optional cast of the argument to free.
75052         * build-aux/useless-if-before-free: Update regexps.
75054         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
75056 2008-03-11  Bruno Haible  <bruno@clisp.org>
75058         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
75059         by a single package.
75060         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
75061         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
75062         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
75063         Reported by Sam Steingold <sds@gnu.org>.
75065 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75067         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
75068         repositories.
75070 2008-03-11  Bruno Haible  <bruno@clisp.org>
75072         Avoid conflicts between local macro definitions.
75073         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75074         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
75076 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
75077             Bruno Haible  <bruno@clisp.org>
75079         Make va_copy work with some version of xlc on AIX 5.1.
75080         * lib/stdarg.in.h: New file.
75081         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
75082         On AIX, use a <stdarg.h> file substitute.
75083         * modules/stdarg (Files): Add lib/stdarg.in.h.
75084         (Depends-on): Add include_next.
75085         (Makefile.am): Build a stdarg.h substitute if requested.
75086         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
75088 2008-03-10  Bruno Haible  <bruno@clisp.org>
75090         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
75091         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
75092         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
75094 2008-03-10  Bruno Haible  <bruno@clisp.org>
75096         * modules/stdlib (Depends-on): Add include_next, remove
75097         absolute-header.
75099 2008-03-09  Bruno Haible  <bruno@clisp.org>
75101         * lib/freadahead.h (freadahead): Document more precisely.
75102         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
75103         the sum of both buffer sizes.
75104         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
75105         * NEWS: Document the change.
75107 2008-03-09  Bruno Haible  <bruno@clisp.org>
75109         Extend freadptr to return also the buffer size.
75110         * lib/freadptr.h (freadptr): Add sizep argument.
75111         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
75112         (freadptr): Add sizep argument. Determine buffer size like freadahead
75113         does.
75114         * tests/test-freadptr.c: Don't include freadahead.h.
75115         (main): Adapt for new calling convention of freadptr.
75116         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
75117         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
75118         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
75119         tests/test-freadptr2.sh.
75120         (Depends): Remove freadahead.
75121         (TESTS): Add test-freadptr2.sh.
75122         (check_PROGRAMS): Add test-freadptr2.
75124 2008-03-09  Bruno Haible  <bruno@clisp.org>
75126         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
75127         Report and solution by Simon Josefsson.
75129 2008-03-06  Bruno Haible  <bruno@clisp.org>
75131         Make fflush after ungetc work on BSD platforms.
75132         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
75133         * tests/test-fflush2.c: New file.
75134         * tests/test-fflush2.sh: New file.
75135         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
75136         tests/test-fflush2.c.
75137         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
75138         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
75140 2008-03-06  Eric Blake  <ebb9@byu.net>
75142         Likewise for ftello.
75143         * modules/ftello (Dependencies): Add extensions.
75144         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
75146 2008-03-06  Bruno Haible  <bruno@clisp.org>
75148         * modules/fseeko (Dependencies): Add extensions.
75149         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
75150         Needed on glibc systems.
75152 2008-03-06  Bruno Haible  <bruno@clisp.org>
75154         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
75155         email address.
75156         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
75158 2008-03-06  Bruno Haible  <bruno@clisp.org>
75160         * users.txt: Add libgnupdf.
75162 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
75164         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
75165         (Header File Substitutes, Function Substitutes,
75166         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
75167         (Build robot for gnulib): Fix typo.
75169 2008-03-06  Bruno Haible  <bruno@clisp.org>
75171         * doc/gnulib-tool.texi (VCS Issues): Small updates.
75172         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
75174 2008-03-06  Bruno Haible  <bruno@clisp.org>
75176         * doc/func.texi: New file, extracted from doc/gnulib.texi.
75177         * doc/gnulib.texi: Include it.
75179 2008-03-06  Simon Josefsson  <simon@josefsson.org>
75181         * modules/func (License): Change license to unlimited; there was
75182         no LGPL parts in the module anyway.
75184 2008-03-06  Simon Josefsson  <simon@josefsson.org>
75186         * modules/__func__: Renamed to modules/func.
75187         * modules/__func__-tests: Renamed to modules/func-tests.
75188         * tests/test-__func__.c: Renamed to tests/test-func.c.
75189         * m4/__func__.m4: Renamed to m4/func.m4.
75190         * doc/gnulib.texi (__func__): Section renamed to func.
75191         Suggested by Eric Blake <ebb9@byu.net>.
75193 2008-03-06  Simon Josefsson  <simon@josefsson.org>
75195         * doc/gnulib.texi (__func__): Use C99 terminology when talking
75196         about __func__.  Make example self-contained.  Suggested by Eric
75197         Blake <ebb9@byu.net>.
75199         * tests/test-__func__.c (main): Avoid extraneous () around __func.
75200         Suggested by Eric Blake <ebb9@byu.net>.
75202 2008-03-06  Simon Josefsson  <simon@josefsson.org>
75204         * modules/__func__: New file.
75205         * modules/__func__-tests: New file.
75206         * tests/test-__func__.c: New file.
75207         * m4/__func__.m4: New file.
75208         * doc/gnulib.texi (__func__): Document __func__ module.
75210 2008-03-05  Simon Josefsson  <simon@josefsson.org>
75212         * modules/byteswap (License): Re-license as LGPLv2+.
75214 2008-03-05  Simon Josefsson  <simon@josefsson.org>
75216         * doc/Makefile: Add pdf target.
75218 2008-03-05  Simon Josefsson  <simon@josefsson.org>
75220         * modules/inline (License): Use 'unlimited', since there are only
75221         *.m4 files in this module.
75223 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
75224             Bruno Haible  <bruno@clisp.org>
75226         Add support for HP C 7.1 on OpenVMS 8.3.
75227         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
75229 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
75231         Update VMS specifics.
75232         * lib/getopt.c [VMS]: Remove include of unixlib.h.
75234 2008-03-02  Jim Meyering  <meyering@redhat.com>
75236         Remove the last dependency on the "free" module.
75237         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
75238         Reported by Bob Proulx.
75240         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
75242         Remove useless "if" tests before free.  Deprecate "free" module.
75243         * doc/posix-functions/free.texi: Mention that this
75244         module is no longer useful.
75245         * modules/free (Notice): Say this module is obsolete.
75246         * modules/readutmp (Depends-on): Remove free.
75247         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
75248         * lib/putenv.c (putenv): Likewise.
75249         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
75250         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
75251         * tests/test-c-strcasestr.c (main): Likewise.
75252         * tests/test-c-strstr.c (main): Likewise.
75253         * tests/test-mbscasestr1.c (main): Likewise.
75254         * tests/test-mbscasestr2.c (main): Likewise.
75255         * tests/test-mbsstr1.c (main): Likewise.
75256         * tests/test-mbsstr2.c (main): Likewise.
75257         * tests/test-memmem.c (main): Likewise.
75258         * tests/test-strcasestr.c (main): Likewise.
75259         * tests/test-striconv.c (main): Likewise.
75260         * tests/test-striconveh.c (main): Likewise.
75261         * tests/test-striconveha.c (main): Likewise.
75262         * tests/test-strstr.c (main): Likewise.
75264         * build-aux/git-version-gen: Adjust a comment and the Usage string.
75266         bootstrap: sync from coreutils again
75267         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
75269 2008-03-01  Jim Meyering  <meyering@redhat.com>
75271         bootstrap: sync from coreutils
75272         * build-aux/bootstrap (update_po_files): Copy a .po file into place
75273         also when the target doesn't exist.
75275 2008-03-01  Eric Blake  <ebb9@byu.net>
75277         Fix bugs in last patch.
75278         * lib/memchr2.c (memchr2): Fix typo.
75279         * tests/test-memchr2.c: Test previous bug, and don't use GNU
75280         extension.
75281         Reported by Bruce Korb.
75283         New module 'memchr2'.
75284         * modules/memchr2: New file.
75285         * modules/memchr2-tests: Likewise.
75286         * lib/memchr2.h: Likewise.
75287         * lib/memchr2.c: Likewise, based on memchr.c.
75288         * tests/test-memchr2.c: New test.
75289         * MODULES.html.sh (String handling): Add memchr2.
75291 2008-02-29  Bruno Haible  <bruno@clisp.org>
75293         * modules/freadseek-tests: New file.
75294         * tests/test-freadseek.sh: New file.
75295         * tests/test-freadseek.c: New file.
75297         New module 'freadseek'.
75298         * modules/freadseek: New file.
75299         * lib/freadseek.h: New file.
75300         * lib/freadseek.c: New file.
75301         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
75303 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
75305         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
75306         wydawca.
75308         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
75309         program_invocation_name and program_invocation_short_name are
75310         present.
75312 2008-02-28  Bruno Haible  <bruno@clisp.org>
75314         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
75315         * tests/test-freadptr.sh: Also test non-seekable stdin.
75317 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
75319         * build-aux/bootstrap (source_base, m4_base)
75320         (doc_base, tests_base): New variables.
75321         (gnulib_tool_options): Do not hardcode base directories, use
75322         the above variables instead.
75324 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
75326         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
75328 2008-02-28  Bruno Haible  <bruno@clisp.org>
75330         * modules/freadptr-tests: New file.
75331         * tests/test-freadptr.sh: New file.
75332         * tests/test-freadptr.c: New file.
75334         New module 'freadptr'.
75335         * modules/freadptr: New file.
75336         * lib/freadptr.h: New file.
75337         * lib/freadptr.c: New file.
75338         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
75340 2008-02-26  Karl Berry  <karl@freefriends.org>
75342         Sync from Libtool:
75343         * libltdl/argz.c (argz_add, argz_count): New functions.
75344         * libltdl/argz.in.h: Declare them.
75345         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
75347 2008-02-22  Bruno Haible  <bruno@clisp.org>
75349         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
75350         is a pointer type.  Needed for HP-UX 10.
75351         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
75352         * doc/posix-functions/gmtime_r.texi: Likewise.
75353         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
75355 2008-02-24  Bruno Haible  <bruno@clisp.org>
75357         * modules/environ-tests: New file.
75358         * tests/test-environ.c: New file.
75360         New module 'environ'.
75361         * modules/environ: New file.
75362         * lib/unistd.in.h (environ): New declaration.
75363         * m4/environ.m4: New file.
75364         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
75365         after use.
75366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
75367         HAVE_DECL_ENVIRON.
75368         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
75369         HAVE_DECL_ENVIRON.
75370         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
75371         wrong claim that 'environ' is missing on some systems.
75372         * modules/execute (Depends-on): Add environ.
75373         * lib/execute.c (environ): Remove fallback declaration.
75374         * modules/pipe (Depends-on): Add environ.
75375         * lib/pipe.c (environ): Remove fallback declaration.
75376         * modules/setenv (Depends-on): Add environ.
75377         * lib/setenv.c (environ): Remove fallback declaration.
75378         * modules/unsetenv (Depends-on): Add environ.
75379         * lib/unsetenv.c (environ): Remove fallback declaration.
75380         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
75381         m4/environ.m4.
75382         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
75383         (gl_PREREQ_UNSETENV): Likewise.
75385 2008-02-24  Bruno Haible  <bruno@clisp.org>
75387         * doc/posix-functions/environ.texi: Document the MacOS X problem.
75389 2008-02-20  Bob Proulx  <bob@proulx.com>
75391         Enable use of older two part flavor 'git describe'.
75392         * build-aux/git-version-gen: If using the older two part flavor of
75393         git version then recreate the third part now present in the
75394         newer three part flavor of git describe.
75396 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
75398         * lib/fts.c (fts_build): Typo correction to comment.
75400 2008-02-17  Bruno Haible  <bruno@clisp.org>
75402         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
75403         generating no-op conflicts.
75405 2008-02-17  Bruno Haible  <bruno@clisp.org>
75407         Speed up by 10%.
75408         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
75409         result_entries, rather than an index-based loop.
75411 2008-02-17  Bruno Haible  <bruno@clisp.org>
75413         Speed up by 25%.
75414         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
75415         'hashcode_cached'.
75416         (entry_create): New function.
75417         (entry_hashcode): Use the cached hashcode if possible.
75418         (read_changelog_file, try_split_merged_entry): Use entry_create.
75420 2008-02-17  Bruno Haible  <bruno@clisp.org>
75422         Speed up from O(n^2) to O(n) for long ChangeLog files.
75423         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
75424         (read_changelog_file): Change implementation of entries_reversed list
75425         to rbtreehash.
75426         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
75428 2008-02-17  Bruno Haible  <bruno@clisp.org>
75430         New option --split-merged-entry.
75431         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
75432         (find_paragraph_end, try_split_merged_entry): New functions.
75433         (long_options): Add option --split-merged-entry.
75434         (usage): Document option --split-merged-entry.
75435         (main): Implement option --split-merged-entry.
75436         Reported by Eric Blake.
75438 2008-02-17  Bruno Haible  <bruno@clisp.org>
75440         * lib/git-merge-changelog.c: Include c-strstr.h.
75441         (main): Support the "git pull --rebase" situation.
75442         * modules/git-merge-changelog (Depends-on): Add c-strstr.
75443         Reported by Eric Blake.
75445 2008-02-16  Eric Blake  <ebb9@byu.net>
75447         Avoid doubling \ in common case of "c-maybe" quoting style.
75448         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
75449         eliding outer quotes.
75450         * lib/quotearg.h: Document this.
75451         * tests/test-quotearg.c (result_strings, inputs, results_g)
75452         (flag_results, locale_results): Test it by adding a new string to
75453         each test group.
75454         (compare_strings): Test new string.
75456 2008-02-13  Eric Blake  <ebb9@byu.net>
75458         Avoid trigraph quoting in default output.
75459         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
75460         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
75461         unless explicitly requested.
75462         * tests/test-quotearg.c (flag_results, main): Add additional tests.
75464 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
75466         Don't rely on signed integer overflowing to negative value.
75467         * lib/getugroups.c (getugroups): Include <limits.h>.
75468         Instead, compare against INT_MAX, and increment only if the test passes.
75470 2008-02-13  Jim Meyering  <meyering@redhat.com>
75471         and Eric Blake  <ebb9@byu.net>
75473         Avoid shadowing warning and compile errors on Linux.
75474         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
75475         forwarding macros on Linux.
75476         (dcgettext): Define a stub, for Linux.
75477         (results_g, main): Avoid warnings.
75479 2008-02-12  Eric Blake  <ebb9@byu.net>
75481         Silence warning in last patch.
75482         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
75484         Quotearg part 4: add tests, fix c-maybe colon quoting.
75485         * lib/quotearg.h: Improve documentation.
75486         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
75487         escapes when adding outer quotes.  When quoting trigraphs, use
75488         valid C notation.  When quoting NUL, omit extra characters if next
75489         character is not digit.  Alter prototype.
75490         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
75491         callers.
75492         * modules/quotearg-tests: New module.
75493         * tests/test-quotearg.c: New test.
75495 2008-02-07  Eric Blake  <ebb9@byu.net>
75497         Quotearg part 3: add flag to control outer quote elision.
75498         * lib/quotearg.h (c_maybe_quoting_style): New style.
75499         (enum quoting_flags): Better documentation of flags.
75500         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
75501         c-maybe style.
75502         (quotearg_buffer_restyled): Handle new flag to elide outer
75503         quotes.
75505         Quotearg part 2: add flag that can control NUL elision.
75506         * lib/quotearg.h (set_quoting_flags): New prototype.
75507         * lib/quotearg.c (struct quoting_options): Add flag field.
75508         (set_quoting_flags): New function.
75509         (quotearg_buffer_restyled): Add flags parameter.
75510         (quotearg_alloc_mem): Set the flag if length cannot be returned.
75511         (quotearg_n_options): Set the flag, since length cannot be
75512         returned.
75513         (quoting_options_from_style): Default flags correctly.
75515         Quotearg part 1: more wrappers, restore quotearg_char state.
75516         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
75517         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
75518         (quotearg_colon_mem): New wrappers.
75519         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
75520         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
75521         functions.
75522         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
75523         (quotearg_colon_mem): New functions.
75525 2008-02-11  Bruno Haible  <bruno@clisp.org>
75527         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
75528         library in the current directory: it does not work with parallel make.
75529         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75531 2008-02-11  Bruno Haible  <bruno@clisp.org>
75533         * .gitattributes: New file.
75535 2008-02-11  Jim Meyering  <meyering@redhat.com>
75537         useless-if-before-free: Fix reversed exit values.
75538         * build-aux/useless-if-before-free: Use correct values
75539         for EXIT_MATCH and EXIT_NO_MATCH.
75541         * build-aux/useless-if-before-free: Close stdout carefully.
75543 2008-02-10  Bruno Haible  <bruno@clisp.org>
75545         New module 'git-merge-changelog'.
75546         * modules/git-merge-changelog: New file.
75547         * lib/git-merge-changelog.c: New file.
75549 2008-02-10  Jim Meyering  <meyering@redhat.com>
75551         useless-if-before-free: New option: --list (-l).
75553         useless-if-before-free: Don't exit immediately upon open failure.
75554         * build-aux/useless-if-before-free: Exit 2 for errors.
75555         Upon failure to open a file, don't exit immediately.
75556         Rather, just warn and continue with any remaining files.
75558 2008-02-10  Bruno Haible  <bruno@clisp.org>
75560         New abstract list operation 'node_set_value'.
75561         * lib/gl_list.h (gl_list_node_set_value): New function.
75562         (struct gl_list_implementation): New field node_set_value.
75563         * lib/gl_list.c (gl_list_node_set_value): New function.
75564         * lib/gl_array_list.c (gl_array_node_set_value): New function.
75565         (gl_array_list_implementation): Update.
75566         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
75567         (gl_carray_list_implementation): Update.
75568         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
75569         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75570         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75571         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
75572         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75573         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75574         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75575         Update.
75576         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75577         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
75578         (gl_sublist_list_implementation): Update.
75580 2008-02-10  Bruno Haible  <bruno@clisp.org>
75582         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
75583         Needed when ELEMENT is #defined to 'some_type *'.
75585 2008-02-10  Jim Meyering  <meyering@redhat.com>
75587         New script and module: useless-if-before-free
75588         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
75589         * build-aux/useless-if-before-free: New file.
75590         * modules/useless-if-before-free: New file.
75592         * build-aux/gitlog-to-changelog: Use committer date, not author date.
75594         xstrtol_error: Fix typo.
75595         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
75596         s/exit_failure/exit_status/.
75598 2008-02-09  Jim Meyering  <meyering@redhat.com>
75600         New script and module: gitlog-to-changelog
75601         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
75602         * modules/gitlog-to-changelog: New file.
75603         * build-aux/gitlog-to-changelog: New file.
75605 2008-02-08  Jim Meyering  <meyering@redhat.com>
75607         Avoid two "parameter unused" warnings.
75608         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
75609         Mark "st" as used.
75611         Use "git COMMAND", not "git-COMMAND".
75612         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
75613         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
75614         * build-aux/git-version-gen: Use "git status", not "git-status".
75616 2008-02-07  Bruno Haible  <bruno@clisp.org>
75618         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
75619         Avoids a crash on Windows Vista.
75620         Reported by Adam Strzelecki <ono@java.pl> via
75621         Simon Josefsson <simon@josefsson.org>.
75623 2008-02-06  Bruno Haible  <bruno@clisp.org>
75625         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
75626         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
75627         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
75628         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
75629         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
75630         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
75631         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
75632         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
75633         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
75634         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
75635         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
75636         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
75637         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
75638         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
75639         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
75640         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
75641         left-adjust flag.
75642         * tests/test-snprintf-posix.h (test_function): Likewise.
75643         * tests/test-sprintf-posix.h (test_function): Likewise.
75644         * tests/test-vasprintf-posix.c (test_function): Likewise.
75645         * doc/posix-functions/fprintf.texi: Update.
75646         * doc/posix-functions/printf.texi: Update.
75647         * doc/posix-functions/snprintf.texi: Update.
75648         * doc/posix-functions/sprintf.texi: Update.
75649         * doc/posix-functions/vfprintf.texi: Update.
75650         * doc/posix-functions/vprintf.texi: Update.
75651         * doc/posix-functions/vsnprintf.texi: Update.
75652         * doc/posix-functions/vsprintf.texi: Update.
75653         Reported by Peter Fales <psfales@alcatel-lucent.com>.
75655 2008-02-06  Bruno Haible  <bruno@clisp.org>
75657         Fix bug introduced on 2008-01-26.
75658         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
75660 2008-02-06  Bruno Haible  <bruno@clisp.org>
75662         Fix bug introduced on 2007-06-10.
75663         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
75664         !NEED_PRINTF_FLAG_ZERO.
75666 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
75668         getloadavg: use libperfstat on AIX5
75669         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
75671 2008-02-03  Bruno Haible  <bruno@clisp.org>
75673         * lib/diffseq.h: Add comments about required #includes.
75674         Reported by Michael Biggs <gnulib@doubleplum.net>.
75676 2008-02-01  Bruno Haible  <bruno@clisp.org>
75678         * users.txt: Add gnuit.
75680 2008-01-31  Bruno Haible  <bruno@clisp.org>
75682         * lib/md4.c (set_uint32): Mark as inline.
75683         * lib/md5.c (set_uint32): Likewise.
75684         * lib/sha1.c (set_uint32): Likewise.
75685         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
75686         * m4/md5.m4 (gl_MD5): Likewise.
75687         * m4/sha1.m4 (gl_SHA1): Likewise.
75689 2008-01-31  Jim Meyering  <meyering@redhat.com>
75691         Use "sizeof VAR", rather than a literal "4".
75692         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
75693         * lib/md4.c (md4_read_ctx): Likewise.
75694         * lib/sha1.c (sha1_read_ctx): Likewise.
75696 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75698         * tests/test-sha1.c: New file, based on test-md5.c.
75700         * modules/crypto/sha1-tests: New file.
75702 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75704         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
75706 2008-01-31  Jim Meyering  <meyering@redhat.com>
75708         Prefer "sizeof v" over the equivalent "4".
75709         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
75710         * lib/md5.c (set_uint32): Likewise.
75711         * lib/sha1.c (set_uint32): Likewise.
75713 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75715         * lib/sha1.c (set_uint32): Mark function as static.
75717 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75719         md2: clarify comments to say that alignment is not required.
75720         * lib/md2.h: Remove warning about alignment in comment.
75721         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
75722         never been required.
75724 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75726         md4: adapt alignment constraint fix from sha1.
75727         * lib/md4.c (set_uint32): New function, from sha1.c
75728         (md4_read_ctx): Use it.
75729         (md4_finish_ctx): Doc fix.
75730         * lib/md4.h: Doc fix.
75732 2008-01-31  Simon Josefsson  <simon@josefsson.org>
75734         md5: adapt alignment constraint fix from sha1.
75735         * lib/md5.c (set_uint32): New function, from sha1.c
75736         (md5_read_ctx): Use it.
75737         (md5_finish_ctx): Doc fix.
75738         * lib/md5.h: Doc fix.
75740 2008-01-30  Peter Palfrader  <weasel@debian.org>
75742         sha1: remove the result buffer alignment constraint
75743         * lib/sha1.c (set_uint32): New function.
75744         (sha1_read_ctx): Rewrite to remove the result buffer alignment
75745         constraint.
75746         (sha1_finish_ctx): Remove comment warning about alignment constraint.
75747         * lib/sha1.h: Likewise.
75749 2008-01-30  Andreas Schwab  <schwab@suse.de>
75750             Bruno Haible  <bruno@clisp.org>
75752         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
75753         correct definition of LDBL_MIN_EXP.
75755 2008-01-30  Karl Berry  <karl@gnu.org>
75757         * config/srclist-update: try to preserve x bit on updates.
75758         * config/srclistvars.sh: update for karl.
75760 2008-01-29  Jim Meyering  <meyering@redhat.com>
75762         vasnprintf.c: Avoid warning about unused label
75763         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
75764         "overflow" label definition and associated code with the
75765         same cpp condition that guards the sole use of that label.
75767 2008-01-26  Bruno Haible  <bruno@clisp.org>
75769         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
75770         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
75771         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
75772         * lib/isnanl-nolibm.h (isnanl): Likewise.
75773         Reported by Paul Eggert <eggert@cs.ucla.edu>.
75775 2008-01-26  Bruno Haible  <bruno@clisp.org>
75777         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
75778         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
75780 2008-01-26  Bruno Haible  <bruno@clisp.org>
75782         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
75783         GCC >= 4.0 built-in.
75784         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
75786 2008-01-26  Bruno Haible  <bruno@clisp.org>
75788         Rename isnan, applicable to 'double' only, to isnand.
75789         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
75790         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
75791         (configure.ac): Update.
75792         (Include): Replace "isnan.h" with "isnand.h".
75793         * m4/isnand.m4: Renamed from m4/isnan.m4.
75794         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
75795         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
75796         instead of isnan.c.
75797         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
75798         instead of HAVE_ISNAN_IN_LIBC.
75799         (isnand): Renamed from isnan.
75800         * lib/isnand.c: New file.
75801         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
75802         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
75803         (Makefile.am): Update.
75804         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
75805         Include isnand.h instead of isnan.h.
75806         (main): Test isnand instead of isnan.
75807         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
75808         isnan-nolibm.
75809         * modules/frexp (Depends-on): Likewise.
75810         * modules/frexp-tests (Depends-on): Likewise.
75811         * modules/frexp-nolibm (Depends-on): Likewise.
75812         * modules/frexp-nolibm-tests (Depends-on): Likewise.
75813         * modules/isfinite (Depends-on): Likewise.
75814         * modules/round-tests (Depends-on): Likewise.
75815         * modules/signbit (Depends-on): Likewise.
75816         * modules/signbit-tests (Depends-on): Likewise.
75817         * modules/snprintf-posix (Depends-on): Likewise.
75818         * modules/sprintf-posix (Depends-on): Likewise.
75819         * modules/trunc-tests (Depends-on): Likewise.
75820         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
75821         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
75822         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
75823         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
75824         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
75825         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
75826         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
75827         * modules/vasnprintf-posix (Depends-on): Likewise.
75828         * modules/vasprintf-posix (Depends-on): Likewise.
75829         * modules/vfprintf-posix (Depends-on): Likewise.
75830         * modules/vsnprintf-posix (Depends-on): Likewise.
75831         * modules/vsprintf-posix (Depends-on): Likewise.
75832         * lib/frexp.c: Include isnand.h instead of isnan.h.
75833         (ISNAN): Set to isnand instead of isnan.
75834         * lib/isfinite.c: Include isnand.h instead of isnan.h.
75835         (gl_isfinited): Use isnand instead of isnan.
75836         * lib/signbitd.c: Include isnand.h instead of isnan.h.
75837         (gl_signbitd): Use isnand instead of isnan.
75838         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
75839         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
75840         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
75841         (main): Use isnand instead of isnan.
75842         * tests/test-round1.c: Include isnand.h.
75843         (main): Use isnand instead of isnan.
75844         * tests/test-round2.c: Include isnand.h instead of isnan.h.
75845         (ISNAN): Set to isnand instead of isnan.
75846         * tests/test-trunc1.c: Include isnand.h.
75847         (main): Use isnand instead of isnan.
75848         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
75849         (equal): Use isnand instead of isnan.
75850         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
75851         isnand-nolibm.
75852         * NEWS: Mention the change.
75854 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
75855             Bruno Haible  <bruno@clisp.org>
75857         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
75858         the GCC builtins for signbits are present and set
75859         REPLACE_SIGNBIT_USING_GCC if so.
75860         * lib/math.in.h (signbit): Define using GCC builtins if
75861         REPLACE_SIGNBIT_USING_GCC is set.
75862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
75863         REPLACE_SIGNBIT_USING_GCC.
75864         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
75866 2008-01-25  Jim Meyering  <meyering@redhat.com>
75868         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
75869         * lib/poll.c: Include <config.h>, not "config.h".
75870         * tests/test-getaddrinfo.c: Likewise.
75872 2008-01-25  Simon Josefsson  <simon@josefsson.org>
75874         * modules/sockets-tests: New file.
75876 2008-01-24  Simon Josefsson  <simon@josefsson.org>
75878         * modules/sockets: New module, can be used to call WSA_Startup and
75879         WSA_Cleanup when needed.
75881         * lib/sockets.h, lib/sockets.c: New files.
75883         * m4/sockets.m4: New file.
75885         * tests/test-sockets.c: New file.
75887 2008-01-19  Bruno Haible  <bruno@clisp.org>
75889         * doc/posix-headers: Renamed from doc/headers.
75890         * doc/posix-functions: Renamed from doc/functions.
75891         * doc/gnulib.texi: Update.
75893 2008-01-19  Bruno Haible  <bruno@clisp.org>
75895         * doc/glibc-functions/strcasestr.texi: Include contents of
75896         doc/functions/strcasestr.texi, fixing the list of platforms.
75897         * doc/functions/strcasestr.texi: Remove file.
75899 2008-01-19  Bruno Haible  <bruno@clisp.org>
75901         * doc/glibc-functions/memmem.texi: Include contents of
75902         doc/functions/memmem.texi.
75903         * doc/functions/memmem.texi: Remove file.
75905 2008-01-18  Bruno Haible  <bruno@clisp.org>
75907         * doc/glibc-functions/*.texi: New files.
75908         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
75909         to use the new files.
75911 2008-01-17  Bruno Haible  <bruno@clisp.org>
75913         * tests/test-gethostname.c (main): Fix printf statement.
75915 2008-01-17  Simon Josefsson  <simon@josefsson.org>
75917         * modules/gethostname-tests: New file.
75919         * tests/test-gethostname.c: New file.
75921 2008-01-17  Simon Josefsson  <simon@josefsson.org>
75923         * lib/gethostname.c: Include string.h unconditionally, strncpy is
75924         used by the UNAME case.  Reported by Bruno Haible
75925         <bruno@clisp.org>.
75927 2008-01-17  Eric Blake  <ebb9@byu.net>
75929         Convert c-strcasestr to be more efficient.
75930         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
75931         (Depends-on): Add c-strcase, remove malloca, strnlen.
75932         * tests/test-c-strcasestr.c (main): Enhance test.
75933         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
75935 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
75937         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
75938         Use it in creating po/Makevars.
75940 2008-01-15  Simon Josefsson  <simon@josefsson.org>
75942         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
75943         Applications that requires it should initialize libgcrypt
75944         manually.
75946 2008-01-16  Simon Josefsson  <simon@josefsson.org>
75948         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
75950 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
75952         Fix problem with getdate on mingw32 reported by Simon Josefsson
75953         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
75954         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
75955         tzname", when deciding whether to declare tzname.
75956         * lib/strftime.c (tzname): Likewise.
75958 2008-01-15  Bruno Haible  <bruno@clisp.org>
75960         Work around a MacOS X 10.5 bug in frexpl().
75961         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
75962         * doc/functions/frexpl.texi: Document the bug.
75963         Reported by Elias Pipping <pipping@gentoo.org>.
75965 2008-01-14  Eric Blake  <ebb9@byu.net>
75967         Touch up previous patch.
75968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
75969         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
75971         Convert strcasestr module to use Two-Way algorithm.
75972         * modules/strcasestr-simple: New module, based on the old
75973         strcasestr, but with Two-Way rather than KMP.
75974         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
75975         * lib/string.in.h (rpl_strcasestr): Declare.
75976         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
75977         performance.
75978         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
75979         * modules/string (Makefile.am): Support strcasestr.
75980         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
75981         * modules/strcasestr-tests (Depends-on): Check for alarm.
75982         * tests/test-strcasestr.c: Augment test.
75983         * lib/str-two-way.h: Clean up stray macro.
75984         * NEWS: Document new module.
75985         * MODULES.html.sh (string handling): Likewise.
75986         * doc/functions/strcasestr.texi: New file.
75987         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
75988         here, since it is not a POSIX function.
75990 2008-01-14  Colin Watson  <cjwatson@debian.org>
75991             Bruno Haible  <bruno@clisp.org>
75993         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
75994         works fine; if not, set REPLACE_STRSIGNAL.
75995         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
75996         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
75997         REPLACE_STRSIGNAL.
75998         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
75999         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
76000         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
76002 2008-01-14  Bruno Haible  <bruno@clisp.org>
76004         * modules/strsignal (Include): Change to <string.h>.
76006 2008-01-14  Colin Watson  <cjwatson@debian.org>
76008         * modules/argp (Notice): Add a notice recommending to change
76009         XGETTEXT_OPTIONS.
76010         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
76012 2008-01-13  Colin Watson  <cjwatson@debian.org>
76014         * modules/strsignal-tests: New file.
76015         * tests/test-strsignal.c: New file.
76017         * lib/strsignal.c: New file, from glibc with modifications.
76018         * lib/siglist.h: New file, from glibc with modifications.
76019         * lib/string.in.h (strsignal): New declaration.
76020         * m4/strsignal.m4: New file.
76021         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
76022         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
76023         * modules/strsignal: New file.
76024         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
76025         HAVE_DECL_STRSIGNAL.
76027 2008-01-13  Bruno Haible  <bruno@clisp.org>
76029         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
76030         locale encoding is not ASCII. Needed for OpenBSD 4.0.
76031         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
76032         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
76034 2008-01-13  Bruno Haible  <bruno@clisp.org>
76036         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
76037         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
76038         * lib/argp.h (__attribute__): Likewise.
76039         * lib/c-stack.c (__attribute__): Likewise.
76040         * lib/error.h (__attribute__): Likewise.
76041         * lib/fts.c (__attribute__): Likewise.
76042         * lib/openat.h (__attribute__): Likewise.
76043         * lib/stdio.in.h (__attribute__): Likewise.
76044         * lib/string.in.h (__attribute__): Likewise.
76045         * lib/utimens.c (__attribute__): Likewise.
76046         * lib/vasnprintf.h (__attribute__): Likewise.
76047         * lib/xalloc.h (__attribute__): Likewise.
76048         * lib/xprintf.h (__attribute__): Likewise.
76049         * lib/xstrtol.h (__attribute__): Likewise.
76050         * lib/xvasprintf.h (__attribute__): Likewise.
76052 2008-01-12  Bruno Haible  <bruno@clisp.org>
76054         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
76055         * doc/glibc-headers/a.out.texi: New file.
76056         * doc/glibc-headers/aliases.texi: New file.
76057         * doc/glibc-headers/alloca.texi: New file.
76058         * doc/glibc-headers/ar.texi: New file.
76059         * doc/glibc-headers/argp.texi: New file.
76060         * doc/glibc-headers/argz.texi: New file.
76061         * doc/glibc-headers/byteswap.texi: New file.
76062         * doc/glibc-headers/crypt.texi: New file.
76063         * doc/glibc-headers/endian.texi: New file.
76064         * doc/glibc-headers/envz.texi: New file.
76065         * doc/glibc-headers/err.texi: New file.
76066         * doc/glibc-headers/error.texi: New file.
76067         * doc/glibc-headers/execinfo.texi: New file.
76068         * doc/glibc-headers/fpu_control.texi: New file.
76069         * doc/glibc-headers/fstab.texi: New file.
76070         * doc/glibc-headers/fts.texi: New file.
76071         * doc/glibc-headers/getopt.texi: New file.
76072         * doc/glibc-headers/ieee754.texi: New file.
76073         * doc/glibc-headers/ifaddrs.texi: New file.
76074         * doc/glibc-headers/libintl.texi: New file.
76075         * doc/glibc-headers/mcheck.texi: New file.
76076         * doc/glibc-headers/mntent.texi: New file.
76077         * doc/glibc-headers/obstack.texi: New file.
76078         * doc/glibc-headers/paths.texi: New file.
76079         * doc/glibc-headers/printf.texi: New file.
76080         * doc/glibc-headers/pty.texi: New file.
76081         * doc/glibc-headers/resolv.texi: New file.
76082         * doc/glibc-headers/shadow.texi: New file.
76083         * doc/glibc-headers/sysexits.texi: New file.
76084         * doc/glibc-headers/ttyent.texi: New file.
76086 2008-01-12  Jim Meyering  <meyering@redhat.com>
76088         announce-gen: emit Gnulib's git-based version string.
76089         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
76090         New option --gnulib-version=V, where V is expected to be
76091         the output of running git describe in the gnulib directory.
76092         (get_tool_versions): Request feedback on xdelta.  I suspect it's
76093         not useful, and plan to stop publishing an xdelta file with each
76094         coreutils release.
76096         * build-aux/announce-gen: Also check for lzma-compressed files.
76098 2008-01-11  Bruno Haible  <bruno@clisp.org>
76100         * tests/test-memmem.c (main): Increase maximum allowed time.
76101         * tests/test-strstr.c (main): Likewise.
76103 2008-01-11  Bruno Haible  <bruno@clisp.org>
76105         * doc/functions/memmem.texi: Add more precisions about platforms.
76106         * doc/functions/strstr.texi: Likewise.
76108 2008-01-10  Eric Blake  <ebb9@byu.net>
76110         * m4/strstr.m4: Delete cruft from copy-n-paste.
76111         Reported by Bruno Haible.
76113 2008-01-10  Bruno Haible  <bruno@clisp.org>
76115         Make c-strstr rely on strstr.
76116         * lib/c-strstr.c: Don't include str-kmp.h.
76117         (c_strstr): Define in terms of strstr.
76118         * modules/c-strstr (Files): Remove lib/str-kmp.h.
76119         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
76121 2008-01-10  Bruno Haible  <bruno@clisp.org>
76123         * doc/gnulib.texi (String Functions in C Locale): New section.
76124         * doc/c-ctype.texi: New file.
76125         * doc/c-strcase.texi: New file.
76126         * doc/c-strcaseeq.texi: New file.
76127         * doc/c-strcasestr.texi: New file.
76128         * doc/c-strstr.texi: New file.
76129         * doc/c-strtod.texi: New file.
76130         * doc/c-strtold.texi: New file.
76132 2008-01-10  Eric Blake  <ebb9@byu.net>
76134         * lib/relocatable.h: Fix a comment.
76136 2008-01-10  Eric Blake  <ebb9@byu.net>
76138         Share two-way algorithm.
76139         * lib/str-two-way.h: New file, merged from...
76140         * lib/memmem.c: ...here...
76141         * lib/strstr.c: ...and here.
76142         * modules/memmem (Files): Use it.
76143         * modules/strstr (Files): Likewise.
76145         Avoid quadratic strstr implementations.
76146         * lib/strstr.c: New file.
76147         * m4/strstr.m4: Likewise.
76148         * modules/strstr: Likewise.
76149         * modules/strstr-tests: Likewise.
76150         * tests/test-strstr.c: Likewise.
76151         * lib/string.in.h (rpl_strstr): Declare.
76152         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
76153         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
76154         * modules/string (Makefile.am): Likewise.
76155         * MODULES.html.sh (string handling): Mention new module.
76156         * doc/functions/strstr.texi (strstr): Document the bug.
76158 2008-01-10  Bruno Haible  <bruno@clisp.org>
76160         * lib/relocatable.h (relocate): State whether result is freshly
76161         allocated or not.
76162         * lib/relocatable.c (relocate): Return a freshly allocated string
76163         instead of a pointer to a privately held string.
76164         Reported by Sylvain Beucler <beuc@gnu.org>.
76166 2008-01-10  Colin Watson  <cjwatson@debian.org>
76168         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
76169         s/S_ISNLK/S_ISLNK/.
76171 2008-01-09  Bruno Haible  <bruno@clisp.org>
76173         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
76174         and other files.
76175         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
76176         if it's only a guess.
76177         * modules/memmem: Simplify by depending on memmem-simple.
76179 2008-01-09  Bruno Haible  <bruno@clisp.org>
76181         Work around OpenBSD 4.0 tdelete() bug.
76182         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
76183         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
76184         macros and don't redefine the enum values.
76185         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
76186         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
76187         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
76189 2008-01-09  Bruno Haible  <bruno@clisp.org>
76191         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
76192         (main): Don't perform the tests if setlocale did not install a UTF-8
76193         locale. Needed on OpenBSD 4.0.
76194         * modules/wcwidth-tests (Depends-on): Add localcharset.
76196 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
76198         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
76199         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
76200         * NEWS: announce this.
76201         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
76203 2008-01-09  Simon Josefsson  <simon@josefsson.org>
76204         and Eric Blake  <ebb9@byu.net>
76206         Add memmem-simple module.
76207         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
76208         (gl_FUNC_MEMMEM): Separate performance from presence checks.
76209         * modules/memmem-simple: New file.
76210         * modules/memmem (Description): Tweak.
76211         * MODULES.html.sh (string handling): Mention new module.
76212         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
76213         addressed by memmem-simple.
76214         * NEWS: Document the difference.
76216 2008-01-09  Eric Blake  <ebb9@byu.net>
76218         Give gcc some memmem optimization hints.
76219         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
76220         (strcasestr): Declare as pure.
76221         * modules/memmem (Maintainer): Claim my implementation.
76223 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76225         Support AIX 6.1 and higher.
76226         * build-aux/config.libpath: Likewise.
76227         * build-aux/config.rpath: Likewise.
76229 2008-01-08  Jim Meyering  <meyering@redhat.com>
76230             Bruno Haible  <bruno@clisp.org>
76232         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
76233         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
76234         Reported by Peter Fales in
76235         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
76237 2008-01-08  Bruno Haible  <bruno@clisp.org>
76239         * modules/unictype/category-of (Depends-on): Add
76240         unictype/category-none.
76241         * modules/unictype/category-and-tests (Depends-on): Add
76242         unictype/category-{L,N,Lu,Nd}.
76243         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
76244         * modules/unictype/category-or-tests (Depends-on): Add
76245         unictype/category-{L,N}.
76246         * modules/unictype/category-name-tests (Depends-on): Add
76247         unictype/category-{Z,Nl}.
76248         Reported by Simon Josefsson.
76250 2008-01-08  Bruno Haible  <bruno@clisp.org>
76252         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
76253         convention better.
76254         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
76255         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
76256         Reported by Peter Miller <millerp@canb.auug.org.au>.
76258 2008-01-08  Eric Blake  <ebb9@byu.net>
76260         Rewrite memmem to guarantee linear complexity without malloc.
76261         * lib/memmem.c (memmem): Use Two-Way rather than
76262         Knuth-Morris-Pratt, to allow O(1) space usage.
76263         (critical_factorization, two_way_short_needle)
76264         (two_way_long_needle): New functions.
76265         (knuth_morris_pratt): Delete.
76266         * modules/memmem (Depends-on): No longer need malloca or stdbool.
76267         Add stdint.
76268         * tests/test-memmem.c (main): Add tests for periodic needle and
76269         sublinear performance.
76270         * doc/functions/memmem.texi (memmem): Document other deficiencies
76271         in cygwin and older glibc.
76273 2008-01-08  Bruno Haible  <bruno@clisp.org>
76275         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
76276         augmentation.
76278 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
76280         Add a configure time option: --disable-acl.
76281         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
76282         AC_ARG_ENABLE(acl).
76284 2008-01-06  Simon Josefsson  <simon@josefsson.org>
76286         * tests/test-localename.c: Don't include obsolete "setenv.h".
76288         * modules/localename-tests (Depends-on): Need unsetenv.
76290 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76292         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
76294 2008-01-06  Colin Watson  <cjwatson@debian.org>
76296         * users.txt: Add man-db.
76298 2008-01-07  Bruno Haible  <bruno@clisp.org>
76300         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
76301         previous section name.
76303 2008-01-07  Bruno Haible  <bruno@clisp.org>
76305         * lib/progname.c (set_program_name): Don't strip off a leading
76306         "lt-" prefix outside a .libs directory.
76307         Suggested by Paul Eggert.
76309 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
76310             Bruno Haible  <bruno@clisp.org>
76312         Improve memory cleanup in 'relocatable' module.
76313         * lib/relocatable.h (compute_curr_prefix): Change return type to
76314         'char *'.
76315         * lib/relocatable.c (compute_curr_prefix): Change return type to
76316         'char *'. Free curr_installdir after use.
76317         (relocate): Free curr_prefix_better after use.
76318         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
76320 2008-01-01  Bruno Haible  <bruno@clisp.org>
76322         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
76323         failure on older glibc systems.
76324         Reported by Peter Fales <psfales@alcatel-lucent.com>.
76326 2008-01-05  Eric Blake  <ebb9@byu.net>
76328         Avoid quadratic system memmem.
76329         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
76330         Reported by Ralf Wildenhues.
76332         Fix memmem test for mingw.
76333         * modules/memmem-tests (configure.ac): Check for alarm.
76334         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
76335         it.
76336         * doc/functions/memmem.texi: New file.
76337         * doc/gnulib.texi (Function Substitutes): Add memmem.
76338         Reported by Bruno Haible.
76340 2008-01-04  Bruno Haible  <bruno@clisp.org>
76342         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
76343         Require gl_HEADER_STRINGS_H_DEFAULTS, not
76344         gl_HEADER_STRING_H_DEFAULTS.
76346 2008-01-04  Eric Blake  <ebb9@byu.net>
76348         Shorten duration of memmem test.
76349         * tests/test-memmem.c (main): Use alarm to declare failure if test
76350         is taking too long.
76351         Reported by Ralf Wildenhues.
76353 2007-12-21  Simon Josefsson  <simon@josefsson.org>
76355         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
76356         string, needed by strerror.
76358 2008-01-03  Colin Watson  <cjwatson@debian.org>
76359             Bruno Haible  <bruno@clisp.org>
76361         * doc/gnulib-tool.texi (Localization): New section.
76363 2008-01-02  Bruno Haible  <bruno@clisp.org>
76365         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
76366         variables to 'unsigned char *' type.
76367         Reported by Paul Eggert.
76369 2008-01-02  Jim Meyering  <jim@meyering.net>
76371         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
76373 2007-12-31  Jim Meyering  <jim@meyering.net>
76375         Avoid use of private FTS type name.
76376         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
76378 2007-12-30  Karl Berry  <karl@gnu.org>
76380         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
76381         work around defect in Texinfo and/or the standalone Info browser.
76383 2007-12-30  Bruno Haible  <bruno@clisp.org>
76385         Unify 5 copies of the KMP code.
76386         * lib/str-kmp.h: New file.
76387         * lib/c-strcasestr.c: Include str-kmp.h.
76388         (knuth_morris_pratt): Remove function.
76389         (c_strcasestr): Update.
76390         * lib/c-strstr.c: Include str-kmp.h.
76391         (knuth_morris_pratt): Remove function.
76392         (c_strcasestr): Update.
76393         * lib/mbscasestr.c: Include str-kmp.h.
76394         (knuth_morris_pratt_unibyte): Remove function.
76395         * lib/mbsstr.c: Include str-kmp.h.
76396         (knuth_morris_pratt_unibyte): Remove function.
76397         * lib/strcasestr.c: Include str-kmp.h.
76398         (knuth_morris_pratt): Remove function.
76399         (strcasestr): Update.
76400         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
76401         * modules/c-strstr (Files): Likewise.
76402         * modules/mbscasestr (Files): Likewise.
76403         * modules/mbsstr (Files): Likewise.
76404         * modules/strcasestr (Files): Likewise.
76405         Suggested by Paul Eggert.
76407 2007-12-30  Bruno Haible  <bruno@clisp.org>
76409         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
76410         defined.
76412 2007-12-30  Bruno Haible  <bruno@clisp.org>
76414         * lib/xmalloca.h: Include xalloc.h.
76415         (xnmalloca): New macro.
76417 2007-12-30  Bruno Haible  <bruno@clisp.org>
76419         * lib/malloca.h (nmalloca): New macro.
76420         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
76421         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
76422         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
76423         knuth_morris_pratt_multibyte): Likewise.
76424         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
76425         knuth_morris_pratt_multibyte): Likewise.
76426         * lib/memmem.c (knuth_morris_pratt): Likewise.
76427         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
76429 2007-12-25  Bruno Haible  <bruno@clisp.org>
76431         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
76432         * lib/glob.c: Don't include openat.h.
76433         (link_exists2_p): Add back the code that deals with the
76434         !GLOB_ALTDIRFUNC case.
76435         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
76436         let it do the filename concatenation.
76437         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
76438         * modules/glob (Depends-on): Remove openat.
76440 2007-12-31  Bruno Haible  <bruno@clisp.org>
76442         * modules/dirfd (License): Change to LGPLv2+.
76443         Approved by Jim Meyering.
76445 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
76447         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
76448         when multiplying M by sizeof (size_t).
76450 2007-12-10  Martin Lambers  <marlam@marlam.de>
76452         Override getpagesize on mingw.
76453         * lib/getpagesize.c: New file.
76454         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
76455         * modules/getpagesize (Files): Add lib/getpagesize.c.
76456         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
76457         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
76458         REPLACE_GETPAGESIZE.
76459         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
76461 2007-12-25  Bruno Haible  <bruno@clisp.org>
76463         * modules/localcharset (Notice): New field.
76464         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
76465         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
76467 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
76468             Bruno Haible  <bruno@clisp.org>
76470         Avoid using the syntax symbol() in formatted documentation.
76471         * MODULES.html.sh (func_module): When replacing symbol() with a
76472         hyperlink, remove the parentheses. Show an error if some remain.
76473         Recognize and render the '...' syntax.
76474         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
76475         Rework. Add paragraph about GCC's inlining.
76476         * doc/alloca.texi: Likewise.
76477         * doc/error.texi: Remove parentheses from symbol reference.
76478         * doc/gnulib-intro.texi: Likewise.
76479         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
76480         * modules/fnmatch (Description): Reword to say "the ... function".
76481         * modules/full-read (Description): Likewise.
76482         * modules/full-write (Description): Likewise.
76483         * modules/safe-read (Description): Likewise.
76484         * modules/safe-write (Description): Likewise.
76485         * modules/strchrnul (Description): Likewise.
76486         * modules/trim (Description): Likewise.
76487         * modules/error (Description): Remove parentheses from symbol
76488         references.
76489         * modules/verror (Description): Likewise.
76490         Reported by Karl Berry.
76492 2007-12-25  Bruno Haible  <bruno@clisp.org>
76494         Fixup after 2007-10-16 commit.
76495         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
76497 2007-12-24  Bruno Haible  <bruno@clisp.org>
76499         Make --enable-relocatable work with DESTDIR.
76500         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
76501         to compute installdir from destprog.
76502         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
76503         also set the RELOC_DESTDIR variable.
76504         Reported by Левашев Иван <octagram@bluebottle.com>.
76506 2007-12-24  Bruno Haible  <bruno@clisp.org>
76508         Fix link error due to xalloc_die().
76509         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
76510         of xreadlink.
76511         * lib/relocwrapper.c: Update comments.
76512         * build-aux/install-reloc: Remove xreadlink.c from file list.
76513         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
76514         xreadlink.c.
76515         Reported by Левашев Иван <octagram@bluebottle.com>.
76517 2007-12-24  Bruno Haible  <bruno@clisp.org>
76519         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
76520         * lib/setenv.h: Remove file.
76521         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
76522         lib/setenv.h.
76523         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
76524         (Depends-on): Add stdlib.
76525         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
76526         gl_FUNC_UNSETENV.
76527         (Include): Replace setenv.h with <stdlib.h>.
76528         * modules/unsetenv: New file.
76529         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
76530         * lib/unsetenv.c: Include <stdlib.h> first.
76531         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
76532         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
76533         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
76534         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
76535         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
76536         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
76537         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
76538         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
76539         * doc/functions/unsetenv.texi: Update.
76540         * modules/xsetenv (Depends-on): Add unsetenv.
76541         * modules/getdate (Depends-on): Likewise.
76542         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
76543         * lib/xsetenv.c: Don't include setenv.h.
76544         * lib/getdate.y: Likewise.
76545         * lib/relocwrapper.c: Likewise.
76546         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
76547         (Depends-on): Add stdlib.
76548         * NEWS: Mention the changes.
76549         Reported by Левашев Иван <octagram@bluebottle.com>.
76551 2007-12-23  Bruno Haible  <bruno@clisp.org>
76553         * lib/memmem.c (memmem): Use lowercase variable names. Tab
76554         indentation.
76556 2007-12-23  Bruno Haible  <bruno@clisp.org>
76558         * lib/c-strcasestr.c: Add more comments.
76559         * lib/c-strstr.c: Likewise.
76560         * lib/mbscasestr.c: Likewise.
76561         * lib/mbsstr.c: Likewise.
76562         * lib/strcasestr.c: Likewise.
76563         * lib/memmem.c: Likewise.
76565 2007-12-23  Bruno Haible  <bruno@clisp.org>
76567         * tests/test-memmem.c: Include <string.h> first.
76569 2007-12-22  Bruno Haible  <bruno@clisp.org>
76571         * gnulib-tool (func_create_testdir): Change $auxdir while generating
76572         the contents of $testsbase.
76573         Reported by Ralf Wildenhues.
76575 2007-12-22  Bruno Haible  <bruno@clisp.org>
76577         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
76578         two variables local_ldadd_before, local_ldadd_last.
76580 2007-12-20  Eric Blake  <ebb9@byu.net>
76582         Work around circular library issue when cross-compiling.
76583         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
76584         that progname.o does not need to pull in rpl_memcmp.
76586 2007-12-19  Eric Blake  <ebb9@byu.net>
76588         Fix memmem to avoid O(n^2) worst-case complexity.
76589         * lib/memmem.c (knuth_morris_pratt): New function.
76590         (memmem): Use it if first few naive iterations fail.
76591         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
76592         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
76593         * modules/memchr (License): Likewise.
76594         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
76595         malloca.
76596         * tests/test-memmem.c: Rewrite, borrowing ideas from
76597         test-mbsstr1.c; the old version wouldn't even compile!
76598         * modules/memmem-tests: New file.
76599         * lib/string.in.h (rpl_memmem): Add declaration.
76600         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
76601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
76602         REPLACE_MEMMEM.
76604 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
76606         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
76607         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
76608         before any system include files, and undef after them all.  This
76609         should fix a problem on VMS reported by John E. Malmberg in
76610         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
76612 2007-12-17  Eric Blake  <ebb9@byu.net>
76614         Revert addition of verify, for BSD/OS.
76615         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
76616         can't handle large files, for the sake of obsolete platforms.
76617         * modules/fseeko (Depends-on): Remove verify.
76618         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
76619         * doc/functions/ftello.texi (ftello): Likewise.
76620         * doc/functions/fgetpos.texi (fgetpos): Likewise.
76621         Reported by Larry Jones.
76623 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
76625         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
76626         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
76628 2007-12-17  Jim Meyering  <meyering@redhat.com>
76630         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
76631         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
76632         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
76633         * modules/getcwd (Depends-on): Add openat.
76634         Reported by Petr Salinger.
76636 2007-12-17  Bruno Haible  <bruno@clisp.org>
76638         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
76639         avoid a segmentation fault of the configure test on x86_64 systems.
76641 2007-12-15  Jim Meyering  <meyering@redhat.com>
76643         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
76645 2007-12-13  Eric Blake  <ebb9@byu.net>
76647         Another fseek test.
76648         * tests/test-fseek.c (main): Also test ungetc handling.
76649         * tests/test-fseeko.c (main): Likewise.
76650         * modules/fseeko (Depends-on): Add verify.
76651         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
76652         large.
76653         Reported by Larry Jones.
76655         Fix fseeko on mingw.
76656         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
76657         seek.
76659         Beef up fseek tests.
76660         * tests/test-fseek.c (main): Also test eof handling.
76661         * tests/test-fseeko.c (main): Likewise.
76662         Reported by Larry Jones.
76664 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
76666         Fix fseeko on BSD-based platforms.
76667         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
76668         successful seek.
76670 2007-12-12  Eric Blake  <ebb9@byu.net>
76672         Allow circular dependency of separate libtests.a
76673         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
76674         when use_libtests.
76676 2007-12-11  Eric Blake  <ebb9@byu.net>
76678         Fix bug with -0.0L in previous patch.
76679         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
76680         * tests/test-isnan.c (main): Also test on zeroes.
76681         * tests/test-isnanf.c (main): Likewise.
76682         * tests/test-isnanl.h (main): Likewise.
76684         Detect pseudo-denormals on x86 even when cross-compiling.
76685         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
76686         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
76687         invalid bit patterns that happen to satisfy ==.
76689         Avoid link failures with separate libtests.a.
76690         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
76691         last, to satisfy circular dependencies.
76693 2007-12-11  Eric Blake  <ebb9@byu.net>
76694         and Bruno Haible  <bruno@clisp.org>
76696         Fix OpenBSD 4.0 <float.h> handling of long double.
76697         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
76698         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
76699         * doc/headers/float.texi (float.h): Document OpenBSD bug.
76701 2007-12-11  Jim Meyering  <meyering@redhat.com>
76703         * users.txt: Add libvirt.
76705         Support versions of autoconf prior to 2.59c.
76706         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
76707         if it is not already defined.
76709 2007-12-09  Bruno Haible  <bruno@clisp.org>
76711         Let 'gnulib-tool --import' collect sources needed for the tests in
76712         tests/ rather than in lib/.
76713         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
76714         argument. If true, add rules to generate libtests.a, and put libtests.a
76715         into $(LDADD). Consider source files in subdirectories and set
76716         uses_subdirs.
76717         (func_emit_initmacro_start, func_emit_initmacro_end,
76718         func_emit_initmacro_done): Pass all arguments explicitly.
76719         (func_import): Determine two module lists main_modules,
76720         testsrelated_modules. Determine use_libtests. Determine two variables
76721         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
76722         instead of just sed_transform_lib_file. Determine two variables
76723         main_files and testsrelated_files. Compute 'files' as the union of
76724         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
76725         func_add_or_update. In the generated gnulib-comp.m4, collect the
76726         object files for tests/ in different variables than those for lib/.
76727         Substitute LIBTESTS_LIBDEPS.
76728         (func_create_testdir): Combine the uses_subdirs results from
76729         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
76731 2007-12-09  Bruno Haible  <bruno@clisp.org>
76733         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
76734         the build-aux directory.
76736 2007-12-09  Bruno Haible  <bruno@clisp.org>
76738         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
76739         introduced on 2006-09-09.
76741 2007-12-07  Jim Meyering  <meyering@redhat.com>
76743         Let these macros work also with autoconf-2.59.
76744         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
76745         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
76746         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
76748 2007-12-06  Jim Meyering  <meyering@redhat.com>
76750         Avoid a configure-time syntax error in gl_FUNC_ACL.
76751         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
76752         function in each branch, before testing the cache variable.
76754 2007-12-04  Eric Blake  <ebb9@byu.net>
76756         Make scripts executable.
76757         * build-aux/config.guess: Add execute permissions.
76758         * build-aux/config.sub: Likewise.
76759         * build-aux/gendocs.sh: Likewise.
76761         Fix frexp on mingw.
76762         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
76763         cross-compiling.
76764         * doc/functions/frexp.texi (frexp): Document the bug.
76766         Make cygwin fseeko check more reliable.
76767         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
76768         version numbers, rather than unrelated feature check.
76769         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
76770         * doc/functions/ftello.texi (ftello): Likewise.
76771         Reported by Bruno Haible.
76773         * m4/strerror.m4: Bump version number.
76775 2007-12-03  Bruno Haible  <bruno@clisp.org>
76777         * doc/functions/mprotect.texi: Mention the mingw problem.
76779 2007-12-03  Eric Blake  <ebb9@byu.net>
76781         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
76782         REPLACE_STRERROR is initialized before this macro.
76784 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
76786         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
76787         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
76788         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
76789         put -lsec in even for programs other than 'ls'.  This fixes a problem
76790         for gettext reported by Bruno Haible in
76791         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
76792         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
76793         Add support for Solaris 10.  This isn't efficient, but should get the
76794         job done for now.
76796 2007-12-03  James Youngman  <jay@gnu.org>
76798         * doc/regexprops-generic.texi: change "an close-group" to "a
76799         close-group" and "illegal" to "not allowed".
76801 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76803         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
76804         pr_byname.h. Needed for the rare case when the maintainer has done
76805         "make maintainer-clean" in the source directory and then attempts a
76806         build outside the source directory.
76807         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
76808         scripts_byname.h.
76810 2007-12-02  Martin Lambers  <marlam@marlam.de>
76811             Bruno Haible  <bruno@clisp.org>
76813         * lib/getpagesize.h: Remove file.
76814         * lib/unistd.in.h: Include declaration of getpagesize here.
76815         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
76816         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
76817         HAVE_SYS_PARAM_H.
76818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
76819         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
76820         * modules/getpagesize (Files): Remove lib/getpagesize.h.
76821         (Depends-on): Add unistd.
76822         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
76823         (Include): Use <unistd.h> instead of getpagesize.h.
76824         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
76825         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
76826         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
76827         gl_GETPAGESIZE invocation, already handled by module dependency.
76828         * lib/pagealign_alloc.c: Don't include getpagesize.h.
76830 2007-12-02  Bruno Haible  <bruno@clisp.org>
76832         * modules/strings-tests: New file.
76833         * tests/test-strings.c: New file.
76835         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
76836         * lib/strings.in.h: New file.
76837         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
76838         * m4/strings_h.m4: New file.
76839         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
76840         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
76841         * modules/strings: New file.
76842         * modules/string (Makefile.am): Update.
76843         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
76844         Reported by Karl Berry.
76846 2007-12-01  Eric Blake  <ebb9@byu.net>
76848         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
76849         accommodate fix in cygwin 1.5.25.
76851 2007-12-01  Jim Meyering  <meyering@redhat.com>
76853         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
76854         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
76855         that would inhibit utf8-optimization of a regexp containing line-
76856         or buffer-anchors, e.g., `^', `$'.
76858 2007-11-30  Bruno Haible  <bruno@clisp.org>
76860         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
76861         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
76862         glthread_recursive_lock_init.
76863         * lib/lock.c (glthread_recursive_lock_init)
76864         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
76865         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
76867 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
76869         New function qset_acl, like set_acl but with syscall semantics.
76870         * lib/acl.h (qset_acl): New decl.
76871         * lib/acl.c (qset_acl): New function.
76872         (set_acl): Use new function.  Use more-consistent diagnostics.
76874 2007-11-28  Jim Meyering  <meyering@redhat.com>
76876         * modules/physmem (License): Change from GPL to LGPLv2+.
76878 2007-11-26  Bruno Haible  <bruno@clisp.org>
76880         * lib/vasnprintf.c (decode_long_double): Don't abort if the
76881         'long double' type has excess precision.
76882         Reported by Jim Meyering in
76883         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
76885 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76887         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
76888         Sync from <http://gnu.org/licenses>.
76889         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
76890         with license text from same location.
76891         * doc/maintain.texi, doc/standards.texi:  Sync from
76892         <http://savannah.gnu.org/projects/gnustandards>.
76894 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
76895         and Jim Meyering  <meyering@redhat.com>
76897         Adjust getdate' grammar to accept a slightly more regular language.
76898         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
76899         Before, the former was rejected.
76900         * lib/getdate.y (digits_to_date_time): New function, factored
76901         out of ...
76902         (number): ...here.  Just call digits_to_date_time.
76903         (hybrid): New non-terminal to handle an <unsigned number,
76904         signed relative offset> sequence consistently.
76906 2007-11-18  Jim Meyering  <meyering@redhat.com>
76908         Pull my changes from coreutils:
76909         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
76910         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
76911         use of $gnulib_tool_option_extras, so that it's separated from the
76912         preceding argument.
76914         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
76915         * build-aux/bootstrap (cp_mark_as_generated): Create any required
76916         parent destination directories before copying a file into place.
76918 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76920         bootstrap: work also with 4-argument variant of AC_INIT
76921         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
76923 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76925         Port test-getaddrinfo to Solaris.
76926         Problem reported by Bruno Haible in
76927         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
76928         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
76929         explanation of setting 'hints'.
76930         Don't reject an implementation merely because it returns EAI_SERVICE.
76931         (EAI_SERVICE): Define to 0 if not defined.
76933 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
76935         The license of gnu-make and posix-shell is now "GPLed build tool".
76936         * modules/gnu-make (License): Likewise.
76937         * modules/posix-shell (License): Likewise.
76939         New module posix-shell, for determining a POSIX shell
76940         or perhaps something that is close enough to a POSIX shell.
76941         * m4/posix-shell.m4: New file.
76942         * modules/posix-shell: New file.
76944         * MODULES.html.sh: Mention new module.
76946         New module gnu-make, for determining whether we're using GNU Make.
76947         * m4/gnu-make.m4: New file.
76948         * modules/gnu-make: New file.
76949         * MODULES.html.sh: Mention new module.
76951 2007-11-14  Jim Meyering  <meyering@redhat.com>
76953         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
76954         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
76955         use this macro to create a function _definition_.
76956         Remove useless "#undef ARGMATCH_DIE".
76958 2007-11-14  Bruno Haible  <bruno@clisp.org>
76960         * lib/config.charset: Update for OpenBSD 4.1.
76961         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
76963 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
76965         Document 64-bit #if problems in stdint.texi.
76966         * doc/headers/stdint.texi (stdint.h): Mention problems with
76967         64-bit-#if, and how to work around them.
76969         Don't insist on 'long long int' support in the preprocessor.  It
76970         breaks too many things.  For example, PRIdMAX still uses a 'long
76971         long int' format with the latest Sun compiler, even though
76972         HAVE_LONG_LONG_INT isn't defined due to that compiler's
76973         preprocessor problem.  This causes the latest coreutils to dump
76974         core on Solaris 10 sparc with the Sun C compiler.
76975         Instead, fix the 2007-10-16 problem in a different way, by evaluating
76976         the troublesome expressions at configure-time, not at #if-time.
76977         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
76978         preprocessor.
76979         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
76980         compile-time C checks, done at 'configure'-time.
76981         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
76982         * modules/inttypes (Makefile): Substitute the new symbols that
76983         gl_INTTYPES_H now generates.
76984         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
76986 2007-11-12  Bruno Haible  <bruno@clisp.org>
76988         Tests for Unicode character classification functions.
76990         * modules/unictype/bidicategory-byname-tests: New file.
76991         * modules/unictype/bidicategory-name-tests: New file.
76992         * modules/unictype/bidicategory-of-tests: New file.
76993         * modules/unictype/bidicategory-test-tests: New file.
76994         * modules/unictype/block-list-tests: New file.
76995         * modules/unictype/block-of-tests: New file.
76996         * modules/unictype/block-test-tests: New file.
76997         * modules/unictype/category-C-tests: New file.
76998         * modules/unictype/category-Cc-tests: New file.
76999         * modules/unictype/category-Cf-tests: New file.
77000         * modules/unictype/category-Cn-tests: New file.
77001         * modules/unictype/category-Co-tests: New file.
77002         * modules/unictype/category-Cs-tests: New file.
77003         * modules/unictype/category-L-tests: New file.
77004         * modules/unictype/category-Ll-tests: New file.
77005         * modules/unictype/category-Lm-tests: New file.
77006         * modules/unictype/category-Lo-tests: New file.
77007         * modules/unictype/category-Lt-tests: New file.
77008         * modules/unictype/category-Lu-tests: New file.
77009         * modules/unictype/category-M-tests: New file.
77010         * modules/unictype/category-Mc-tests: New file.
77011         * modules/unictype/category-Me-tests: New file.
77012         * modules/unictype/category-Mn-tests: New file.
77013         * modules/unictype/category-N-tests: New file.
77014         * modules/unictype/category-Nd-tests: New file.
77015         * modules/unictype/category-Nl-tests: New file.
77016         * modules/unictype/category-No-tests: New file.
77017         * modules/unictype/category-P-tests: New file.
77018         * modules/unictype/category-Pc-tests: New file.
77019         * modules/unictype/category-Pd-tests: New file.
77020         * modules/unictype/category-Pe-tests: New file.
77021         * modules/unictype/category-Pf-tests: New file.
77022         * modules/unictype/category-Pi-tests: New file.
77023         * modules/unictype/category-Po-tests: New file.
77024         * modules/unictype/category-Ps-tests: New file.
77025         * modules/unictype/category-S-tests: New file.
77026         * modules/unictype/category-Sc-tests: New file.
77027         * modules/unictype/category-Sk-tests: New file.
77028         * modules/unictype/category-Sm-tests: New file.
77029         * modules/unictype/category-So-tests: New file.
77030         * modules/unictype/category-Z-tests: New file.
77031         * modules/unictype/category-Zl-tests: New file.
77032         * modules/unictype/category-Zp-tests: New file.
77033         * modules/unictype/category-Zs-tests: New file.
77034         * modules/unictype/category-and-not-tests: New file.
77035         * modules/unictype/category-and-tests: New file.
77036         * modules/unictype/category-byname-tests: New file.
77037         * modules/unictype/category-name-tests: New file.
77038         * modules/unictype/category-none-tests: New file.
77039         * modules/unictype/category-of-tests: New file.
77040         * modules/unictype/category-or-tests: New file.
77041         * modules/unictype/category-test-withtable-tests: New file.
77042         * modules/unictype/combining-class-tests: New file.
77043         * modules/unictype/ctype-alnum-tests: New file.
77044         * modules/unictype/ctype-alpha-tests: New file.
77045         * modules/unictype/ctype-blank-tests: New file.
77046         * modules/unictype/ctype-cntrl-tests: New file.
77047         * modules/unictype/ctype-digit-tests: New file.
77048         * modules/unictype/ctype-graph-tests: New file.
77049         * modules/unictype/ctype-lower-tests: New file.
77050         * modules/unictype/ctype-print-tests: New file.
77051         * modules/unictype/ctype-punct-tests: New file.
77052         * modules/unictype/ctype-space-tests: New file.
77053         * modules/unictype/ctype-upper-tests: New file.
77054         * modules/unictype/ctype-xdigit-tests: New file.
77055         * modules/unictype/decimal-digit-tests: New file.
77056         * modules/unictype/digit-tests: New file.
77057         * modules/unictype/mirror-tests: New file.
77058         * modules/unictype/numeric-tests: New file.
77059         * modules/unictype/property-alphabetic-tests: New file.
77060         * modules/unictype/property-ascii-hex-digit-tests: New file.
77061         * modules/unictype/property-bidi-arabic-digit-tests: New file.
77062         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
77063         * modules/unictype/property-bidi-block-separator-tests: New file.
77064         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
77065         * modules/unictype/property-bidi-common-separator-tests: New file.
77066         * modules/unictype/property-bidi-control-tests: New file.
77067         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
77068         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
77069         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
77070         * modules/unictype/property-bidi-european-digit-tests: New file.
77071         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
77072         * modules/unictype/property-bidi-left-to-right-tests: New file.
77073         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
77074         * modules/unictype/property-bidi-other-neutral-tests: New file.
77075         * modules/unictype/property-bidi-pdf-tests: New file.
77076         * modules/unictype/property-bidi-segment-separator-tests: New file.
77077         * modules/unictype/property-bidi-whitespace-tests: New file.
77078         * modules/unictype/property-byname-tests: New file.
77079         * modules/unictype/property-combining-tests: New file.
77080         * modules/unictype/property-composite-tests: New file.
77081         * modules/unictype/property-currency-symbol-tests: New file.
77082         * modules/unictype/property-dash-tests: New file.
77083         * modules/unictype/property-decimal-digit-tests: New file.
77084         * modules/unictype/property-default-ignorable-code-point-tests: New file.
77085         * modules/unictype/property-deprecated-tests: New file.
77086         * modules/unictype/property-diacritic-tests: New file.
77087         * modules/unictype/property-extender-tests: New file.
77088         * modules/unictype/property-format-control-tests: New file.
77089         * modules/unictype/property-grapheme-base-tests: New file.
77090         * modules/unictype/property-grapheme-extend-tests: New file.
77091         * modules/unictype/property-grapheme-link-tests: New file.
77092         * modules/unictype/property-hex-digit-tests: New file.
77093         * modules/unictype/property-hyphen-tests: New file.
77094         * modules/unictype/property-id-continue-tests: New file.
77095         * modules/unictype/property-id-start-tests: New file.
77096         * modules/unictype/property-ideographic-tests: New file.
77097         * modules/unictype/property-ids-binary-operator-tests: New file.
77098         * modules/unictype/property-ids-trinary-operator-tests: New file.
77099         * modules/unictype/property-ignorable-control-tests: New file.
77100         * modules/unictype/property-iso-control-tests: New file.
77101         * modules/unictype/property-join-control-tests: New file.
77102         * modules/unictype/property-left-of-pair-tests: New file.
77103         * modules/unictype/property-line-separator-tests: New file.
77104         * modules/unictype/property-logical-order-exception-tests: New file.
77105         * modules/unictype/property-lowercase-tests: New file.
77106         * modules/unictype/property-math-tests: New file.
77107         * modules/unictype/property-non-break-tests: New file.
77108         * modules/unictype/property-not-a-character-tests: New file.
77109         * modules/unictype/property-numeric-tests: New file.
77110         * modules/unictype/property-other-alphabetic-tests: New file.
77111         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
77112         * modules/unictype/property-other-grapheme-extend-tests: New file.
77113         * modules/unictype/property-other-id-continue-tests: New file.
77114         * modules/unictype/property-other-id-start-tests: New file.
77115         * modules/unictype/property-other-lowercase-tests: New file.
77116         * modules/unictype/property-other-math-tests: New file.
77117         * modules/unictype/property-other-uppercase-tests: New file.
77118         * modules/unictype/property-paired-punctuation-tests: New file.
77119         * modules/unictype/property-paragraph-separator-tests: New file.
77120         * modules/unictype/property-pattern-syntax-tests: New file.
77121         * modules/unictype/property-pattern-white-space-tests: New file.
77122         * modules/unictype/property-private-use-tests: New file.
77123         * modules/unictype/property-punctuation-tests: New file.
77124         * modules/unictype/property-quotation-mark-tests: New file.
77125         * modules/unictype/property-radical-tests: New file.
77126         * modules/unictype/property-sentence-terminal-tests: New file.
77127         * modules/unictype/property-soft-dotted-tests: New file.
77128         * modules/unictype/property-space-tests: New file.
77129         * modules/unictype/property-terminal-punctuation-tests: New file.
77130         * modules/unictype/property-test-tests: New file.
77131         * modules/unictype/property-titlecase-tests: New file.
77132         * modules/unictype/property-unassigned-code-value-tests: New file.
77133         * modules/unictype/property-unified-ideograph-tests: New file.
77134         * modules/unictype/property-uppercase-tests: New file.
77135         * modules/unictype/property-variation-selector-tests: New file.
77136         * modules/unictype/property-white-space-tests: New file.
77137         * modules/unictype/property-xid-continue-tests: New file.
77138         * modules/unictype/property-xid-start-tests: New file.
77139         * modules/unictype/property-zero-width-tests: New file.
77140         * modules/unictype/scripts-tests: New file.
77141         * modules/unictype/syntax-c-ident-tests: New file.
77142         * modules/unictype/syntax-c-whitespace-tests: New file.
77143         * modules/unictype/syntax-java-ident-tests: New file.
77144         * modules/unictype/syntax-java-whitespace-tests: New file.
77145         * tests/unictype/test-bidi_byname.c: New file.
77146         * tests/unictype/test-bidi_name.c: New file.
77147         * tests/unictype/test-bidi_of.c: New file.
77148         * tests/unictype/test-bidi_test.c: New file.
77149         * tests/unictype/test-block_list.c: New file.
77150         * tests/unictype/test-block_of.c: New file.
77151         * tests/unictype/test-block_test.c: New file.
77152         * tests/unictype/test-categ_and.c: New file.
77153         * tests/unictype/test-categ_and_not.c: New file.
77154         * tests/unictype/test-categ_byname.c: New file.
77155         * tests/unictype/test-categ_name.c: New file.
77156         * tests/unictype/test-categ_none.c: New file.
77157         * tests/unictype/test-categ_of.c: New file.
77158         * tests/unictype/test-categ_or.c: New file.
77159         * tests/unictype/test-categ_test_withtable.c: New file.
77160         * tests/unictype/test-combining.c: New file.
77161         * tests/unictype/test-decdigit.c: New file.
77162         * tests/unictype/test-digit.c: New file.
77163         * tests/unictype/test-mirror.c: New file.
77164         * tests/unictype/test-numeric.c: New file.
77165         * tests/unictype/test-pr_byname.c: New file.
77166         * tests/unictype/test-pr_test.c: New file.
77167         * tests/unictype/test-predicate-part1.h: New file.
77168         * tests/unictype/test-predicate-part2.h: New file.
77169         * tests/unictype/test-scripts.c: New file.
77170         * tests/unictype/test-sy_c_ident.c: New file.
77171         * tests/unictype/test-sy_java_ident.c: New file.
77173         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
77174         for Unicode 5.0.0.
77175         * tests/unictype/test-categ_Cc.c: Likewise.
77176         * tests/unictype/test-categ_Cf.c: Likewise.
77177         * tests/unictype/test-categ_Cn.c: Likewise.
77178         * tests/unictype/test-categ_Co.c: Likewise.
77179         * tests/unictype/test-categ_Cs.c: Likewise.
77180         * tests/unictype/test-categ_L.c: Likewise.
77181         * tests/unictype/test-categ_Ll.c: Likewise.
77182         * tests/unictype/test-categ_Lm.c: Likewise.
77183         * tests/unictype/test-categ_Lo.c: Likewise.
77184         * tests/unictype/test-categ_Lt.c: Likewise.
77185         * tests/unictype/test-categ_Lu.c: Likewise.
77186         * tests/unictype/test-categ_M.c: Likewise.
77187         * tests/unictype/test-categ_Mc.c: Likewise.
77188         * tests/unictype/test-categ_Me.c: Likewise.
77189         * tests/unictype/test-categ_Mn.c: Likewise.
77190         * tests/unictype/test-categ_N.c: Likewise.
77191         * tests/unictype/test-categ_Nd.c: Likewise.
77192         * tests/unictype/test-categ_Nl.c: Likewise.
77193         * tests/unictype/test-categ_No.c: Likewise.
77194         * tests/unictype/test-categ_P.c: Likewise.
77195         * tests/unictype/test-categ_Pc.c: Likewise.
77196         * tests/unictype/test-categ_Pd.c: Likewise.
77197         * tests/unictype/test-categ_Pe.c: Likewise.
77198         * tests/unictype/test-categ_Pf.c: Likewise.
77199         * tests/unictype/test-categ_Pi.c: Likewise.
77200         * tests/unictype/test-categ_Po.c: Likewise.
77201         * tests/unictype/test-categ_Ps.c: Likewise.
77202         * tests/unictype/test-categ_S.c: Likewise.
77203         * tests/unictype/test-categ_Sc.c: Likewise.
77204         * tests/unictype/test-categ_Sk.c: Likewise.
77205         * tests/unictype/test-categ_Sm.c: Likewise.
77206         * tests/unictype/test-categ_So.c: Likewise.
77207         * tests/unictype/test-categ_Z.c: Likewise.
77208         * tests/unictype/test-categ_Zl.c: Likewise.
77209         * tests/unictype/test-categ_Zp.c: Likewise.
77210         * tests/unictype/test-categ_Zs.c: Likewise.
77211         * tests/unictype/test-ctype_alnum.c: Likewise.
77212         * tests/unictype/test-ctype_alpha.c: Likewise.
77213         * tests/unictype/test-ctype_blank.c: Likewise.
77214         * tests/unictype/test-ctype_cntrl.c: Likewise.
77215         * tests/unictype/test-ctype_digit.c: Likewise.
77216         * tests/unictype/test-ctype_graph.c: Likewise.
77217         * tests/unictype/test-ctype_lower.c: Likewise.
77218         * tests/unictype/test-ctype_print.c: Likewise.
77219         * tests/unictype/test-ctype_punct.c: Likewise.
77220         * tests/unictype/test-ctype_space.c: Likewise.
77221         * tests/unictype/test-ctype_upper.c: Likewise.
77222         * tests/unictype/test-ctype_xdigit.c: Likewise.
77223         * tests/unictype/test-decdigit.h: Likewise.
77224         * tests/unictype/test-digit.h: Likewise.
77225         * tests/unictype/test-numeric.h: Likewise.
77226         * tests/unictype/test-pr_alphabetic.c: Likewise.
77227         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
77228         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
77229         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
77230         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
77231         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
77232         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
77233         * tests/unictype/test-pr_bidi_control.c: Likewise.
77234         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
77235         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
77236         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
77237         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
77238         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
77239         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
77240         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
77241         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
77242         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
77243         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
77244         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
77245         * tests/unictype/test-pr_combining.c: Likewise.
77246         * tests/unictype/test-pr_composite.c: Likewise.
77247         * tests/unictype/test-pr_currency_symbol.c: Likewise.
77248         * tests/unictype/test-pr_dash.c: Likewise.
77249         * tests/unictype/test-pr_decimal_digit.c: Likewise.
77250         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
77251         * tests/unictype/test-pr_deprecated.c: Likewise.
77252         * tests/unictype/test-pr_diacritic.c: Likewise.
77253         * tests/unictype/test-pr_extender.c: Likewise.
77254         * tests/unictype/test-pr_format_control.c: Likewise.
77255         * tests/unictype/test-pr_grapheme_base.c: Likewise.
77256         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
77257         * tests/unictype/test-pr_grapheme_link.c: Likewise.
77258         * tests/unictype/test-pr_hex_digit.c: Likewise.
77259         * tests/unictype/test-pr_hyphen.c: Likewise.
77260         * tests/unictype/test-pr_id_continue.c: Likewise.
77261         * tests/unictype/test-pr_id_start.c: Likewise.
77262         * tests/unictype/test-pr_ideographic.c: Likewise.
77263         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
77264         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
77265         * tests/unictype/test-pr_ignorable_control.c: Likewise.
77266         * tests/unictype/test-pr_iso_control.c: Likewise.
77267         * tests/unictype/test-pr_join_control.c: Likewise.
77268         * tests/unictype/test-pr_left_of_pair.c: Likewise.
77269         * tests/unictype/test-pr_line_separator.c: Likewise.
77270         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
77271         * tests/unictype/test-pr_lowercase.c: Likewise.
77272         * tests/unictype/test-pr_math.c: Likewise.
77273         * tests/unictype/test-pr_non_break.c: Likewise.
77274         * tests/unictype/test-pr_not_a_character.c: Likewise.
77275         * tests/unictype/test-pr_numeric.c: Likewise.
77276         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
77277         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
77278         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
77279         * tests/unictype/test-pr_other_id_continue.c: Likewise.
77280         * tests/unictype/test-pr_other_id_start.c: Likewise.
77281         * tests/unictype/test-pr_other_lowercase.c: Likewise.
77282         * tests/unictype/test-pr_other_math.c: Likewise.
77283         * tests/unictype/test-pr_other_uppercase.c: Likewise.
77284         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
77285         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
77286         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
77287         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
77288         * tests/unictype/test-pr_private_use.c: Likewise.
77289         * tests/unictype/test-pr_punctuation.c: Likewise.
77290         * tests/unictype/test-pr_quotation_mark.c: Likewise.
77291         * tests/unictype/test-pr_radical.c: Likewise.
77292         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
77293         * tests/unictype/test-pr_soft_dotted.c: Likewise.
77294         * tests/unictype/test-pr_space.c: Likewise.
77295         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
77296         * tests/unictype/test-pr_titlecase.c: Likewise.
77297         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
77298         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
77299         * tests/unictype/test-pr_uppercase.c: Likewise.
77300         * tests/unictype/test-pr_variation_selector.c: Likewise.
77301         * tests/unictype/test-pr_white_space.c: Likewise.
77302         * tests/unictype/test-pr_xid_continue.c: Likewise.
77303         * tests/unictype/test-pr_xid_start.c: Likewise.
77304         * tests/unictype/test-pr_zero_width.c: Likewise.
77305         * tests/unictype/test-sy_c_whitespace.c: Likewise.
77306         * tests/unictype/test-sy_java_whitespace.c: Likewise.
77308 2007-11-12  Bruno Haible  <bruno@clisp.org>
77310         Unicode character classification functions.
77311         * lib/unictype.h: New file.
77312         * modules/unictype/base: New file.
77313         * modules/unictype/category-L: New file.
77314         * modules/unictype/category-Lu: New file.
77315         * modules/unictype/category-Ll: New file.
77316         * modules/unictype/category-Lt: New file.
77317         * modules/unictype/category-Lm: New file.
77318         * modules/unictype/category-Lo: New file.
77319         * modules/unictype/category-M: New file.
77320         * modules/unictype/category-Mn: New file.
77321         * modules/unictype/category-Mc: New file.
77322         * modules/unictype/category-Me: New file.
77323         * modules/unictype/category-N: New file.
77324         * modules/unictype/category-Nd: New file.
77325         * modules/unictype/category-Nl: New file.
77326         * modules/unictype/category-No: New file.
77327         * modules/unictype/category-P: New file.
77328         * modules/unictype/category-Pc: New file.
77329         * modules/unictype/category-Pd: New file.
77330         * modules/unictype/category-Ps: New file.
77331         * modules/unictype/category-Pe: New file.
77332         * modules/unictype/category-Pi: New file.
77333         * modules/unictype/category-Pf: New file.
77334         * modules/unictype/category-Po: New file.
77335         * modules/unictype/category-S: New file.
77336         * modules/unictype/category-Sm: New file.
77337         * modules/unictype/category-Sc: New file.
77338         * modules/unictype/category-Sk: New file.
77339         * modules/unictype/category-So: New file.
77340         * modules/unictype/category-Z: New file.
77341         * modules/unictype/category-Zs: New file.
77342         * modules/unictype/category-Zl: New file.
77343         * modules/unictype/category-Zp: New file.
77344         * modules/unictype/category-C: New file.
77345         * modules/unictype/category-Cc: New file.
77346         * modules/unictype/category-Cf: New file.
77347         * modules/unictype/category-Cs: New file.
77348         * modules/unictype/category-Co: New file.
77349         * modules/unictype/category-Cn: New file.
77350         * modules/unictype/category-or: New file.
77351         * modules/unictype/category-of: New file.
77352         * modules/unictype/category-test: New file.
77353         * modules/unictype/category-test-withtable: New file.
77354         * modules/unictype/category-byname: New file.
77355         * modules/unictype/category-none: New file.
77356         * modules/unictype/category-and: New file.
77357         * modules/unictype/category-and-not: New file.
77358         * modules/unictype/category-name: New file.
77359         * modules/unictype/combining-class: New file.
77360         * modules/unictype/category-all: New file.
77361         * modules/unictype/bidicategory-all: New file.
77362         * modules/unictype/bidicategory-byname: New file.
77363         * modules/unictype/bidicategory-name: New file.
77364         * modules/unictype/bidicategory-of: New file.
77365         * modules/unictype/bidicategory-test: New file.
77366         * modules/unictype/decimal-digit: New file.
77367         * modules/unictype/digit: New file.
77368         * modules/unictype/numeric: New file.
77369         * modules/unictype/mirror: New file.
77370         * modules/unictype/property-white-space: New file.
77371         * modules/unictype/property-alphabetic: New file.
77372         * modules/unictype/property-other-alphabetic: New file.
77373         * modules/unictype/property-not-a-character: New file.
77374         * modules/unictype/property-default-ignorable-code-point: New file.
77375         * modules/unictype/property-other-default-ignorable-code-point: New
77376         file.
77377         * modules/unictype/property-deprecated: New file.
77378         * modules/unictype/property-logical-order-exception: New file.
77379         * modules/unictype/property-variation-selector: New file.
77380         * modules/unictype/property-private-use: New file.
77381         * modules/unictype/property-unassigned-code-value: New file.
77382         * modules/unictype/property-uppercase: New file.
77383         * modules/unictype/property-other-uppercase: New file.
77384         * modules/unictype/property-lowercase: New file.
77385         * modules/unictype/property-other-lowercase: New file.
77386         * modules/unictype/property-titlecase: New file.
77387         * modules/unictype/property-soft-dotted: New file.
77388         * modules/unictype/property-id-start: New file.
77389         * modules/unictype/property-other-id-start: New file.
77390         * modules/unictype/property-id-continue: New file.
77391         * modules/unictype/property-other-id-continue: New file.
77392         * modules/unictype/property-xid-start: New file.
77393         * modules/unictype/property-xid-continue: New file.
77394         * modules/unictype/property-pattern-white-space: New file.
77395         * modules/unictype/property-pattern-syntax: New file.
77396         * modules/unictype/property-join-control: New file.
77397         * modules/unictype/property-grapheme-base: New file.
77398         * modules/unictype/property-grapheme-extend: New file.
77399         * modules/unictype/property-other-grapheme-extend: New file.
77400         * modules/unictype/property-grapheme-link: New file.
77401         * modules/unictype/property-bidi-control: New file.
77402         * modules/unictype/property-bidi-left-to-right: New file.
77403         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
77404         * modules/unictype/property-bidi-arabic-right-to-left: New file.
77405         * modules/unictype/property-bidi-european-digit: New file.
77406         * modules/unictype/property-bidi-eur-num-separator: New file.
77407         * modules/unictype/property-bidi-eur-num-terminator: New file.
77408         * modules/unictype/property-bidi-arabic-digit: New file.
77409         * modules/unictype/property-bidi-common-separator: New file.
77410         * modules/unictype/property-bidi-block-separator: New file.
77411         * modules/unictype/property-bidi-segment-separator: New file.
77412         * modules/unictype/property-bidi-whitespace: New file.
77413         * modules/unictype/property-bidi-non-spacing-mark: New file.
77414         * modules/unictype/property-bidi-boundary-neutral: New file.
77415         * modules/unictype/property-bidi-pdf: New file.
77416         * modules/unictype/property-bidi-embedding-or-override: New file.
77417         * modules/unictype/property-bidi-other-neutral: New file.
77418         * modules/unictype/property-hex-digit: New file.
77419         * modules/unictype/property-ascii-hex-digit: New file.
77420         * modules/unictype/property-ideographic: New file.
77421         * modules/unictype/property-unified-ideograph: New file.
77422         * modules/unictype/property-radical: New file.
77423         * modules/unictype/property-ids-binary-operator: New file.
77424         * modules/unictype/property-ids-trinary-operator: New file.
77425         * modules/unictype/property-zero-width: New file.
77426         * modules/unictype/property-space: New file.
77427         * modules/unictype/property-non-break: New file.
77428         * modules/unictype/property-iso-control: New file.
77429         * modules/unictype/property-format-control: New file.
77430         * modules/unictype/property-dash: New file.
77431         * modules/unictype/property-hyphen: New file.
77432         * modules/unictype/property-punctuation: New file.
77433         * modules/unictype/property-line-separator: New file.
77434         * modules/unictype/property-paragraph-separator: New file.
77435         * modules/unictype/property-quotation-mark: New file.
77436         * modules/unictype/property-sentence-terminal: New file.
77437         * modules/unictype/property-terminal-punctuation: New file.
77438         * modules/unictype/property-currency-symbol: New file.
77439         * modules/unictype/property-math: New file.
77440         * modules/unictype/property-other-math: New file.
77441         * modules/unictype/property-paired-punctuation: New file.
77442         * modules/unictype/property-left-of-pair: New file.
77443         * modules/unictype/property-combining: New file.
77444         * modules/unictype/property-composite: New file.
77445         * modules/unictype/property-decimal-digit: New file.
77446         * modules/unictype/property-numeric: New file.
77447         * modules/unictype/property-diacritic: New file.
77448         * modules/unictype/property-extender: New file.
77449         * modules/unictype/property-ignorable-control: New file.
77450         * modules/unictype/property-test: New file.
77451         * modules/unictype/property-byname: New file.
77452         * modules/unictype/property-all: New file.
77453         * modules/unictype/scripts: New file.
77454         * modules/unictype/scripts-all: New file.
77455         * modules/unictype/block-of: New file.
77456         * modules/unictype/block-test: New file.
77457         * modules/unictype/block-list: New file.
77458         * modules/unictype/block-all: New file.
77459         * modules/unictype/syntax-c-whitespace: New file.
77460         * modules/unictype/syntax-java-whitespace: New file.
77461         * modules/unictype/syntax-c-ident: New file.
77462         * modules/unictype/syntax-java-ident: New file.
77463         * modules/unictype/ctype-alnum: New file.
77464         * modules/unictype/ctype-alpha: New file.
77465         * modules/unictype/ctype-cntrl: New file.
77466         * modules/unictype/ctype-digit: New file.
77467         * modules/unictype/ctype-graph: New file.
77468         * modules/unictype/ctype-lower: New file.
77469         * modules/unictype/ctype-print: New file.
77470         * modules/unictype/ctype-punct: New file.
77471         * modules/unictype/ctype-space: New file.
77472         * modules/unictype/ctype-upper: New file.
77473         * modules/unictype/ctype-xdigit: New file.
77474         * modules/unictype/ctype-blank: New file.
77475         * lib/unictype/bidi_byname.c: New file.
77476         * lib/unictype/bidi_name.c: New file.
77477         * lib/unictype/bidi_of.c: New file.
77478         * lib/unictype/bidi_test.c: New file.
77479         * lib/unictype/bitmap.h: New file.
77480         * lib/unictype/block_test.c: New file.
77481         * lib/unictype/blocks.c: New file.
77482         * lib/unictype/categ_C.c: New file.
77483         * lib/unictype/categ_Cc.c: New file.
77484         * lib/unictype/categ_Cf.c: New file.
77485         * lib/unictype/categ_Cn.c: New file.
77486         * lib/unictype/categ_Co.c: New file.
77487         * lib/unictype/categ_Cs.c: New file.
77488         * lib/unictype/categ_L.c: New file.
77489         * lib/unictype/categ_Ll.c: New file.
77490         * lib/unictype/categ_Lm.c: New file.
77491         * lib/unictype/categ_Lo.c: New file.
77492         * lib/unictype/categ_Lt.c: New file.
77493         * lib/unictype/categ_Lu.c: New file.
77494         * lib/unictype/categ_M.c: New file.
77495         * lib/unictype/categ_Mc.c: New file.
77496         * lib/unictype/categ_Me.c: New file.
77497         * lib/unictype/categ_Mn.c: New file.
77498         * lib/unictype/categ_N.c: New file.
77499         * lib/unictype/categ_Nd.c: New file.
77500         * lib/unictype/categ_Nl.c: New file.
77501         * lib/unictype/categ_No.c: New file.
77502         * lib/unictype/categ_P.c: New file.
77503         * lib/unictype/categ_Pc.c: New file.
77504         * lib/unictype/categ_Pd.c: New file.
77505         * lib/unictype/categ_Pe.c: New file.
77506         * lib/unictype/categ_Pf.c: New file.
77507         * lib/unictype/categ_Pi.c: New file.
77508         * lib/unictype/categ_Po.c: New file.
77509         * lib/unictype/categ_Ps.c: New file.
77510         * lib/unictype/categ_S.c: New file.
77511         * lib/unictype/categ_Sc.c: New file.
77512         * lib/unictype/categ_Sk.c: New file.
77513         * lib/unictype/categ_Sm.c: New file.
77514         * lib/unictype/categ_So.c: New file.
77515         * lib/unictype/categ_Z.c: New file.
77516         * lib/unictype/categ_Zl.c: New file.
77517         * lib/unictype/categ_Zp.c: New file.
77518         * lib/unictype/categ_Zs.c: New file.
77519         * lib/unictype/categ_and.c: New file.
77520         * lib/unictype/categ_and_not.c: New file.
77521         * lib/unictype/categ_byname.c: New file.
77522         * lib/unictype/categ_name.c: New file.
77523         * lib/unictype/categ_none.c: New file.
77524         * lib/unictype/categ_of.c: New file.
77525         * lib/unictype/categ_or.c: New file.
77526         * lib/unictype/categ_test.c: New file.
77527         * lib/unictype/combining.c: New file.
77528         * lib/unictype/ctype_alnum.c: New file.
77529         * lib/unictype/ctype_alpha.c: New file.
77530         * lib/unictype/ctype_blank.c: New file.
77531         * lib/unictype/ctype_cntrl.c: New file.
77532         * lib/unictype/ctype_digit.c: New file.
77533         * lib/unictype/ctype_graph.c: New file.
77534         * lib/unictype/ctype_lower.c: New file.
77535         * lib/unictype/ctype_print.c: New file.
77536         * lib/unictype/ctype_punct.c: New file.
77537         * lib/unictype/ctype_space.c: New file.
77538         * lib/unictype/ctype_upper.c: New file.
77539         * lib/unictype/ctype_xdigit.c: New file.
77540         * lib/unictype/decdigit.c: New file.
77541         * lib/unictype/digit.c: New file.
77542         * lib/unictype/identsyntaxmap.h: New file.
77543         * lib/unictype/mirror.c: New file.
77544         * lib/unictype/numeric.c: New file.
77545         * lib/unictype/pr_alphabetic.c: New file.
77546         * lib/unictype/pr_ascii_hex_digit.c: New file.
77547         * lib/unictype/pr_bidi_arabic_digit.c: New file.
77548         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
77549         * lib/unictype/pr_bidi_block_separator.c: New file.
77550         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
77551         * lib/unictype/pr_bidi_common_separator.c: New file.
77552         * lib/unictype/pr_bidi_control.c: New file.
77553         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
77554         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
77555         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
77556         * lib/unictype/pr_bidi_european_digit.c: New file.
77557         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
77558         * lib/unictype/pr_bidi_left_to_right.c: New file.
77559         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
77560         * lib/unictype/pr_bidi_other_neutral.c: New file.
77561         * lib/unictype/pr_bidi_pdf.c: New file.
77562         * lib/unictype/pr_bidi_segment_separator.c: New file.
77563         * lib/unictype/pr_bidi_whitespace.c: New file.
77564         * lib/unictype/pr_byname.c: New file.
77565         * lib/unictype/pr_byname.gperf: New file.
77566         * lib/unictype/pr_combining.c: New file.
77567         * lib/unictype/pr_composite.c: New file.
77568         * lib/unictype/pr_currency_symbol.c: New file.
77569         * lib/unictype/pr_dash.c: New file.
77570         * lib/unictype/pr_decimal_digit.c: New file.
77571         * lib/unictype/pr_default_ignorable_code_point.c: New file.
77572         * lib/unictype/pr_deprecated.c: New file.
77573         * lib/unictype/pr_diacritic.c: New file.
77574         * lib/unictype/pr_extender.c: New file.
77575         * lib/unictype/pr_format_control.c: New file.
77576         * lib/unictype/pr_grapheme_base.c: New file.
77577         * lib/unictype/pr_grapheme_extend.c: New file.
77578         * lib/unictype/pr_grapheme_link.c: New file.
77579         * lib/unictype/pr_hex_digit.c: New file.
77580         * lib/unictype/pr_hyphen.c: New file.
77581         * lib/unictype/pr_id_continue.c: New file.
77582         * lib/unictype/pr_id_start.c: New file.
77583         * lib/unictype/pr_ideographic.c: New file.
77584         * lib/unictype/pr_ids_binary_operator.c: New file.
77585         * lib/unictype/pr_ids_trinary_operator.c: New file.
77586         * lib/unictype/pr_ignorable_control.c: New file.
77587         * lib/unictype/pr_iso_control.c: New file.
77588         * lib/unictype/pr_join_control.c: New file.
77589         * lib/unictype/pr_left_of_pair.c: New file.
77590         * lib/unictype/pr_line_separator.c: New file.
77591         * lib/unictype/pr_logical_order_exception.c: New file.
77592         * lib/unictype/pr_lowercase.c: New file.
77593         * lib/unictype/pr_math.c: New file.
77594         * lib/unictype/pr_non_break.c: New file.
77595         * lib/unictype/pr_not_a_character.c: New file.
77596         * lib/unictype/pr_numeric.c: New file.
77597         * lib/unictype/pr_other_alphabetic.c: New file.
77598         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
77599         * lib/unictype/pr_other_grapheme_extend.c: New file.
77600         * lib/unictype/pr_other_id_continue.c: New file.
77601         * lib/unictype/pr_other_id_start.c: New file.
77602         * lib/unictype/pr_other_lowercase.c: New file.
77603         * lib/unictype/pr_other_math.c: New file.
77604         * lib/unictype/pr_other_uppercase.c: New file.
77605         * lib/unictype/pr_paired_punctuation.c: New file.
77606         * lib/unictype/pr_paragraph_separator.c: New file.
77607         * lib/unictype/pr_pattern_syntax.c: New file.
77608         * lib/unictype/pr_pattern_white_space.c: New file.
77609         * lib/unictype/pr_private_use.c: New file.
77610         * lib/unictype/pr_punctuation.c: New file.
77611         * lib/unictype/pr_quotation_mark.c: New file.
77612         * lib/unictype/pr_radical.c: New file.
77613         * lib/unictype/pr_sentence_terminal.c: New file.
77614         * lib/unictype/pr_soft_dotted.c: New file.
77615         * lib/unictype/pr_space.c: New file.
77616         * lib/unictype/pr_terminal_punctuation.c: New file.
77617         * lib/unictype/pr_test.c: New file.
77618         * lib/unictype/pr_titlecase.c: New file.
77619         * lib/unictype/pr_unassigned_code_value.c: New file.
77620         * lib/unictype/pr_unified_ideograph.c: New file.
77621         * lib/unictype/pr_uppercase.c: New file.
77622         * lib/unictype/pr_variation_selector.c: New file.
77623         * lib/unictype/pr_white_space.c: New file.
77624         * lib/unictype/pr_xid_continue.c: New file.
77625         * lib/unictype/pr_xid_start.c: New file.
77626         * lib/unictype/pr_zero_width.c: New file.
77627         * lib/unictype/scripts.c: New file.
77628         * lib/unictype/sy_c_ident.c: New file.
77629         * lib/unictype/sy_c_whitespace.c: New file.
77630         * lib/unictype/sy_java_ident.c: New file.
77631         * lib/unictype/sy_java_whitespace.c: New file.
77633         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
77634         Unicode 5.0.0.
77635         * lib/unictype/blocks.h: Likewise.
77636         * lib/unictype/categ_C.h: Likewise.
77637         * lib/unictype/categ_Cc.h: Likewise.
77638         * lib/unictype/categ_Cf.h: Likewise.
77639         * lib/unictype/categ_Cn.h: Likewise.
77640         * lib/unictype/categ_Co.h: Likewise.
77641         * lib/unictype/categ_Cs.h: Likewise.
77642         * lib/unictype/categ_L.h: Likewise.
77643         * lib/unictype/categ_Ll.h: Likewise.
77644         * lib/unictype/categ_Lm.h: Likewise.
77645         * lib/unictype/categ_Lo.h: Likewise.
77646         * lib/unictype/categ_Lt.h: Likewise.
77647         * lib/unictype/categ_Lu.h: Likewise.
77648         * lib/unictype/categ_M.h: Likewise.
77649         * lib/unictype/categ_Mc.h: Likewise.
77650         * lib/unictype/categ_Me.h: Likewise.
77651         * lib/unictype/categ_Mn.h: Likewise.
77652         * lib/unictype/categ_N.h: Likewise.
77653         * lib/unictype/categ_Nd.h: Likewise.
77654         * lib/unictype/categ_Nl.h: Likewise.
77655         * lib/unictype/categ_No.h: Likewise.
77656         * lib/unictype/categ_P.h: Likewise.
77657         * lib/unictype/categ_Pc.h: Likewise.
77658         * lib/unictype/categ_Pd.h: Likewise.
77659         * lib/unictype/categ_Pe.h: Likewise.
77660         * lib/unictype/categ_Pf.h: Likewise.
77661         * lib/unictype/categ_Pi.h: Likewise.
77662         * lib/unictype/categ_Po.h: Likewise.
77663         * lib/unictype/categ_Ps.h: Likewise.
77664         * lib/unictype/categ_S.h: Likewise.
77665         * lib/unictype/categ_Sc.h: Likewise.
77666         * lib/unictype/categ_Sk.h: Likewise.
77667         * lib/unictype/categ_Sm.h: Likewise.
77668         * lib/unictype/categ_So.h: Likewise.
77669         * lib/unictype/categ_Z.h: Likewise.
77670         * lib/unictype/categ_Zl.h: Likewise.
77671         * lib/unictype/categ_Zp.h: Likewise.
77672         * lib/unictype/categ_Zs.h: Likewise.
77673         * lib/unictype/categ_of.h: Likewise.
77674         * lib/unictype/combining.h: Likewise.
77675         * lib/unictype/ctype_alnum.h: Likewise.
77676         * lib/unictype/ctype_alpha.h: Likewise.
77677         * lib/unictype/ctype_blank.h: Likewise.
77678         * lib/unictype/ctype_cntrl.h: Likewise.
77679         * lib/unictype/ctype_digit.h: Likewise.
77680         * lib/unictype/ctype_graph.h: Likewise.
77681         * lib/unictype/ctype_lower.h: Likewise.
77682         * lib/unictype/ctype_print.h: Likewise.
77683         * lib/unictype/ctype_punct.h: Likewise.
77684         * lib/unictype/ctype_space.h: Likewise.
77685         * lib/unictype/ctype_upper.h: Likewise.
77686         * lib/unictype/ctype_xdigit.h: Likewise.
77687         * lib/unictype/decdigit.h: Likewise.
77688         * lib/unictype/digit.h: Likewise.
77689         * lib/unictype/mirror.h: Likewise.
77690         * lib/unictype/numeric.h: Likewise.
77691         * lib/unictype/pr_alphabetic.h: Likewise.
77692         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
77693         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
77694         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
77695         * lib/unictype/pr_bidi_block_separator.h: Likewise.
77696         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
77697         * lib/unictype/pr_bidi_common_separator.h: Likewise.
77698         * lib/unictype/pr_bidi_control.h: Likewise.
77699         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
77700         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
77701         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
77702         * lib/unictype/pr_bidi_european_digit.h: Likewise.
77703         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
77704         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
77705         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
77706         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
77707         * lib/unictype/pr_bidi_pdf.h: Likewise.
77708         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
77709         * lib/unictype/pr_bidi_whitespace.h: Likewise.
77710         * lib/unictype/pr_combining.h: Likewise.
77711         * lib/unictype/pr_composite.h: Likewise.
77712         * lib/unictype/pr_currency_symbol.h: Likewise.
77713         * lib/unictype/pr_dash.h: Likewise.
77714         * lib/unictype/pr_decimal_digit.h: Likewise.
77715         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
77716         * lib/unictype/pr_deprecated.h: Likewise.
77717         * lib/unictype/pr_diacritic.h: Likewise.
77718         * lib/unictype/pr_extender.h: Likewise.
77719         * lib/unictype/pr_format_control.h: Likewise.
77720         * lib/unictype/pr_grapheme_base.h: Likewise.
77721         * lib/unictype/pr_grapheme_extend.h: Likewise.
77722         * lib/unictype/pr_grapheme_link.h: Likewise.
77723         * lib/unictype/pr_hex_digit.h: Likewise.
77724         * lib/unictype/pr_hyphen.h: Likewise.
77725         * lib/unictype/pr_id_continue.h: Likewise.
77726         * lib/unictype/pr_id_start.h: Likewise.
77727         * lib/unictype/pr_ideographic.h: Likewise.
77728         * lib/unictype/pr_ids_binary_operator.h: Likewise.
77729         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
77730         * lib/unictype/pr_ignorable_control.h: Likewise.
77731         * lib/unictype/pr_iso_control.h: Likewise.
77732         * lib/unictype/pr_join_control.h: Likewise.
77733         * lib/unictype/pr_left_of_pair.h: Likewise.
77734         * lib/unictype/pr_line_separator.h: Likewise.
77735         * lib/unictype/pr_logical_order_exception.h: Likewise.
77736         * lib/unictype/pr_lowercase.h: Likewise.
77737         * lib/unictype/pr_math.h: Likewise.
77738         * lib/unictype/pr_non_break.h: Likewise.
77739         * lib/unictype/pr_not_a_character.h: Likewise.
77740         * lib/unictype/pr_numeric.h: Likewise.
77741         * lib/unictype/pr_other_alphabetic.h: Likewise.
77742         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
77743         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
77744         * lib/unictype/pr_other_id_continue.h: Likewise.
77745         * lib/unictype/pr_other_id_start.h: Likewise.
77746         * lib/unictype/pr_other_lowercase.h: Likewise.
77747         * lib/unictype/pr_other_math.h: Likewise.
77748         * lib/unictype/pr_other_uppercase.h: Likewise.
77749         * lib/unictype/pr_paired_punctuation.h: Likewise.
77750         * lib/unictype/pr_paragraph_separator.h: Likewise.
77751         * lib/unictype/pr_pattern_syntax.h: Likewise.
77752         * lib/unictype/pr_pattern_white_space.h: Likewise.
77753         * lib/unictype/pr_private_use.h: Likewise.
77754         * lib/unictype/pr_punctuation.h: Likewise.
77755         * lib/unictype/pr_quotation_mark.h: Likewise.
77756         * lib/unictype/pr_radical.h: Likewise.
77757         * lib/unictype/pr_sentence_terminal.h: Likewise.
77758         * lib/unictype/pr_soft_dotted.h: Likewise.
77759         * lib/unictype/pr_space.h: Likewise.
77760         * lib/unictype/pr_terminal_punctuation.h: Likewise.
77761         * lib/unictype/pr_titlecase.h: Likewise.
77762         * lib/unictype/pr_unassigned_code_value.h: Likewise.
77763         * lib/unictype/pr_unified_ideograph.h: Likewise.
77764         * lib/unictype/pr_uppercase.h: Likewise.
77765         * lib/unictype/pr_variation_selector.h: Likewise.
77766         * lib/unictype/pr_white_space.h: Likewise.
77767         * lib/unictype/pr_xid_continue.h: Likewise.
77768         * lib/unictype/pr_xid_start.h: Likewise.
77769         * lib/unictype/pr_zero_width.h: Likewise.
77770         * lib/unictype/scripts.h: Likewise.
77771         * lib/unictype/scripts_byname.gperf: Likewise.
77772         * lib/unictype/sy_c_ident.h: Likewise.
77773         * lib/unictype/sy_c_whitespace.h: Likewise.
77774         * lib/unictype/sy_java_ident.h: Likewise.
77775         * lib/unictype/sy_java_whitespace.h: Likewise.
77777         * lib/unictype/Makefile: New file.
77778         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
77779         glibc.
77780         * lib/unictype/3level.h: New file, copied from glibc.
77781         * lib/unictype/3levelbit.h: New file.
77783 2007-11-11  Bruno Haible  <bruno@clisp.org>
77785         * modules/gperf: New file.
77786         * modules/iconv_open (Depends-on): Add it.
77787         (Makefile.am): Remove the GPERF definition.
77789 2007-11-11  Bruno Haible  <bruno@clisp.org>
77791         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
77792         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
77794 2007-11-11  Bruno Haible  <bruno@clisp.org>
77796         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
77797         (usage): Remove function.
77799 2007-11-11  Bruno Haible  <bruno@clisp.org>
77801         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
77802         gl_FUNC_CEILF_LIBS.
77803         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
77804         gl_FUNC_CEIL_LIBS.
77805         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
77806         gl_FUNC_CEILL_LIBS.
77807         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
77808         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
77809         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
77811 2007-11-11  Bruno Haible  <bruno@clisp.org>
77813         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
77814         roundf were declared but do not exist on functions.
77815         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
77816         roundl were declared but do not exist on functions.
77817         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
77818         HAVE_FLOORL_AND_CEILL, respectively.
77819         Needed for Sun C on Solaris 10.
77821 2007-11-11  Bruno Haible  <bruno@clisp.org>
77823         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
77824         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
77825         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
77826         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
77827         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
77828         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
77829         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
77830         HAVE_DECL_ROUNDF.
77831         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
77832         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
77833         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
77834         of HAVE_DECL_ROUND*.
77835         * modules/math (Makefile.am): Update.
77837 2007-11-10  Bruno Haible  <bruno@clisp.org>
77839         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
77840         ptrdiff_t as m4/intl.m4.
77842 2007-11-10  Jim Meyering  <meyering@redhat.com>
77844         Avoid link failure for the argmatch test.
77845         * tests/test-argmatch.c (usage): Define function to avoid a link
77846         failure: argmatch_die requires a usage function.
77848 2007-11-09  Bruno Haible  <bruno@clisp.org>
77850         * doc/functions/snprintf.texi: Mention BeOS deficiency.
77851         * doc/functions/vsnprintf.texi: Likewise.
77852         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
77853         with a size argument < 2.
77855 2007-11-09  Bruno Haible  <bruno@clisp.org>
77857         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
77858         buffer. Fixes an inefficiency introduced on 2007-11-03.
77860 2007-11-09  Bruno Haible  <bruno@clisp.org>
77862         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
77863         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
77865 2007-11-08  Jim Meyering  <meyering@redhat.com>
77867         Change cache variable name prefix "jm_" to "gl_" everywhere.
77868         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
77869         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
77870         * m4/uptime.m4: s/gl_/jm_/
77872 2007-11-07  Bruno Haible  <bruno@clisp.org>
77874         Update to GNU gettext 0.17.
77875         * m4/intl.m4: Update to GNU gettext 0.17.
77876         * m4/po.m4: Likewise.
77877         * modules/gettext (Files): Remove m4/ulonglong.m4.
77878         (configure.ac): Require gettext infrastructure from version 0.17.
77880 2007-11-06  Bruno Haible  <bruno@clisp.org>
77882         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
77883         symbolic values are not defined in a public header.
77884         * lib/freadable.c (freadable) [QNX]: Likewise.
77885         * lib/freadahead.c (freadahead) [QNX]: Likewise.
77886         * lib/freading.c (freading) [QNX]: Likewise.
77887         * lib/fseterr.c (fseterr) [QNX]: Likewise.
77888         * lib/fwritable.c (fwritable) [QNX]: Likewise.
77889         * lib/fwriting.c (fwriting) [QNX]: Likewise.
77890         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
77891         Reported by Alain Magloire.
77893         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
77895 2007-11-05  Bruno Haible  <bruno@clisp.org>
77897         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
77898         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
77899         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
77900         Reported by Eric Blake.
77902 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77903             Bruno Haible  <bruno@clisp.org>
77905         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
77906         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
77907         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
77908         (malloc): Undefine also before including <stdlib.h>.
77909         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
77910         Needed on OSF/1 4.0.
77912 2007-11-05  Jim Meyering  <meyering@redhat.com>
77914         git-version-gen: sync from coreutils.
77915         * build-aux/git-version-gen: Add comments.
77916         Change the first '-' to '.' in the snapshot version string,
77917         e.g., 6.9-377-08144 -> 6.9.377-08144
77918         Remove first parameter.
77919         Don't declare a version "-dirty" merely because a time
77920         stamp has changed.
77922 2007-11-04  Bruno Haible  <bruno@clisp.org>
77924         * lib/lock.h: Protect all macro definitions containing an 'if'
77925         statement through a "do { ... } while (0)".
77926         * lib/tls.h: Likewise.
77928 2007-11-04  Bruno Haible  <bruno@clisp.org>
77930         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
77932 2007-11-04  Bruno Haible  <bruno@clisp.org>
77934         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
77935         * modules/fprintf-posix (Depends-on): Add nocrash.
77936         * modules/snprintf-posix (Depends-on): Likewise.
77937         * modules/sprintf-posix (Depends-on): Likewise.
77938         * modules/vasnprintf-posix (Depends-on): Likewise.
77939         * modules/vasprintf-posix (Depends-on): Likewise.
77940         * modules/vfprintf-posix (Depends-on): Likewise.
77941         * modules/vsnprintf-posix (Depends-on): Likewise.
77942         * modules/vsprintf-posix (Depends-on): Likewise.
77943         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
77944         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
77945         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
77946         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
77947         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
77948         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
77949         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
77951 2007-11-04  Bruno Haible  <bruno@clisp.org>
77953         * modules/nocrash: New file.
77954         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
77955         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
77957 2007-11-04  Bruno Haible  <bruno@clisp.org>
77959         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
77960         precision handling.
77961         * tests/test-vasprintf-posix.c (test_function): Likewise.
77962         * tests/test-snprintf-posix.h (test_function): Likewise.
77963         * tests/test-sprintf-posix.h (test_function): Likewise.
77965         Fix *printf behaviour for large precisions on mingw and BeOS.
77966         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
77967         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
77968         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
77969         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
77970         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
77971         gl_PRINTF_PRECISION and test its result. Invoke
77972         gl_PREREQ_VASNPRINTF_PRECISION.
77973         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
77974         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
77975         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
77976         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
77977         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
77978         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
77979         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
77980         * doc/functions/fprintf.texi: Update.
77981         * doc/functions/printf.texi: Update.
77982         * doc/functions/snprintf.texi: Update.
77983         * doc/functions/sprintf.texi: Update.
77984         * doc/functions/vfprintf.texi: Update.
77985         * doc/functions/vprintf.texi: Update.
77986         * doc/functions/vsnprintf.texi: Update.
77987         * doc/functions/vsprintf.texi: Update.
77989 2007-11-04  Bruno Haible  <bruno@clisp.org>
77991         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
77993 2007-11-04  Bruno Haible  <bruno@clisp.org>
77995         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
77996         Reported by Sylvain Beucler <beuc@gnu.org>.
77998 2007-11-03  Bruno Haible  <bruno@clisp.org>
78000         * tests/test-fprintf-posix2.sh: New file.
78001         * tests/test-fprintf-posix2.c: New file.
78002         * modules/fprintf-posix-tests (Files): Add them.
78003         (TESTS): Add test-fprintf-posix2.sh.
78004         (configure.ac): Check for getrlimit and setrlimit.
78005         (check_PROGRAMS): Add test-fprintf-posix2.
78007         * tests/test-printf-posix2.sh: New file.
78008         * tests/test-printf-posix2.c: New file.
78009         * modules/printf-posix-tests (Files): Add them.
78010         (TESTS): Add test-printf-posix2.sh.
78011         (configure.ac): Check for getrlimit and setrlimit.
78012         (check_PROGRAMS): Add test-printf-posix2.
78014         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
78015         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
78016         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
78017         (decode_double): New function, copied from decode_long_double.
78018         (scale10_round_decimal_decoded): New function, extracted from
78019         scale10_round_decimal_long_double.
78020         (scale10_round_decimal_long_double): Use it.
78021         (scale10_round_decimal_double): New function.
78022         (floorlog10): New function.
78023         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
78024         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
78025         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
78026         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
78027         gl_PRINTF_ENOMEM and test its result. Invoke
78028         gl_PREREQ_VASNPRINTF_ENOMEM.
78029         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
78030         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
78031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
78032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
78033         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
78034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
78035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
78036         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
78037         * modules/snprintf-posix (Depends-on): Likewise.
78038         * modules/sprintf-posix (Depends-on): Likewise.
78039         * modules/vasnprintf-posix (Depends-on): Likewise.
78040         * modules/vasprintf-posix (Depends-on): Likewise.
78041         * modules/vfprintf-posix (Depends-on): Likewise.
78042         * modules/vsnprintf-posix (Depends-on): Likewise.
78043         * modules/vsprintf-posix (Depends-on): Likewise.
78044         * doc/functions/fprintf.texi: Update.
78045         * doc/functions/printf.texi: Update.
78046         * doc/functions/snprintf.texi: Update.
78047         * doc/functions/sprintf.texi: Update.
78048         * doc/functions/vfprintf.texi: Update.
78049         * doc/functions/vprintf.texi: Update.
78050         * doc/functions/vsnprintf.texi: Update.
78051         * doc/functions/vsprintf.texi: Update.
78053 2007-11-03  Bruno Haible  <bruno@clisp.org>
78055         * modules/frexp-nolibm-tests: New file.
78057         * modules/frexp-nolibm: New file.
78058         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
78060 2007-11-03  Bruno Haible  <bruno@clisp.org>
78062         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
78063         value is C99 compliant.
78064         Needed for OSF/1 5.1.
78066 2007-11-03  Bruno Haible  <bruno@clisp.org>
78068         Fix out-of-memory handling of vasnprintf.
78069         * lib/printf-parse.c: Include <errno.h>.
78070         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
78071         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
78072         is already set.
78074 2007-11-02  Eric Blake  <ebb9@byu.net>
78076         Fix tests on cygwin.
78077         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
78079 2007-11-01  Bruno Haible  <bruno@clisp.org>
78081         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
78082         warning.
78083         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
78084         needed for POSIX compatibility.
78086 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
78088         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
78089         for compatibility with GNU.
78091 2007-11-01  Bruno Haible  <bruno@clisp.org>
78093         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
78094         (putenv): Renamed from rpl_putenv. Change argument type from
78095         'const char *' to 'char *'.
78096         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
78097         of defining putenv in config.h, just set REPLACE_PUTENV.
78098         * modules/putenv (Depends-on): Add stdlib.
78099         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
78100         (Include): Use <stdlib.h>.
78101         * lib/stdlib.in.h (putenv): New declaration.
78102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
78103         REPLACE_PUTENV.
78104         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
78105         REPLACE_PUTENV.
78106         Needed for MacOS X 10.5.0.
78107         Reported by Peter O'Gorman <peter@pogma.com>.
78109 2007-11-01  Jim Meyering  <meyering@redhat.com>
78111         Treat an empty date string exactly like "0".
78112         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
78113         if the remaining date string (to be parsed) is empty, use "0".
78114         Reported by Mischa Molhoek and discussed in this thread:
78115         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
78117 2007-10-31  Bruno Haible  <bruno@clisp.org>
78119         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
78120         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
78121         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
78122         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
78123         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
78124         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
78126 2007-10-31  Bruno Haible  <bruno@clisp.org>
78128         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
78129         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
78130         (AC_TYPE_LONG_LONG_INT): Use it.
78131         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
78132         it as well.
78133         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
78134         to m4/longlong.m4.
78135         * modules/stdint (Files): Remove m4/ulonglong.m4.
78136         * modules/strtoull (Files): Use m4/longlong.m4 instead of
78137         m4/ulonglong.m4.
78138         * modules/strtoumax (Files): Likewise.
78140 2007-10-30  Bruno Haible  <bruno@clisp.org>
78142         * modules/xvasprintf-posix: New file.
78143         Suggested by Eric Blake.
78145 2007-10-30  Bruno Haible  <bruno@clisp.org>
78147         * modules/xprintf-posix-tests: New file.
78148         * tests/test-xprintf-posix.sh: New file.
78149         * tests/test-xprintf-posix.c: New file.
78150         * tests/test-xfprintf-posix.c: New file.
78152         * modules/xprintf-posix: New file.
78154 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78156         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
78157         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
78158         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
78160 2007-10-29  Bruno Haible  <bruno@clisp.org>
78162         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
78163         contain the special marker '_cv_'.
78164         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
78165         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
78166         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
78167         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
78168         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
78169         Reported by Ralf Wildenhues.
78171 2007-10-29  Bruno Haible  <bruno@clisp.org>
78173         * gnulib-tool (func_import): When --lgpl is not specified, set
78174         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
78175         GPLv3.
78176         Reported by Simon Josefsson.
78178 2007-10-28  Bruno Haible  <bruno@clisp.org>
78180         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
78181         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
78182         HAVE_DECL_ISFINITE.
78183         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
78184         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
78185         HAVE_DECL_ISFINITE.
78187 2007-10-28  Bruno Haible  <bruno@clisp.org>
78189         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
78190         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
78192 2007-10-28  Bruno Haible  <bruno@clisp.org>
78194         Fix link errors with Sun C 5.0 on Solaris 10.
78195         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
78196         function is declared but not present in the compiler's libm.
78197         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
78198         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
78199         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
78200         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
78201         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
78202         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
78203         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
78204         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
78205         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
78206         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
78207         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
78208         HAVE_DECL_FLOORL.
78210 2007-10-28  Bruno Haible  <bruno@clisp.org>
78212         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
78213         gl_FUNC_FLOORL. Cache the result.
78214         (gl_FUNC_FLOORL): Use it.
78215         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
78216         gl_FUNC_CEILL. Cache the result.
78217         (gl_FUNC_CEILL): Use it.
78219         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
78220         gl_FUNC_FLOOR. Cache the result.
78221         (gl_FUNC_FLOOR): Use it.
78222         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
78223         gl_FUNC_CEIL. Cache the result.
78224         (gl_FUNC_CEIL): Use it.
78226         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
78227         gl_FUNC_FLOORF. Cache the result.
78228         (gl_FUNC_FLOORF): Use it.
78229         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
78230         gl_FUNC_CEILF. Cache the result.
78231         (gl_FUNC_CEILF): Use it.
78233 2007-10-28  Bruno Haible  <bruno@clisp.org>
78235         * gnulib-tool: Allow specifying the LGPL version number through
78236         --lgpl=2 or --lgpl=3.
78237         (func_usage): Document --lgpl with argument.
78238         Handle --lgpl=... arguments.
78239         (func_import): Recognize also gl_LGPL calls with an argument. When
78240         --lgpl=2 is used and the module's license is just LGPL, report an
78241         error. Set sed_transform_lib_file according to the lgpl variable. In
78242         the generated files, use --lgpl or gl_LGPL invocations with argument,
78243         if necessary.
78244         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
78245         an LGPv2+ license.
78246         * doc/gnulib-tool.texi (Modified imports): Update explanation of
78247         gl_LGPL macro.
78249 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78250             Bruno Haible  <bruno@clisp.org>
78252         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
78253         (u16_uctomb_aux): Likewise.
78254         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
78255         !HAVE_INLINE.
78256         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
78258 2007-10-28  Bruno Haible  <bruno@clisp.org>
78260         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
78261         Invoke AM_GETTEXT_OPTION if it exists.
78262         * modules/vasprintf: Likewise.
78263         * modules/verror: Likewise.
78264         * modules/xprintf: Likewise.
78265         * modules/xvasprintf: Likewise.
78267 2007-10-27  Ben Pfaff  <blp@gnu.org>
78269         * lib/math.in.h: Define isfinite macro and prototypes for
78270         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
78271         implementations.
78272         * m4/math_h.m4: New substitutions for isfinite module.
78273         * lib/isfinite.c: New file.
78274         * m4/isfinite.m4: New file.
78275         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
78276         * modules/isfinite: New file.
78277         * modules/isfinite-tests: New file.
78278         * tests/tests-isfinite.c: New file.
78279         * doc/functions/isfinite.texi: Mention isfinite module.
78280         * MODULES.html.sh: Mention new module.
78282 2007-10-27  Ben Pfaff  <blp@gnu.org>
78284         Ralf Wildenhues reported that Tru64 4.0D declares the round
78285         functions but does not have definitions.
78286         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
78287         cannot be found in any library, set the output variable to
78288         "missing" instead of "".
78289         * m4/round.m4: Also use our substitute if we cannot find round in
78290         any library, even if it is declared.
78291         * m4/roundf.m4: Likewise for roundf.
78292         * m4/roundl.m4: Likewise for roundl.
78293         * lib/math.in.h: Undefine roundf, round, roundl before defining
78294         their replacements, to allow for hypothetical systems where these
78295         may be defined as macros but not available in libraries.
78297 2007-10-27  Bruno Haible  <bruno@clisp.org>
78299         * doc/gnulib.texi: Invoke @firstparagraphindent.
78300         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
78301         changes in gnulib.
78302         (Source changes): New section.
78304 2007-10-26  Bruno Haible  <bruno@clisp.org>
78306         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
78307         borrowed from autoconf.
78309 2007-10-26  Bruno Haible  <bruno@clisp.org>
78311         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
78312         strerror returned the empty string. Needed on HP-UX 11.00.
78314 2007-10-24  Micah Cowan  <micah@cowan.name>
78316         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
78317         * build-aux/bootstrap: Remove support for now-unnecessary option,
78318         --cvs-user, and envvars CVS_USER, CVS_RSH.
78320 2007-10-24  Jim Meyering  <meyering@redhat.com>
78322         Avoid diagnostics from sha1sum when there is no cached checksum.
78323         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
78324         if the po.s1 file hasn't been created yet.
78326         * build-aux/bootstrap: Sync from coreutils:
78327         2007-10-24  Jim Meyering  <meyering@redhat.com>
78328         Get gnulib from the git repository, not from an obsolete cvs one.
78329         * build-aux/bootstrap: Suggestion from Micah Cowan.
78330         2007-10-04  Jim Meyering  <jim@meyering.net>
78331         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
78332         (update_po_files): Work also when there are no .po files in po/.
78334 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
78336         * README: Append ".git" to git and cg examples.
78337         Problem reported by Benoit Sigoure.
78339 2007-10-23  Micah Cowan  <micah@cowan.name>
78341         * users.txt: Add wget.
78343 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78345         Fix linking of some unistdio tests on FreeBSD.
78346         * modules/unistdio/u16-vsnprintf-tests
78347         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
78348         * modules/unistdio/u16-vsprintf-tests
78349         (test_u16_vsnprintf1_LDADD): Likewise.
78350         * modules/unistdio/u32-vsnprintf-tests
78351         (test_u32_vsnprintf1_LDADD): Likewise.
78352         * modules/unistdio/u32-vsprintf-tests
78353         (test_u32_vsprintf1_LDADD): Likewise.
78354         * modules/unistdio/u8-vsnprintf-tests
78355         (test_u8_vsnprintf1_LDADD): Likewise.
78356         * modules/unistdio/u8-vsprintf-tests
78357         (test_u8_vsprintf1_LDADD): Likewise.
78358         * modules/unistdio/ulc-vsnprintf-tests
78359         (test_ulc_vsnprintf1_LDADD): Likewise.
78360         * modules/unistdio/ulc-vsprintf-tests
78361         (test_ulc_vsprintf1_LDADD): Likewise.
78363         Fix linking of some uniconv tests on FreeBSD.
78364         * modules/uniconv/u16-conv-from-enc-tests
78365         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
78366         * modules/uniconv/u16-conv-to-enc-tests
78367         (test_u16_conv_to_enc_LDADD): Likewise.
78368         * modules/uniconv/u16-strconv-from-enc-tests
78369         (test_u16_strconv_from_enc_LDADD): Likewise.
78370         * modules/uniconv/u16-strconv-to-enc-tests
78371         (test_u16_strconv_to_enc_LDADD): Likewise.
78372         * modules/uniconv/u32-conv-from-enc-tests
78373         (test_u32_conv_from_enc_LDADD): Likewise.
78374         * modules/uniconv/u32-conv-to-enc-tests
78375         (test_u32_conv_to_enc_LDADD): Likewise.
78376         * modules/uniconv/u32-strconv-from-enc-tests
78377         (test_u32_strconv_from_enc_LDADD): Likewise.
78378         * modules/uniconv/u32-strconv-to-enc-tests
78379         (test_u32_strconv_to_enc_LDADD): Likewise.
78380         * modules/uniconv/u8-conv-from-enc-tests
78381         (test_u8_conv_from_enc_LDADD): Likewise.
78382         * modules/uniconv/u8-conv-to-enc-tests
78383         (test_u8_conv_to_enc_LDADD): Likewise.
78384         * modules/uniconv/u8-strconv-from-enc-tests
78385         (test_u8_strconv_from_enc_LDADD): Likewise.
78386         * modules/uniconv/u8-strconv-to-enc-tests
78387         (test_u8_strconv_to_enc_LDADD): Likewise.
78389 2007-10-22  Bruno Haible  <bruno@clisp.org>
78391         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
78392         size.
78394 2007-10-22  Eric Blake  <ebb9@byu.net>
78396         Tweak x*printf documentation.
78397         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
78398         variable name and comments.
78399         Suggested by Bruno Haible.
78401 2007-10-22  Bruno Haible  <bruno@clisp.org>
78403         * lib/acl.c (copy_acl): Fix file name in comment.
78405 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78407         Fix Tru64 problem with stdbool.h.
78408         * lib/stdbool.in.h (false, true):
78409         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
78410         Don't declare as an enum in this situation; it runs afoul of Tru64.
78411         Problem reported by Steven M. Schweda in
78412         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
78414 2007-10-22  Eric Blake  <ebb9@byu.net>
78416         Also wrap vf?printf.
78417         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
78418         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
78419         (xvprintf, xvfprintf): New functions.
78421 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78423         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
78424         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
78426         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
78427         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
78429 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
78431         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
78432         by Bruno Haible.
78434 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78436         * lib/getloadavg.c
78437         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
78438         Undef `sys' after including sys/table.h, for Tru64 4.0D.
78440         * tests/test-i-ring.c: Work for C89.
78442 2007-10-22  Bruno Haible  <bruno@clisp.org>
78444         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
78445         -1u, in preprocessor expression, so that we don't test for the bug
78446         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
78447         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
78449 2007-10-22  Eric Blake  <ebb9@byu.net>
78451         * tests/test-yesno.sh: Silence stderr during test.
78453 2007-10-22  Simon Josefsson  <simon@josefsson.org>
78455         * modules/crypto/gc-camellia: New file.
78457         * m4/gc-camellia.m4: New file.
78459         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
78461         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
78463 2007-10-22  Simon Josefsson  <simon@josefsson.org>
78465         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
78466         --help to stdout.  Reported by sms@antinode.org (Steven
78467         M. Schweda).
78469 2007-10-22  Simon Josefsson  <simon@josefsson.org>
78471         * users.txt: Fix link to libksba.
78473 2007-10-21  Ben Pfaff  <blp@gnu.org>
78475         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
78476         round.c roundf implementation that depends on floorf and ceilf to
78477         be tested unconditionally.
78479 2007-10-21  Ben Pfaff  <blp@gnu.org>
78481         * m4/check-libm-func.m4: Removed.
78482         * m4/check-math-lib.m4: New file.
78483         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
78484         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
78485         definition and lack of AC_LIBOBJ([roundf]).
78486         * m4/roundl.m4: Ditto, and similarly for roundl.
78487         * modules/round: Reference new m4 file.
78488         * modules/roundf: Ditto.
78489         * modules/roundl: Ditto.
78490         * tests/test-round2.c (main): Use ROUND instead of round.
78491         Bug report from Bruno Haible.
78493 2007-10-21  Bruno Haible  <bruno@clisp.org>
78495         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
78496         context.
78498 2007-10-21  Bruno Haible  <bruno@clisp.org>
78500         * tests/test-wcwidth.c (main): Allow negative result for some control
78501         characters.
78503         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
78504         Needed on OSF/1 5.1.
78506 2007-10-21  Bruno Haible  <bruno@clisp.org>
78508         * tests/test-floorf1.c: Include isnanf.h.
78509         (main): Use isnanf() instead of isnan().
78510         * tests/test-ceilf1.c: Include isnanf.h.
78511         (main): Use isnanf() instead of isnan().
78512         * tests/test-truncf1.c: Include isnanf.h.
78513         (main): Use isnanf() instead of isnan().
78514         * tests/test-roundf1.c: Include isnanf.h.
78515         (main): Use isnanf() instead of isnan().
78517 2007-10-21  Eric Blake  <ebb9@byu.net>
78519         * users.txt: Update URL for m4.
78521 2007-10-21  Bruno Haible  <bruno@clisp.org>
78523         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
78525 2007-10-21  Bruno Haible  <bruno@clisp.org>
78527         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
78528         Git's management files if the CVS files are not present.
78530 2007-10-20  Bruno Haible  <bruno@clisp.org>
78532         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
78533         gcc-3.4.x.
78535 2007-10-20  Ben Pfaff  <blp@gnu.org>
78537         * lib/math.in.h: Declare round, roundf, roundl if we are providing
78538         implementations.
78539         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
78540         * lib/round.c: New file.
78541         * lib/roundf.c: New file.
78542         * lib/roundl.c: New file.
78543         * m4/round.m4: New file.
78544         * m4/roundf.m4: New file.
78545         * m4/roundl.m4: New file.
78546         * m4/check-libm-func-m4: New file.
78547         * modules/math: Replace round, roundf, roundl related @VARS@ in
78548         math.in.h.
78549         * modules/round: New file.
78550         * modules/round-tests: New file.
78551         * modules/roundf: New file.
78552         * modules/roundf-tests: New file.
78553         * modules/roundl: New file.
78554         * modules/roundl-tests: New file.
78555         * tests/test-round1.c: New file.
78556         * tests/test-round2.c: New file.
78557         * tests/test-roundf1.c: New file.
78558         * tests/test-roundf2.c: New file.
78559         * tests/test-roundl.c: New file.
78560         * doc/functions/round.texi: Mention round module.
78561         * doc/functions/roundf.texi: Mention roundf module.
78562         * doc/functions/roundl.texi: Mention roundl module.
78563         * MODULES.html.sh: Mention new modules.
78564         Thanks to Bruno Haible for suggestions.
78566 2007-10-20  Jim Meyering  <meyering@redhat.com>
78568         * lib/xprintf.c: Include <config.h> unconditionally.
78570         Change xprintf's license to GPL.
78571         * modules/xprintf (License): s/LGPL/GPL/, since this module
78572         depends on modules (exit and exitfail) which are GPL.
78573         Suggestion from Bruno Haible.
78575         xprintf fixes.
78576         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
78577         Use a clearer diagnostic.
78578         Patch from Bruno Haible.
78580 2007-10-20  Bruno Haible  <bruno@clisp.org>
78582         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
78583         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
78584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78586 2007-10-20  Bruno Haible  <bruno@clisp.org>
78588         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
78589         precision in the comparison result > x - 1 or similar.
78590         * tests/test-ceilf2.c (correct_result_p): Likewise.
78591         * tests/test-truncf2.c (correct_result_p): Likewise.
78592         * tests/test-trunc2.c (correct_result_p): Likewise.
78593         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78595 2007-10-20  Bruno Haible  <bruno@clisp.org>
78597         * modules/ceil: New file.
78598         * m4/ceil.m4: New file.
78599         * doc/functions/ceil.texi: Mention the 'ceil' module.
78601 2007-10-20  Bruno Haible  <bruno@clisp.org>
78603         * modules/floor: New file.
78604         * m4/floor.m4: New file.
78605         * doc/functions/floor.texi: Mention the 'floor' module.
78607 2007-10-20  Bruno Haible  <bruno@clisp.org>
78609         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
78610         of %a.
78611         * modules/floorf-tests (Depends-on): Likewise.
78612         * modules/truncf-tests (Depends-on): Likewise.
78613         * modules/trunc-tests (Depends-on): Likewise.
78614         Reported by Ben Pfaff.
78616 2007-10-19  Jim Meyering  <meyering@redhat.com>
78618         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
78619         Don't bother testing specific errno values.  Just test ferror.
78621         New module: xprintf
78622         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
78624 2007-10-19  Bruno Haible  <bruno@clisp.org>
78626         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
78627         syntax.
78628         * modules/javaexec (Makefile.am): Likewise.
78629         * modules/relocatable-prog (Makefile.am): Likewise.
78630         Suggested by Jim Meyering.
78632 2007-10-18  Bruno Haible  <bruno@clisp.org>
78634         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
78635         Reported by Jim Meyering.
78637 2007-10-18  Eric Blake  <ebb9@byu.net>
78639         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
78641 2007-10-18  Bruno Haible  <bruno@clisp.org>
78643         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
78644         the format string into writable memory. Needed in Fortify conditions.
78646 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
78647             Bruno Haible  <bruno@clisp.org>
78649         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
78650         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
78651         * modules/trim (Depends-on): Add mbchar.
78652         (configure.ac): Add gl_FUNC_MBRTOWC.
78653         (Makefile.am): Augment lib_SOURCES.
78655 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
78657         Modify glob.c to use fstatat and dirfd, to simplify it.
78658         Suggested by Eric Blake.
78659         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
78660         Don't include <stdbool.h>; not used.
78661         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
78662         (link_exists_p): Simplify implementation, since we can now assume
78663         dirfd and fstatat.
78664         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
78666 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78668         * gnulib-tool (func_get_dependencies): Fix sed script to
78669         match only tests.
78671 2007-10-17  Bruno Haible  <bruno@clisp.org>
78673         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
78674         allow locale names without encoding suffix.
78675         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
78676         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
78678 2007-10-16  Bruno Haible  <bruno@clisp.org>
78680         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
78681         * lib/getgroups.c (getgroups): Likewise.
78682         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
78684 2007-10-16  Bruno Haible  <bruno@clisp.org>
78686         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
78687         * modules/malloc-posix (License): Likewise.
78688         * modules/realloc-posix (License): Likewise.
78689         * modules/calloc-posix (License): Likewise.
78690         * modules/intprops (License): Change from GPL to LGPL, with
78691         Paul Eggert's approval.
78693 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
78695         Merge glibc changes into lib/glob.c.
78697         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
78698         2007-10-15 04:59:03 UTC.  Here are the changes:
78700         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
78702         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
78704         * lib/glob.c: Add some branch prediction throughout.
78706         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
78708         [BZ #5103]
78709         * lib/glob.c (glob): Recognize patterns starting \/.
78711         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
78713         [BZ #3996]
78714         * lib/glob.c (attribute_hidden): Define if not defined.
78715         (glob): Unescape dirname, filename or username when needed and not
78716         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
78717         is NULL.  Handle unescaped [ in pattern without closing ].
78718         Don't pass GLOB_CHECK down to recursive glob for directories.
78719         (__glob_pattern_type): New function.
78720         (__glob_pattern_p): Implement using __glob_pattern_type.
78721         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
78722         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
78723         Remove unreachable code.
78725         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
78727         * lib/glob.c (glob_in_dir): Add some comments and asserts to
78728         explain why there are no leaks.
78730         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
78732         [BZ #3253]
78733         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
78734         time, rather allocate increasingly bigger arrays of pointers, if
78735         possible with alloca, if too large with malloc.
78737 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
78739         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
78740         Problem reported by H.Merijn Brand in
78741         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
78742         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
78743         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78745 2007-10-15  Bruno Haible  <bruno@clisp.org>
78747         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
78748         with explicit rpl_ prefix.
78749         * lib/fopen.c (fopen): Likewise.
78750         * lib/freopen.c (freopen): Likewise.
78751         * lib/iconv.c (iconv): Likewise.
78752         * lib/iconv_close.c (iconv_close): Likewise.
78754 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78756         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
78758 2007-10-15  Bruno Haible  <bruno@clisp.org>
78760         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
78761         <stddef.h> instead of <stdlib.h> since we only need NULL.
78762         Reported by Ben Pfaff <blp@cs.stanford.edu>.
78764 2007-10-15  Bruno Haible  <bruno@clisp.org>
78766         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
78767         Replace paragraph talking about LIBOBJS.
78768         Reported by Colin Watson <cjwatson@debian.org>.
78770 2007-10-15  Bruno Haible  <bruno@clisp.org>
78772         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
78773         <stdlib.h> before using NULL.
78775 2007-10-15  Simon Josefsson  <simon@josefsson.org>
78777         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
78778         Reported by Albert Chin <china@thewrittenword.com>.
78780 2007-10-14  Bruno Haible  <bruno@clisp.org>
78782         * modules/iconv_open-utf-tests: New file.
78783         * tests/test-iconv-utf.c: New file.
78785         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
78786         * modules/iconv_open-utf: New file.
78787         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
78788         (iconv, iconv_close): New declarations.
78789         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
78790         be defined.
78791         (iconv_open): Add special handling of conversion between UTF-8 and
78792         UTF-{16,32}{BE,LE}.
78793         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
78794         * lib/iconv_close.c: New file.
78795         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
78796         gl_FUNC_ICONV_OPEN.
78797         (gl_FUNC_ICONV_OPEN): Use it.
78798         (gl_FUNC_ICONV_OPEN_UTF): New macro.
78799         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
78800         and REPLACE_ICONV_UTF.
78801         * modules/iconv_open (Depends-on): Add c-strcase.
78802         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
78803         ICONV_CONST.
78804         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
78806 2007-10-13  Albert Chin  <china@thewrittenword.com>
78807             Bruno Haible  <bruno@clisp.org>
78809         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
78810         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
78812 2007-10-13  Bruno Haible  <bruno@clisp.org>
78814         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
78815         defined, use the ISO C99 inline semantics.
78816         * lib/argp.h (ARGP_EI): Likewise.
78818 2007-10-13  Bruno Haible  <bruno@clisp.org>
78820         Handle 'inline' change in gcc 4.3.0.
78821         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
78822         argp_fmtstream_write, argp_fmtstream_set_lmargin,
78823         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
78824         argp_fmtstream_point): Disable 'extern' declaration if the function
78825         definition is going to be provided inline.
78826         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
78827         semantics, not the ISO C99 inline semantics.
78828         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
78829         'extern' declaration if the function definition is going to be provided
78830         inline.
78831         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
78832         the GNU C inline semantics, not the ISO C99 inline semantics. With
78833         GCC 4.2, avoid a warning.
78835 2007-10-13  Bruno Haible  <bruno@clisp.org>
78837         * lib/freading.h (freading): Enable the use of __freading for
78838         glibc >= 2.7.
78839         * lib/freading.c (freading): Likewise.
78841 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
78843         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
78844         "warning: C99 inline functions are not supported; using GNU89".
78846 2007-10-12  Bruno Haible  <bruno@clisp.org>
78848         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
78849         of 2.
78850         * tests/test-ceilf2.c: New file.
78851         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
78853         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
78854         * modules/ceilf-tests: Update.
78856 2007-10-12  Bruno Haible  <bruno@clisp.org>
78858         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
78859         of 2.
78860         * tests/test-floorf2.c: New file.
78861         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
78863         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
78864         * modules/floorf-tests: Update.
78866 2007-10-12  Bruno Haible  <bruno@clisp.org>
78868         * tests/test-trunc2.c: New file.
78869         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
78871         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
78872         * modules/trunc-tests: Update.
78874 2007-10-12  Bruno Haible  <bruno@clisp.org>
78876         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
78877         of 2.
78878         * tests/test-truncf2.c: New file.
78879         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
78881         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
78882         * modules/truncf-tests: Update.
78884 2007-10-11  Eric Blake  <ebb9@byu.net>
78886         Don't claim strerror is broken on Interix.
78887         * doc/functions/strerror.texi (strerror): Known broken systems are
78888         now Solaris 8, and not Interix.
78889         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
78890         Interix on cross-compile.
78891         Reported by Martin Koeppe in
78892         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
78894 2007-10-11  Bruno Haible  <bruno@clisp.org>
78896         * modules/i-ring-tests: New file.
78897         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
78898         instead of assert.
78900 2007-10-11  Bruno Haible  <bruno@clisp.org>
78902         * modules/filenamecat-tests: New file.
78903         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
78904         * lib/filenamecat.c: Remove test code.
78906 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
78908         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
78910         * lib/strerror.c: Include <string.h> always, to test interface,
78911         and to remove the need for the dummy.
78912         Include intprops.h to compute width instead of doing it ourselves
78913         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
78914         (strerror): Define it to return NULL if there's no system strerror.
78915         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
78916         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
78917         ancient pre-strerror Unix systems well any more.  Saying "unknown
78918         system error" is enough.
78919         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
78920         simpler strerror.c implementation.
78921         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
78922         Simplify the tests to reflect the simpler strerror implementation.
78923         * modules/strerror (Depends-on): Add intprops.
78925 2007-10-09  Eric Blake  <ebb9@byu.net>
78927         Silence test-fpending.
78928         * modules/fpending-tests (Files): Add wrapper script.
78929         * tests/test-fpending.sh: New file.
78931 2007-10-09  Bruno Haible  <bruno@clisp.org>
78933         * MODULES.html.sh (func_module): Don't create a hyperlink for
78934         function names like 'printf_frexp'.
78935         (Misc): Add crc, memxor.
78936         (Characteristics of floating types): New section.
78937         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
78938         isnanf-nolibm, signbit, trunc, truncf, truncl.
78939         (Enhancements for ISO C 99 functions): New subsection Input/output.
78940         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
78941         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
78942         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
78943         (Compatibility checks for POSIX:2001 functions): Add clock-time.
78944         (Enhancements for POSIX:2001 functions): Add chdir-long.
78945         (File system functions): Add areadlink, chdir-safer, read-file.
78946         Remove cycle-check.
78947         (File system as inode set): New section.
78948         (Date and time): Add gethrxtime.
78949         (Multithreading): Add openmp.
78950         (Internationalization functions): Add localename.
78951         (Unicode string functions): Add unistr/u*-mbsnlen.
78952         (Support for maintaining and releasing projects): Add git-version-gen.
78953         (Lone files): Remove directories.
78955 2007-10-08  Ben Pfaff  <blp@gnu.org>
78957         * lib/xmalloca.h: Fix typo in comment.
78959 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
78961         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
78962         when avoiding problems with integer overflow.  Use a portable test
78963         instead.
78965 2007-10-08  Simon Josefsson  <simon@josefsson.org>
78967         * modules/dummy (License): Change to LGPLv2+.
78968         * modules/float (License): Likewise
78969         * modules/realloc (License): Likewise
78970         * modules/stdlib (License): Likewise
78972 2007-10-07  Bruno Haible  <bruno@clisp.org>
78974         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
78975         * floor.c (TWO_MANT_DIG): Likewise.
78976         * ceil.c (TWO_MANT_DIG): Likewise.
78977         Reported by Ben Pfaff.
78979 2007-10-07  Bruno Haible  <bruno@clisp.org>
78981         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
78982         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
78983         * lib/frexp.c (FUNC): Likewise.
78984         * lib/printf-frexp.h (printf_frexp): Likewise.
78985         * lib/printf-frexpl.h (printf_frexpl): Likewise.
78986         * lib/printf-frexp.c (FUNC): Likewise.
78987         Suggested by Jim Meyering.
78989 2007-10-07  Jim Meyering  <meyering@redhat.com>
78991         Make xnanosleep's integer overflow test more robust.
78992         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
78993         so that gcc-4.3.0 doesn't optimize away this test for overflow.
78995 2007-10-07  Bruno Haible  <bruno@clisp.org>
78997         * NEWS: Mention the license change.
78999         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
79000         abbreviations in the modules files.
79002         Change copyright notice from GPLv2+ to GPLv3+.
79003         * README: Change copyright notice.
79004         * MODULES.html.sh: Likewise.
79005         * build-aux/bootstrap.conf: Likewise.
79006         * build-aux/config.libpath: Likewise.
79007         * build-aux/csharpcomp.sh.in: Likewise.
79008         * build-aux/csharpexec.sh.in: Likewise.
79009         * build-aux/install-reloc: Likewise.
79010         * build-aux/javacomp.sh.in: Likewise.
79011         * build-aux/javaexec.sh.in: Likewise.
79012         * build-aux/ldd.sh.in: Likewise.
79013         * build-aux/reloc-ldflags: Likewise.
79014         * build-aux/relocatable.sh.in: Likewise.
79015         * build-aux/x-to-1.in: Likewise.
79016         * check-module: Likewise.
79017         * config/srclistvars.sh: Likewise.
79018         * gnulib-tool: Likewise.
79019         * lib/acl-internal.h: Likewise.
79020         * lib/acl.c: Likewise.
79021         * lib/acl.h: Likewise.
79022         * lib/acl_entries.c: Likewise.
79023         * lib/areadlink-with-size.c: Likewise.
79024         * lib/areadlink.c: Likewise.
79025         * lib/areadlink.h: Likewise.
79026         * lib/argmatch.c: Likewise.
79027         * lib/argmatch.h: Likewise.
79028         * lib/argp-ba.c: Likewise.
79029         * lib/argp-eexst.c: Likewise.
79030         * lib/argp-fmtstream.c: Likewise.
79031         * lib/argp-fmtstream.h: Likewise.
79032         * lib/argp-fs-xinl.c: Likewise.
79033         * lib/argp-help.c: Likewise.
79034         * lib/argp-namefrob.h: Likewise.
79035         * lib/argp-parse.c: Likewise.
79036         * lib/argp-pin.c: Likewise.
79037         * lib/argp-pv.c: Likewise.
79038         * lib/argp-pvh.c: Likewise.
79039         * lib/argp-xinl.c: Likewise.
79040         * lib/argp.h: Likewise.
79041         * lib/at-func.c: Likewise.
79042         * lib/atanl.c: Likewise.
79043         * lib/backupfile.c: Likewise.
79044         * lib/backupfile.h: Likewise.
79045         * lib/basename.c: Likewise.
79046         * lib/binary-io.h: Likewise.
79047         * lib/byteswap.in.h: Likewise.
79048         * lib/c-stack.c: Likewise.
79049         * lib/c-stack.h: Likewise.
79050         * lib/c-strcasestr.c: Likewise.
79051         * lib/c-strcasestr.h: Likewise.
79052         * lib/c-strstr.c: Likewise.
79053         * lib/c-strstr.h: Likewise.
79054         * lib/c-strtod.c: Likewise.
79055         * lib/calloc.c: Likewise.
79056         * lib/canon-host.c: Likewise.
79057         * lib/canon-host.h: Likewise.
79058         * lib/canonicalize-lgpl.c: Likewise.
79059         * lib/canonicalize.c: Likewise.
79060         * lib/canonicalize.h: Likewise.
79061         * lib/ceil.c: Likewise.
79062         * lib/ceilf.c: Likewise.
79063         * lib/ceill.c: Likewise.
79064         * lib/chdir-long.c: Likewise.
79065         * lib/chdir-long.h: Likewise.
79066         * lib/chdir-safer.c: Likewise.
79067         * lib/chdir-safer.h: Likewise.
79068         * lib/chown.c: Likewise.
79069         * lib/classpath.c: Likewise.
79070         * lib/classpath.h: Likewise.
79071         * lib/clean-temp.c: Likewise.
79072         * lib/clean-temp.h: Likewise.
79073         * lib/cloexec.c: Likewise.
79074         * lib/close-stream.c: Likewise.
79075         * lib/closein.c: Likewise.
79076         * lib/closein.h: Likewise.
79077         * lib/closeout.c: Likewise.
79078         * lib/closeout.h: Likewise.
79079         * lib/concat-filename.c: Likewise.
79080         * lib/copy-file.c: Likewise.
79081         * lib/copy-file.h: Likewise.
79082         * lib/count-one-bits.h: Likewise.
79083         * lib/crc.c: Likewise.
79084         * lib/crc.h: Likewise.
79085         * lib/creat-safer.c: Likewise.
79086         * lib/csharpcomp.c: Likewise.
79087         * lib/csharpcomp.h: Likewise.
79088         * lib/csharpexec.c: Likewise.
79089         * lib/csharpexec.h: Likewise.
79090         * lib/cycle-check.c: Likewise.
79091         * lib/cycle-check.h: Likewise.
79092         * lib/diacrit.c: Likewise.
79093         * lib/diacrit.h: Likewise.
79094         * lib/diffseq.h: Likewise.
79095         * lib/dirchownmod.c: Likewise.
79096         * lib/dirent.in.h: Likewise.
79097         * lib/dirfd.c: Likewise.
79098         * lib/dirfd.h: Likewise.
79099         * lib/dirname.c: Likewise.
79100         * lib/dirname.h: Likewise.
79101         * lib/dummy.c: Likewise.
79102         * lib/dup-safer.c: Likewise.
79103         * lib/dup2.c: Likewise.
79104         * lib/eealloc.h: Likewise.
79105         * lib/error.c: Likewise.
79106         * lib/error.h: Likewise.
79107         * lib/euidaccess.c: Likewise.
79108         * lib/exclude.c: Likewise.
79109         * lib/exclude.h: Likewise.
79110         * lib/execute.c: Likewise.
79111         * lib/execute.h: Likewise.
79112         * lib/exitfail.c: Likewise.
79113         * lib/exitfail.h: Likewise.
79114         * lib/expl.c: Likewise.
79115         * lib/fatal-signal.c: Likewise.
79116         * lib/fatal-signal.h: Likewise.
79117         * lib/fbufmode.c: Likewise.
79118         * lib/fbufmode.h: Likewise.
79119         * lib/fchdir.c: Likewise.
79120         * lib/fchmodat.c: Likewise.
79121         * lib/fchownat.c: Likewise.
79122         * lib/fcntl--.h: Likewise.
79123         * lib/fcntl-safer.h: Likewise.
79124         * lib/fcntl.in.h: Likewise.
79125         * lib/fd-safer.c: Likewise.
79126         * lib/fflush.c: Likewise.
79127         * lib/file-has-acl.c: Likewise.
79128         * lib/file-set.c: Likewise.
79129         * lib/file-type.c: Likewise.
79130         * lib/file-type.h: Likewise.
79131         * lib/fileblocks.c: Likewise.
79132         * lib/filemode.c: Likewise.
79133         * lib/filemode.h: Likewise.
79134         * lib/filename.h: Likewise.
79135         * lib/filenamecat.c: Likewise.
79136         * lib/filenamecat.h: Likewise.
79137         * lib/findprog.c: Likewise.
79138         * lib/findprog.h: Likewise.
79139         * lib/float.in.h: Likewise.
79140         * lib/floor.c: Likewise.
79141         * lib/floorf.c: Likewise.
79142         * lib/floorl.c: Likewise.
79143         * lib/fopen-safer.c: Likewise.
79144         * lib/fopen.c: Likewise.
79145         * lib/fpending.c: Likewise.
79146         * lib/fpending.h: Likewise.
79147         * lib/fprintf.c: Likewise.
79148         * lib/fprintftime.h: Likewise.
79149         * lib/fpucw.h: Likewise.
79150         * lib/fpurge.c: Likewise.
79151         * lib/fpurge.h: Likewise.
79152         * lib/freadable.c: Likewise.
79153         * lib/freadable.h: Likewise.
79154         * lib/freadahead.c: Likewise.
79155         * lib/freadahead.h: Likewise.
79156         * lib/freading.c: Likewise.
79157         * lib/freading.h: Likewise.
79158         * lib/free.c: Likewise.
79159         * lib/freopen.c: Likewise.
79160         * lib/frexp.c: Likewise.
79161         * lib/frexpl.c: Likewise.
79162         * lib/fseek.c: Likewise.
79163         * lib/fseterr.c: Likewise.
79164         * lib/fseterr.h: Likewise.
79165         * lib/fstatat.c: Likewise.
79166         * lib/fstrcmp.c: Likewise.
79167         * lib/fstrcmp.h: Likewise.
79168         * lib/fsusage.c: Likewise.
79169         * lib/fsusage.h: Likewise.
79170         * lib/ftell.c: Likewise.
79171         * lib/ftello.c: Likewise.
79172         * lib/fts-cycle.c: Likewise.
79173         * lib/fts.c: Likewise.
79174         * lib/fts_.h: Likewise.
79175         * lib/full-read.c: Likewise.
79176         * lib/full-read.h: Likewise.
79177         * lib/full-write.c: Likewise.
79178         * lib/full-write.h: Likewise.
79179         * lib/fwritable.c: Likewise.
79180         * lib/fwritable.h: Likewise.
79181         * lib/fwriteerror.c: Likewise.
79182         * lib/fwriteerror.h: Likewise.
79183         * lib/fwriting.c: Likewise.
79184         * lib/fwriting.h: Likewise.
79185         * lib/gcd.c: Likewise.
79186         * lib/gcd.h: Likewise.
79187         * lib/getcwd.c: Likewise.
79188         * lib/getdate.h: Likewise.
79189         * lib/getdate.y: Likewise.
79190         * lib/getdomainname.c: Likewise.
79191         * lib/getdomainname.h: Likewise.
79192         * lib/getgroups.c: Likewise.
79193         * lib/gethostname.c: Likewise.
79194         * lib/gethrxtime.c: Likewise.
79195         * lib/gethrxtime.h: Likewise.
79196         * lib/getloadavg.c: Likewise.
79197         * lib/getndelim2.c: Likewise.
79198         * lib/getndelim2.h: Likewise.
79199         * lib/getnline.c: Likewise.
79200         * lib/getnline.h: Likewise.
79201         * lib/getopt.c: Likewise.
79202         * lib/getopt.in.h: Likewise.
79203         * lib/getopt1.c: Likewise.
79204         * lib/getopt_int.h: Likewise.
79205         * lib/getpagesize.h: Likewise.
79206         * lib/getsubopt.c: Likewise.
79207         * lib/gettime.c: Likewise.
79208         * lib/getugroups.c: Likewise.
79209         * lib/getugroups.h: Likewise.
79210         * lib/getusershell.c: Likewise.
79211         * lib/gl_anyavltree_list1.h: Likewise.
79212         * lib/gl_anyavltree_list2.h: Likewise.
79213         * lib/gl_anyhash_list1.h: Likewise.
79214         * lib/gl_anyhash_list2.h: Likewise.
79215         * lib/gl_anylinked_list1.h: Likewise.
79216         * lib/gl_anylinked_list2.h: Likewise.
79217         * lib/gl_anyrbtree_list1.h: Likewise.
79218         * lib/gl_anyrbtree_list2.h: Likewise.
79219         * lib/gl_anytree_list1.h: Likewise.
79220         * lib/gl_anytree_list2.h: Likewise.
79221         * lib/gl_anytree_oset.h: Likewise.
79222         * lib/gl_anytreehash_list1.h: Likewise.
79223         * lib/gl_anytreehash_list2.h: Likewise.
79224         * lib/gl_array_list.c: Likewise.
79225         * lib/gl_array_list.h: Likewise.
79226         * lib/gl_array_oset.c: Likewise.
79227         * lib/gl_array_oset.h: Likewise.
79228         * lib/gl_avltree_list.c: Likewise.
79229         * lib/gl_avltree_list.h: Likewise.
79230         * lib/gl_avltree_oset.c: Likewise.
79231         * lib/gl_avltree_oset.h: Likewise.
79232         * lib/gl_avltreehash_list.c: Likewise.
79233         * lib/gl_avltreehash_list.h: Likewise.
79234         * lib/gl_carray_list.c: Likewise.
79235         * lib/gl_carray_list.h: Likewise.
79236         * lib/gl_linked_list.c: Likewise.
79237         * lib/gl_linked_list.h: Likewise.
79238         * lib/gl_linkedhash_list.c: Likewise.
79239         * lib/gl_linkedhash_list.h: Likewise.
79240         * lib/gl_list.c: Likewise.
79241         * lib/gl_list.h: Likewise.
79242         * lib/gl_oset.c: Likewise.
79243         * lib/gl_oset.h: Likewise.
79244         * lib/gl_rbtree_list.c: Likewise.
79245         * lib/gl_rbtree_list.h: Likewise.
79246         * lib/gl_rbtree_oset.c: Likewise.
79247         * lib/gl_rbtree_oset.h: Likewise.
79248         * lib/gl_rbtreehash_list.c: Likewise.
79249         * lib/gl_rbtreehash_list.h: Likewise.
79250         * lib/gl_sublist.c: Likewise.
79251         * lib/gl_sublist.h: Likewise.
79252         * lib/group-member.c: Likewise.
79253         * lib/group-member.h: Likewise.
79254         * lib/hard-locale.c: Likewise.
79255         * lib/hard-locale.h: Likewise.
79256         * lib/hash-pjw.c: Likewise.
79257         * lib/hash-pjw.h: Likewise.
79258         * lib/hash-triple.c: Likewise.
79259         * lib/hash.c: Likewise.
79260         * lib/hash.h: Likewise.
79261         * lib/human.c: Likewise.
79262         * lib/human.h: Likewise.
79263         * lib/i-ring.c: Likewise.
79264         * lib/i-ring.h: Likewise.
79265         * lib/idcache.c: Likewise.
79266         * lib/imaxabs.c: Likewise.
79267         * lib/imaxdiv.c: Likewise.
79268         * lib/inet_pton.c: Likewise.
79269         * lib/inet_pton.h: Likewise.
79270         * lib/intprops.h: Likewise.
79271         * lib/inttostr.c: Likewise.
79272         * lib/inttostr.h: Likewise.
79273         * lib/inttypes.in.h: Likewise.
79274         * lib/isapipe.c: Likewise.
79275         * lib/isdir.c: Likewise.
79276         * lib/isnan.c: Likewise.
79277         * lib/isnan.h: Likewise.
79278         * lib/isnanf.c: Likewise.
79279         * lib/isnanf.h: Likewise.
79280         * lib/isnanl-nolibm.h: Likewise.
79281         * lib/isnanl.c: Likewise.
79282         * lib/isnanl.h: Likewise.
79283         * lib/javacomp.c: Likewise.
79284         * lib/javacomp.h: Likewise.
79285         * lib/javaexec.c: Likewise.
79286         * lib/javaexec.h: Likewise.
79287         * lib/javaversion.c: Likewise.
79288         * lib/javaversion.h: Likewise.
79289         * lib/javaversion.java: Likewise.
79290         * lib/lbrkprop.h: Likewise.
79291         * lib/lchmod.h: Likewise.
79292         * lib/lchown.c: Likewise.
79293         * lib/ldexpl.c: Likewise.
79294         * lib/linebreak.c: Likewise.
79295         * lib/linebreak.h: Likewise.
79296         * lib/linebuffer.c: Likewise.
79297         * lib/linebuffer.h: Likewise.
79298         * lib/locale.in.h: Likewise.
79299         * lib/logl.c: Likewise.
79300         * lib/long-options.c: Likewise.
79301         * lib/long-options.h: Likewise.
79302         * lib/lstat.c: Likewise.
79303         * lib/lstat.h: Likewise.
79304         * lib/math.in.h: Likewise.
79305         * lib/mbchar.c: Likewise.
79306         * lib/mbchar.h: Likewise.
79307         * lib/mbfile.h: Likewise.
79308         * lib/mbiter.h: Likewise.
79309         * lib/mbscasecmp.c: Likewise.
79310         * lib/mbscasestr.c: Likewise.
79311         * lib/mbschr.c: Likewise.
79312         * lib/mbscspn.c: Likewise.
79313         * lib/mbslen.c: Likewise.
79314         * lib/mbsncasecmp.c: Likewise.
79315         * lib/mbsnlen.c: Likewise.
79316         * lib/mbspbrk.c: Likewise.
79317         * lib/mbspcasecmp.c: Likewise.
79318         * lib/mbsrchr.c: Likewise.
79319         * lib/mbssep.c: Likewise.
79320         * lib/mbsspn.c: Likewise.
79321         * lib/mbsstr.c: Likewise.
79322         * lib/mbstok_r.c: Likewise.
79323         * lib/mbswidth.c: Likewise.
79324         * lib/mbswidth.h: Likewise.
79325         * lib/mbuiter.h: Likewise.
79326         * lib/memcasecmp.c: Likewise.
79327         * lib/memcasecmp.h: Likewise.
79328         * lib/memchr.c: Likewise.
79329         * lib/memcmp.c: Likewise.
79330         * lib/memcoll.c: Likewise.
79331         * lib/memcoll.h: Likewise.
79332         * lib/memcpy.c: Likewise.
79333         * lib/memrchr.c: Likewise.
79334         * lib/mkancesdirs.c: Likewise.
79335         * lib/mkdir-p.c: Likewise.
79336         * lib/mkdir-p.h: Likewise.
79337         * lib/mkdir.c: Likewise.
79338         * lib/mkdirat.c: Likewise.
79339         * lib/mkdtemp.c: Likewise.
79340         * lib/mkstemp-safer.c: Likewise.
79341         * lib/mkstemp.c: Likewise.
79342         * lib/modechange.c: Likewise.
79343         * lib/modechange.h: Likewise.
79344         * lib/mountlist.c: Likewise.
79345         * lib/mountlist.h: Likewise.
79346         * lib/mpsort.c: Likewise.
79347         * lib/nanosleep.c: Likewise.
79348         * lib/obstack.c: Likewise.
79349         * lib/obstack.h: Likewise.
79350         * lib/open-safer.c: Likewise.
79351         * lib/open.c: Likewise.
79352         * lib/openat-die.c: Likewise.
79353         * lib/openat-priv.h: Likewise.
79354         * lib/openat-proc.c: Likewise.
79355         * lib/openat.c: Likewise.
79356         * lib/openat.h: Likewise.
79357         * lib/pagealign_alloc.c: Likewise.
79358         * lib/pagealign_alloc.h: Likewise.
79359         * lib/physmem.c: Likewise.
79360         * lib/physmem.h: Likewise.
79361         * lib/pipe-safer.c: Likewise.
79362         * lib/pipe.c: Likewise.
79363         * lib/pipe.h: Likewise.
79364         * lib/posixtm.c: Likewise.
79365         * lib/posixtm.h: Likewise.
79366         * lib/posixver.c: Likewise.
79367         * lib/printf-frexp.c: Likewise.
79368         * lib/printf-frexp.h: Likewise.
79369         * lib/printf-frexpl.c: Likewise.
79370         * lib/printf-frexpl.h: Likewise.
79371         * lib/printf.c: Likewise.
79372         * lib/progname.c: Likewise.
79373         * lib/progname.h: Likewise.
79374         * lib/progreloc.c: Likewise.
79375         * lib/putenv.c: Likewise.
79376         * lib/quote.c: Likewise.
79377         * lib/quote.h: Likewise.
79378         * lib/quotearg.c: Likewise.
79379         * lib/quotearg.h: Likewise.
79380         * lib/raise.c: Likewise.
79381         * lib/readline.c: Likewise.
79382         * lib/readline.h: Likewise.
79383         * lib/readlink.c: Likewise.
79384         * lib/readtokens.c: Likewise.
79385         * lib/readtokens.h: Likewise.
79386         * lib/readtokens0.c: Likewise.
79387         * lib/readtokens0.h: Likewise.
79388         * lib/readutmp.c: Likewise.
79389         * lib/readutmp.h: Likewise.
79390         * lib/realloc.c: Likewise.
79391         * lib/relocwrapper.c: Likewise.
79392         * lib/rename-dest-slash.c: Likewise.
79393         * lib/rename.c: Likewise.
79394         * lib/rmdir.c: Likewise.
79395         * lib/rpmatch.c: Likewise.
79396         * lib/safe-read.c: Likewise.
79397         * lib/safe-read.h: Likewise.
79398         * lib/safe-write.c: Likewise.
79399         * lib/safe-write.h: Likewise.
79400         * lib/same-inode.h: Likewise.
79401         * lib/same.c: Likewise.
79402         * lib/same.h: Likewise.
79403         * lib/save-cwd.c: Likewise.
79404         * lib/save-cwd.h: Likewise.
79405         * lib/savedir.c: Likewise.
79406         * lib/savedir.h: Likewise.
79407         * lib/savewd.c: Likewise.
79408         * lib/savewd.h: Likewise.
79409         * lib/search.in.h: Likewise.
79410         * lib/setenv.c: Likewise.
79411         * lib/setenv.h: Likewise.
79412         * lib/settime.c: Likewise.
79413         * lib/sh-quote.c: Likewise.
79414         * lib/sh-quote.h: Likewise.
79415         * lib/sig2str.c: Likewise.
79416         * lib/sig2str.h: Likewise.
79417         * lib/signal.in.h: Likewise.
79418         * lib/signbitd.c: Likewise.
79419         * lib/signbitf.c: Likewise.
79420         * lib/signbitl.c: Likewise.
79421         * lib/sigprocmask.c: Likewise.
79422         * lib/sincosl.c: Likewise.
79423         * lib/sleep.c: Likewise.
79424         * lib/sprintf.c: Likewise.
79425         * lib/sqrtl.c: Likewise.
79426         * lib/stat-time.h: Likewise.
79427         * lib/stdio--.h: Likewise.
79428         * lib/stdio-safer.h: Likewise.
79429         * lib/stdlib--.h: Likewise.
79430         * lib/stdlib-safer.h: Likewise.
79431         * lib/stdlib.in.h: Likewise.
79432         * lib/stpcpy.c: Likewise.
79433         * lib/stpncpy.c: Likewise.
79434         * lib/strchrnul.c: Likewise.
79435         * lib/strcspn.c: Likewise.
79436         * lib/strerror.c: Likewise.
79437         * lib/strftime.c: Likewise.
79438         * lib/strftime.h: Likewise.
79439         * lib/striconveh.c: Likewise.
79440         * lib/striconveh.h: Likewise.
79441         * lib/striconveha.c: Likewise.
79442         * lib/striconveha.h: Likewise.
79443         * lib/stripslash.c: Likewise.
79444         * lib/strnlen1.c: Likewise.
79445         * lib/strnlen1.h: Likewise.
79446         * lib/strtod.c: Likewise.
79447         * lib/strtoimax.c: Likewise.
79448         * lib/strtok_r.c: Likewise.
79449         * lib/strtol.c: Likewise.
79450         * lib/strtoll.c: Likewise.
79451         * lib/strtoul.c: Likewise.
79452         * lib/strtoull.c: Likewise.
79453         * lib/sysexits.in.h: Likewise.
79454         * lib/tempname.c: Likewise.
79455         * lib/tempname.h: Likewise.
79456         * lib/timespec.h: Likewise.
79457         * lib/tls.c: Likewise.
79458         * lib/tls.h: Likewise.
79459         * lib/tmpdir.c: Likewise.
79460         * lib/tmpdir.h: Likewise.
79461         * lib/tmpfile-safer.c: Likewise.
79462         * lib/tmpfile.c: Likewise.
79463         * lib/trigl.c: Likewise.
79464         * lib/trigl.h: Likewise.
79465         * lib/trim.c: Likewise.
79466         * lib/trim.h: Likewise.
79467         * lib/trunc.c: Likewise.
79468         * lib/truncf.c: Likewise.
79469         * lib/truncl.c: Likewise.
79470         * lib/tsearch.c: Likewise.
79471         * lib/unicodeio.c: Likewise.
79472         * lib/unicodeio.h: Likewise.
79473         * lib/unistd--.h: Likewise.
79474         * lib/unistd-safer.h: Likewise.
79475         * lib/unistdio/ulc-fprintf.c: Likewise.
79476         * lib/unistdio/ulc-vfprintf.c: Likewise.
79477         * lib/unlinkdir.c: Likewise.
79478         * lib/unlinkdir.h: Likewise.
79479         * lib/unlocked-io.h: Likewise.
79480         * lib/unsetenv.c: Likewise.
79481         * lib/userspec.c: Likewise.
79482         * lib/utime.c: Likewise.
79483         * lib/utimecmp.c: Likewise.
79484         * lib/utimecmp.h: Likewise.
79485         * lib/utimens.c: Likewise.
79486         * lib/verify.h: Likewise.
79487         * lib/verror.c: Likewise.
79488         * lib/verror.h: Likewise.
79489         * lib/version-etc-fsf.c: Likewise.
79490         * lib/version-etc.c: Likewise.
79491         * lib/version-etc.h: Likewise.
79492         * lib/vfprintf.c: Likewise.
79493         * lib/vprintf.c: Likewise.
79494         * lib/vsprintf.c: Likewise.
79495         * lib/w32spawn.h: Likewise.
79496         * lib/wait-process.c: Likewise.
79497         * lib/wait-process.h: Likewise.
79498         * lib/wcwidth.c: Likewise.
79499         * lib/write-any-file.c: Likewise.
79500         * lib/xalloc-die.c: Likewise.
79501         * lib/xalloc.h: Likewise.
79502         * lib/xasprintf.c: Likewise.
79503         * lib/xgetcwd.c: Likewise.
79504         * lib/xgetcwd.h: Likewise.
79505         * lib/xgetdomainname.c: Likewise.
79506         * lib/xgetdomainname.h: Likewise.
79507         * lib/xgethostname.c: Likewise.
79508         * lib/xmalloc.c: Likewise.
79509         * lib/xmalloca.c: Likewise.
79510         * lib/xmalloca.h: Likewise.
79511         * lib/xmemcoll.c: Likewise.
79512         * lib/xnanosleep.c: Likewise.
79513         * lib/xreadlink.c: Likewise.
79514         * lib/xreadlink.h: Likewise.
79515         * lib/xsetenv.c: Likewise.
79516         * lib/xsetenv.h: Likewise.
79517         * lib/xstriconv.c: Likewise.
79518         * lib/xstriconv.h: Likewise.
79519         * lib/xstrndup.c: Likewise.
79520         * lib/xstrndup.h: Likewise.
79521         * lib/xstrtod.c: Likewise.
79522         * lib/xstrtod.h: Likewise.
79523         * lib/xstrtol-error.c: Likewise.
79524         * lib/xstrtol.c: Likewise.
79525         * lib/xstrtol.h: Likewise.
79526         * lib/xtime.h: Likewise.
79527         * lib/xvasprintf.c: Likewise.
79528         * lib/xvasprintf.h: Likewise.
79529         * lib/yesno.c: Likewise.
79530         * lib/yesno.h: Likewise.
79531         * posix-modules: Likewise.
79532         * tests/test-alloca-opt.c: Likewise.
79533         * tests/test-arcfour.c: Likewise.
79534         * tests/test-arctwo.c: Likewise.
79535         * tests/test-argmatch.c: Likewise.
79536         * tests/test-argp-2.sh: Likewise.
79537         * tests/test-argp.c: Likewise.
79538         * tests/test-arpa_inet.c: Likewise.
79539         * tests/test-array_list.c: Likewise.
79540         * tests/test-array_oset.c: Likewise.
79541         * tests/test-atexit.c: Likewise.
79542         * tests/test-avltree_list.c: Likewise.
79543         * tests/test-avltree_oset.c: Likewise.
79544         * tests/test-avltreehash_list.c: Likewise.
79545         * tests/test-base64.c: Likewise.
79546         * tests/test-binary-io.c: Likewise.
79547         * tests/test-byteswap.c: Likewise.
79548         * tests/test-c-ctype.c: Likewise.
79549         * tests/test-c-strcasecmp.c: Likewise.
79550         * tests/test-c-strcasestr.c: Likewise.
79551         * tests/test-c-strncasecmp.c: Likewise.
79552         * tests/test-c-strstr.c: Likewise.
79553         * tests/test-canonicalize-lgpl.c: Likewise.
79554         * tests/test-canonicalize.c: Likewise.
79555         * tests/test-carray_list.c: Likewise.
79556         * tests/test-ceilf.c: Likewise.
79557         * tests/test-ceill.c: Likewise.
79558         * tests/test-count-one-bits.c: Likewise.
79559         * tests/test-crc.c: Likewise.
79560         * tests/test-dirname.c: Likewise.
79561         * tests/test-fbufmode.c: Likewise.
79562         * tests/test-fcntl.c: Likewise.
79563         * tests/test-fflush.c: Likewise.
79564         * tests/test-floorf.c: Likewise.
79565         * tests/test-floorl.c: Likewise.
79566         * tests/test-fopen.c: Likewise.
79567         * tests/test-fprintf-posix.c: Likewise.
79568         * tests/test-fprintf-posix.h: Likewise.
79569         * tests/test-fpurge.c: Likewise.
79570         * tests/test-freadable.c: Likewise.
79571         * tests/test-freadahead.c: Likewise.
79572         * tests/test-freading.c: Likewise.
79573         * tests/test-freopen.c: Likewise.
79574         * tests/test-frexp.c: Likewise.
79575         * tests/test-frexpl.c: Likewise.
79576         * tests/test-fseek.c: Likewise.
79577         * tests/test-fseeko.c: Likewise.
79578         * tests/test-fseterr.c: Likewise.
79579         * tests/test-fstrcmp.c: Likewise.
79580         * tests/test-ftell.c: Likewise.
79581         * tests/test-ftello.c: Likewise.
79582         * tests/test-fwritable.c: Likewise.
79583         * tests/test-fwriting.c: Likewise.
79584         * tests/test-getaddrinfo.c: Likewise.
79585         * tests/test-getpass.c: Likewise.
79586         * tests/test-gettimeofday.c: Likewise.
79587         * tests/test-hmac-md5.c: Likewise.
79588         * tests/test-hmac-sha1.c: Likewise.
79589         * tests/test-iconv.c: Likewise.
79590         * tests/test-iconvme.c: Likewise.
79591         * tests/test-inttypes.c: Likewise.
79592         * tests/test-isnan.c: Likewise.
79593         * tests/test-isnanf.c: Likewise.
79594         * tests/test-isnanl-nolibm.c: Likewise.
79595         * tests/test-isnanl.c: Likewise.
79596         * tests/test-isnanl.h: Likewise.
79597         * tests/test-ldexpl.c: Likewise.
79598         * tests/test-linked_list.c: Likewise.
79599         * tests/test-linkedhash_list.c: Likewise.
79600         * tests/test-locale.c: Likewise.
79601         * tests/test-localename.c: Likewise.
79602         * tests/test-lock.c: Likewise.
79603         * tests/test-lseek.c: Likewise.
79604         * tests/test-malloca.c: Likewise.
79605         * tests/test-math.c: Likewise.
79606         * tests/test-mbscasecmp.c: Likewise.
79607         * tests/test-mbscasestr1.c: Likewise.
79608         * tests/test-mbscasestr2.c: Likewise.
79609         * tests/test-mbscasestr3.c: Likewise.
79610         * tests/test-mbscasestr4.c: Likewise.
79611         * tests/test-mbschr.c: Likewise.
79612         * tests/test-mbscspn.c: Likewise.
79613         * tests/test-mbsncasecmp.c: Likewise.
79614         * tests/test-mbspbrk.c: Likewise.
79615         * tests/test-mbspcasecmp.c: Likewise.
79616         * tests/test-mbsrchr.c: Likewise.
79617         * tests/test-mbsspn.c: Likewise.
79618         * tests/test-mbsstr1.c: Likewise.
79619         * tests/test-mbsstr2.c: Likewise.
79620         * tests/test-mbsstr3.c: Likewise.
79621         * tests/test-md5.c: Likewise.
79622         * tests/test-memmem.c: Likewise.
79623         * tests/test-netinet_in.c: Likewise.
79624         * tests/test-open.c: Likewise.
79625         * tests/test-printf-frexp.c: Likewise.
79626         * tests/test-printf-frexpl.c: Likewise.
79627         * tests/test-printf-posix.c: Likewise.
79628         * tests/test-printf-posix.h: Likewise.
79629         * tests/test-rbtree_list.c: Likewise.
79630         * tests/test-rbtree_oset.c: Likewise.
79631         * tests/test-rbtreehash_list.c: Likewise.
79632         * tests/test-read-file.c: Likewise.
79633         * tests/test-rijndael.c: Likewise.
79634         * tests/test-search.c: Likewise.
79635         * tests/test-signbit.c: Likewise.
79636         * tests/test-sleep.c: Likewise.
79637         * tests/test-snprintf-posix.c: Likewise.
79638         * tests/test-snprintf-posix.h: Likewise.
79639         * tests/test-snprintf.c: Likewise.
79640         * tests/test-sprintf-posix.c: Likewise.
79641         * tests/test-sprintf-posix.h: Likewise.
79642         * tests/test-stat-time.c: Likewise.
79643         * tests/test-stdbool.c: Likewise.
79644         * tests/test-stdint.c: Likewise.
79645         * tests/test-stdio.c: Likewise.
79646         * tests/test-stdlib.c: Likewise.
79647         * tests/test-stpncpy.c: Likewise.
79648         * tests/test-strcasestr.c: Likewise.
79649         * tests/test-striconv.c: Likewise.
79650         * tests/test-striconveh.c: Likewise.
79651         * tests/test-striconveha.c: Likewise.
79652         * tests/test-string.c: Likewise.
79653         * tests/test-sys_select.c: Likewise.
79654         * tests/test-sys_socket.c: Likewise.
79655         * tests/test-sys_stat.c: Likewise.
79656         * tests/test-sys_time.c: Likewise.
79657         * tests/test-sysexits.c: Likewise.
79658         * tests/test-time.c: Likewise.
79659         * tests/test-tls.c: Likewise.
79660         * tests/test-trunc.c: Likewise.
79661         * tests/test-truncf.c: Likewise.
79662         * tests/test-truncl.c: Likewise.
79663         * tests/test-unistd.c: Likewise.
79664         * tests/test-vasnprintf-posix.c: Likewise.
79665         * tests/test-vasnprintf-posix2.c: Likewise.
79666         * tests/test-vasnprintf.c: Likewise.
79667         * tests/test-vasprintf-posix.c: Likewise.
79668         * tests/test-vasprintf.c: Likewise.
79669         * tests/test-verify.c: Likewise.
79670         * tests/test-vfprintf-posix.c: Likewise.
79671         * tests/test-vprintf-posix.c: Likewise.
79672         * tests/test-vsnprintf-posix.c: Likewise.
79673         * tests/test-vsnprintf.c: Likewise.
79674         * tests/test-vsprintf-posix.c: Likewise.
79675         * tests/test-wchar.c: Likewise.
79676         * tests/test-wctype.c: Likewise.
79677         * tests/test-wcwidth.c: Likewise.
79678         * tests/test-xstrtol.c: Likewise.
79679         * tests/test-xvasprintf.c: Likewise.
79680         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
79681         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
79682         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
79683         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
79684         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
79685         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
79686         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
79687         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
79688         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
79689         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
79690         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
79691         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
79692         * tests/uniname/test-uninames.c: Likewise.
79693         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
79694         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
79695         * tests/unistdio/test-u16-printf1.h: Likewise.
79696         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
79697         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
79698         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
79699         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
79700         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
79701         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
79702         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
79703         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
79704         * tests/unistdio/test-u32-printf1.h: Likewise.
79705         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
79706         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
79707         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
79708         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
79709         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
79710         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
79711         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
79712         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
79713         * tests/unistdio/test-u8-printf1.h: Likewise.
79714         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
79715         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
79716         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
79717         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
79718         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
79719         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
79720         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
79721         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
79722         * tests/unistdio/test-ulc-printf1.h: Likewise.
79723         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
79724         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
79725         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
79726         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
79727         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
79728         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
79729         * tests/uniwidth/test-u16-strwidth.c: Likewise.
79730         * tests/uniwidth/test-u16-width.c: Likewise.
79731         * tests/uniwidth/test-u32-strwidth.c: Likewise.
79732         * tests/uniwidth/test-u32-width.c: Likewise.
79733         * tests/uniwidth/test-u8-strwidth.c: Likewise.
79734         * tests/uniwidth/test-u8-width.c: Likewise.
79735         * tests/uniwidth/test-uc_width.c: Likewise.
79736         * config/srclist-update: Likewise.
79737         (fixlicense): Update to GPLv3+.
79739         Change copyright notice from LGPLv2.1+ to LGPLv3+.
79740         * tests/test-tsearch.c: Change copyright notice.
79742         Change copyright notice from LGPLv2.0+ to LGPLv3+.
79743         * lib/c-strcaseeq.h: Change copyright notice.
79744         * lib/streq.h: Likewise.
79745         * lib/uniconv.h: Likewise.
79746         * lib/uniconv/u-conv-from-enc.h: Likewise.
79747         * lib/uniconv/u-conv-to-enc.h: Likewise.
79748         * lib/uniconv/u-strconv-from-enc.h: Likewise.
79749         * lib/uniconv/u-strconv-to-enc.h: Likewise.
79750         * lib/uniconv/u16-conv-from-enc.c: Likewise.
79751         * lib/uniconv/u16-conv-to-enc.c: Likewise.
79752         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
79753         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
79754         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
79755         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
79756         * lib/uniconv/u32-conv-from-enc.c: Likewise.
79757         * lib/uniconv/u32-conv-to-enc.c: Likewise.
79758         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
79759         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
79760         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
79761         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
79762         * lib/uniconv/u8-conv-from-enc.c: Likewise.
79763         * lib/uniconv/u8-conv-to-enc.c: Likewise.
79764         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
79765         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
79766         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
79767         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
79768         * lib/uniname.h: Likewise.
79769         * lib/uniname/uniname.c: Likewise.
79770         * lib/unistdio.h: Likewise.
79771         * lib/unistdio/u-asnprintf.h: Likewise.
79772         * lib/unistdio/u-asprintf.h: Likewise.
79773         * lib/unistdio/u-printf-args.c: Likewise.
79774         * lib/unistdio/u-printf-args.h: Likewise.
79775         * lib/unistdio/u-printf-parse.h: Likewise.
79776         * lib/unistdio/u-snprintf.h: Likewise.
79777         * lib/unistdio/u-sprintf.h: Likewise.
79778         * lib/unistdio/u-vasprintf.h: Likewise.
79779         * lib/unistdio/u-vsnprintf.h: Likewise.
79780         * lib/unistdio/u-vsprintf.h: Likewise.
79781         * lib/unistdio/u16-asnprintf.c: Likewise.
79782         * lib/unistdio/u16-asprintf.c: Likewise.
79783         * lib/unistdio/u16-printf-parse.c: Likewise.
79784         * lib/unistdio/u16-snprintf.c: Likewise.
79785         * lib/unistdio/u16-sprintf.c: Likewise.
79786         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
79787         * lib/unistdio/u16-u16-asprintf.c: Likewise.
79788         * lib/unistdio/u16-u16-snprintf.c: Likewise.
79789         * lib/unistdio/u16-u16-sprintf.c: Likewise.
79790         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
79791         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
79792         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
79793         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
79794         * lib/unistdio/u16-vasnprintf.c: Likewise.
79795         * lib/unistdio/u16-vasprintf.c: Likewise.
79796         * lib/unistdio/u16-vsnprintf.c: Likewise.
79797         * lib/unistdio/u16-vsprintf.c: Likewise.
79798         * lib/unistdio/u32-asnprintf.c: Likewise.
79799         * lib/unistdio/u32-asprintf.c: Likewise.
79800         * lib/unistdio/u32-printf-parse.c: Likewise.
79801         * lib/unistdio/u32-snprintf.c: Likewise.
79802         * lib/unistdio/u32-sprintf.c: Likewise.
79803         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
79804         * lib/unistdio/u32-u32-asprintf.c: Likewise.
79805         * lib/unistdio/u32-u32-snprintf.c: Likewise.
79806         * lib/unistdio/u32-u32-sprintf.c: Likewise.
79807         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
79808         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
79809         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
79810         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
79811         * lib/unistdio/u32-vasnprintf.c: Likewise.
79812         * lib/unistdio/u32-vasprintf.c: Likewise.
79813         * lib/unistdio/u32-vsnprintf.c: Likewise.
79814         * lib/unistdio/u32-vsprintf.c: Likewise.
79815         * lib/unistdio/u8-asnprintf.c: Likewise.
79816         * lib/unistdio/u8-asprintf.c: Likewise.
79817         * lib/unistdio/u8-printf-parse.c: Likewise.
79818         * lib/unistdio/u8-snprintf.c: Likewise.
79819         * lib/unistdio/u8-sprintf.c: Likewise.
79820         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
79821         * lib/unistdio/u8-u8-asprintf.c: Likewise.
79822         * lib/unistdio/u8-u8-snprintf.c: Likewise.
79823         * lib/unistdio/u8-u8-sprintf.c: Likewise.
79824         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
79825         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
79826         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
79827         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
79828         * lib/unistdio/u8-vasnprintf.c: Likewise.
79829         * lib/unistdio/u8-vasprintf.c: Likewise.
79830         * lib/unistdio/u8-vsnprintf.c: Likewise.
79831         * lib/unistdio/u8-vsprintf.c: Likewise.
79832         * lib/unistdio/ulc-asnprintf.c: Likewise.
79833         * lib/unistdio/ulc-asprintf.c: Likewise.
79834         * lib/unistdio/ulc-printf-parse.c: Likewise.
79835         * lib/unistdio/ulc-snprintf.c: Likewise.
79836         * lib/unistdio/ulc-sprintf.c: Likewise.
79837         * lib/unistdio/ulc-vasnprintf.c: Likewise.
79838         * lib/unistdio/ulc-vasprintf.c: Likewise.
79839         * lib/unistdio/ulc-vsnprintf.c: Likewise.
79840         * lib/unistdio/ulc-vsprintf.c: Likewise.
79841         * lib/unistr.h: Likewise.
79842         * lib/unistr/u-cpy-alloc.h: Likewise.
79843         * lib/unistr/u-cpy.h: Likewise.
79844         * lib/unistr/u-endswith.h: Likewise.
79845         * lib/unistr/u-move.h: Likewise.
79846         * lib/unistr/u-set.h: Likewise.
79847         * lib/unistr/u-startswith.h: Likewise.
79848         * lib/unistr/u-stpcpy.h: Likewise.
79849         * lib/unistr/u-stpncpy.h: Likewise.
79850         * lib/unistr/u-strcat.h: Likewise.
79851         * lib/unistr/u-strcpy.h: Likewise.
79852         * lib/unistr/u-strcspn.h: Likewise.
79853         * lib/unistr/u-strdup.h: Likewise.
79854         * lib/unistr/u-strlen.h: Likewise.
79855         * lib/unistr/u-strncat.h: Likewise.
79856         * lib/unistr/u-strncpy.h: Likewise.
79857         * lib/unistr/u-strnlen.h: Likewise.
79858         * lib/unistr/u-strpbrk.h: Likewise.
79859         * lib/unistr/u-strspn.h: Likewise.
79860         * lib/unistr/u-strstr.h: Likewise.
79861         * lib/unistr/u-strtok.h: Likewise.
79862         * lib/unistr/u16-check.c: Likewise.
79863         * lib/unistr/u16-chr.c: Likewise.
79864         * lib/unistr/u16-cmp.c: Likewise.
79865         * lib/unistr/u16-cpy-alloc.c: Likewise.
79866         * lib/unistr/u16-cpy.c: Likewise.
79867         * lib/unistr/u16-endswith.c: Likewise.
79868         * lib/unistr/u16-mblen.c: Likewise.
79869         * lib/unistr/u16-mbsnlen.c: Likewise.
79870         * lib/unistr/u16-mbtouc-aux.c: Likewise.
79871         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
79872         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
79873         * lib/unistr/u16-mbtouc.c: Likewise.
79874         * lib/unistr/u16-mbtoucr.c: Likewise.
79875         * lib/unistr/u16-move.c: Likewise.
79876         * lib/unistr/u16-next.c: Likewise.
79877         * lib/unistr/u16-prev.c: Likewise.
79878         * lib/unistr/u16-set.c: Likewise.
79879         * lib/unistr/u16-startswith.c: Likewise.
79880         * lib/unistr/u16-stpcpy.c: Likewise.
79881         * lib/unistr/u16-stpncpy.c: Likewise.
79882         * lib/unistr/u16-strcat.c: Likewise.
79883         * lib/unistr/u16-strchr.c: Likewise.
79884         * lib/unistr/u16-strcmp.c: Likewise.
79885         * lib/unistr/u16-strcpy.c: Likewise.
79886         * lib/unistr/u16-strcspn.c: Likewise.
79887         * lib/unistr/u16-strdup.c: Likewise.
79888         * lib/unistr/u16-strlen.c: Likewise.
79889         * lib/unistr/u16-strmblen.c: Likewise.
79890         * lib/unistr/u16-strmbtouc.c: Likewise.
79891         * lib/unistr/u16-strncat.c: Likewise.
79892         * lib/unistr/u16-strncmp.c: Likewise.
79893         * lib/unistr/u16-strncpy.c: Likewise.
79894         * lib/unistr/u16-strnlen.c: Likewise.
79895         * lib/unistr/u16-strpbrk.c: Likewise.
79896         * lib/unistr/u16-strrchr.c: Likewise.
79897         * lib/unistr/u16-strspn.c: Likewise.
79898         * lib/unistr/u16-strstr.c: Likewise.
79899         * lib/unistr/u16-strtok.c: Likewise.
79900         * lib/unistr/u16-to-u32.c: Likewise.
79901         * lib/unistr/u16-to-u8.c: Likewise.
79902         * lib/unistr/u16-uctomb-aux.c: Likewise.
79903         * lib/unistr/u16-uctomb.c: Likewise.
79904         * lib/unistr/u32-check.c: Likewise.
79905         * lib/unistr/u32-chr.c: Likewise.
79906         * lib/unistr/u32-cmp.c: Likewise.
79907         * lib/unistr/u32-cpy-alloc.c: Likewise.
79908         * lib/unistr/u32-cpy.c: Likewise.
79909         * lib/unistr/u32-endswith.c: Likewise.
79910         * lib/unistr/u32-mblen.c: Likewise.
79911         * lib/unistr/u32-mbsnlen.c: Likewise.
79912         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
79913         * lib/unistr/u32-mbtouc.c: Likewise.
79914         * lib/unistr/u32-mbtoucr.c: Likewise.
79915         * lib/unistr/u32-move.c: Likewise.
79916         * lib/unistr/u32-next.c: Likewise.
79917         * lib/unistr/u32-prev.c: Likewise.
79918         * lib/unistr/u32-set.c: Likewise.
79919         * lib/unistr/u32-startswith.c: Likewise.
79920         * lib/unistr/u32-stpcpy.c: Likewise.
79921         * lib/unistr/u32-stpncpy.c: Likewise.
79922         * lib/unistr/u32-strcat.c: Likewise.
79923         * lib/unistr/u32-strchr.c: Likewise.
79924         * lib/unistr/u32-strcmp.c: Likewise.
79925         * lib/unistr/u32-strcpy.c: Likewise.
79926         * lib/unistr/u32-strcspn.c: Likewise.
79927         * lib/unistr/u32-strdup.c: Likewise.
79928         * lib/unistr/u32-strlen.c: Likewise.
79929         * lib/unistr/u32-strmblen.c: Likewise.
79930         * lib/unistr/u32-strmbtouc.c: Likewise.
79931         * lib/unistr/u32-strncat.c: Likewise.
79932         * lib/unistr/u32-strncmp.c: Likewise.
79933         * lib/unistr/u32-strncpy.c: Likewise.
79934         * lib/unistr/u32-strnlen.c: Likewise.
79935         * lib/unistr/u32-strpbrk.c: Likewise.
79936         * lib/unistr/u32-strrchr.c: Likewise.
79937         * lib/unistr/u32-strspn.c: Likewise.
79938         * lib/unistr/u32-strstr.c: Likewise.
79939         * lib/unistr/u32-strtok.c: Likewise.
79940         * lib/unistr/u32-to-u16.c: Likewise.
79941         * lib/unistr/u32-to-u8.c: Likewise.
79942         * lib/unistr/u32-uctomb.c: Likewise.
79943         * lib/unistr/u8-check.c: Likewise.
79944         * lib/unistr/u8-chr.c: Likewise.
79945         * lib/unistr/u8-cmp.c: Likewise.
79946         * lib/unistr/u8-cpy-alloc.c: Likewise.
79947         * lib/unistr/u8-cpy.c: Likewise.
79948         * lib/unistr/u8-endswith.c: Likewise.
79949         * lib/unistr/u8-mblen.c: Likewise.
79950         * lib/unistr/u8-mbsnlen.c: Likewise.
79951         * lib/unistr/u8-mbtouc-aux.c: Likewise.
79952         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
79953         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
79954         * lib/unistr/u8-mbtouc.c: Likewise.
79955         * lib/unistr/u8-mbtoucr.c: Likewise.
79956         * lib/unistr/u8-move.c: Likewise.
79957         * lib/unistr/u8-next.c: Likewise.
79958         * lib/unistr/u8-prev.c: Likewise.
79959         * lib/unistr/u8-set.c: Likewise.
79960         * lib/unistr/u8-startswith.c: Likewise.
79961         * lib/unistr/u8-stpcpy.c: Likewise.
79962         * lib/unistr/u8-stpncpy.c: Likewise.
79963         * lib/unistr/u8-strcat.c: Likewise.
79964         * lib/unistr/u8-strchr.c: Likewise.
79965         * lib/unistr/u8-strcmp.c: Likewise.
79966         * lib/unistr/u8-strcpy.c: Likewise.
79967         * lib/unistr/u8-strcspn.c: Likewise.
79968         * lib/unistr/u8-strdup.c: Likewise.
79969         * lib/unistr/u8-strlen.c: Likewise.
79970         * lib/unistr/u8-strmblen.c: Likewise.
79971         * lib/unistr/u8-strmbtouc.c: Likewise.
79972         * lib/unistr/u8-strncat.c: Likewise.
79973         * lib/unistr/u8-strncmp.c: Likewise.
79974         * lib/unistr/u8-strncpy.c: Likewise.
79975         * lib/unistr/u8-strnlen.c: Likewise.
79976         * lib/unistr/u8-strpbrk.c: Likewise.
79977         * lib/unistr/u8-strrchr.c: Likewise.
79978         * lib/unistr/u8-strspn.c: Likewise.
79979         * lib/unistr/u8-strstr.c: Likewise.
79980         * lib/unistr/u8-strtok.c: Likewise.
79981         * lib/unistr/u8-to-u16.c: Likewise.
79982         * lib/unistr/u8-to-u32.c: Likewise.
79983         * lib/unistr/u8-uctomb-aux.c: Likewise.
79984         * lib/unistr/u8-uctomb.c: Likewise.
79985         * lib/unitypes.h: Likewise.
79986         * lib/uniwidth.h: Likewise.
79987         * lib/uniwidth/cjk.h: Likewise.
79988         * lib/uniwidth/u16-strwidth.c: Likewise.
79989         * lib/uniwidth/u16-width.c: Likewise.
79990         * lib/uniwidth/u32-strwidth.c: Likewise.
79991         * lib/uniwidth/u32-width.c: Likewise.
79992         * lib/uniwidth/u8-strwidth.c: Likewise.
79993         * lib/uniwidth/u8-width.c: Likewise.
79994         * lib/uniwidth/width.c: Likewise.
79996 2007-10-07  Bruno Haible  <bruno@clisp.org>
79998         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
79999         The file is still under LGPL (see modules/inttypes).
80001 2007-10-06  Bruno Haible  <bruno@clisp.org>
80003         * modules/trunc (Dependencies): Add 'extensions'.
80004         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
80005         Reported by Ben Pfaff <blp@gnu.org>.
80007 2007-10-06  Bruno Haible  <bruno@clisp.org>
80009         * modules/freopen-tests: New file.
80010         * tests/test-freopen.c: New file.
80012         * modules/fopen-tests: New file.
80013         * tests/test-fopen.c: New file.
80015         * modules/fopen: New file.
80016         * lib/fopen.c: New file.
80017         * m4/fopen.m4: New file.
80018         * modules/freopen: New file.
80019         * lib/freopen.c: New file.
80020         * m4/freopen.m4: New file.
80021         * lib/stdio.in.h (fopen, freopen): New declarations.
80022         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
80023         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
80024         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
80025         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
80026         * doc/functions/fopen.texi: Mention the 'fopen' module.
80027         * doc/functions/freopen.texi: Mention the 'freopen' module.
80029 2007-10-06  Bruno Haible  <bruno@clisp.org>
80031         * modules/open-tests: New file.
80032         * tests/test-open.c: New file.
80034         * modules/open: New file.
80035         * lib/open.c: New file.
80036         * m4/open.m4: New file.
80037         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
80038         lib/open.c does.
80039         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
80040         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
80041         macros.
80042         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
80043         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
80044         REPLACE_OPEN.
80045         * doc/functions/open.texi: Mention the 'open' module.
80047 2007-10-04  Bruno Haible  <bruno@clisp.org>
80049         * modules/ceill-tests: New file.
80050         * tests/test-ceill.c: New file.
80052         * modules/ceill: New file.
80053         * lib/ceill.c: Replace entire file.
80054         * m4/ceill.m4: New file.
80055         * lib/math.in.h (ceill): Replace declaration.
80056         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
80057         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
80058         * doc/functions/ceill.texi: Mention the 'ceill' module.
80059         * modules/mathl (Files): Remove lib/ceill.c.
80060         (Depends-on): Add ceill.
80062 2007-10-04  Bruno Haible  <bruno@clisp.org>
80064         * modules/ceilf-tests: New file.
80065         * tests/test-ceilf.c: New file.
80067         * modules/ceilf: New file.
80068         * lib/ceil.c: New file.
80069         * lib/ceilf.c: New file.
80070         * m4/ceilf.m4: New file.
80071         * lib/math.in.h (ceilf): New declaration.
80072         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
80073         HAVE_DECL_CEILF.
80074         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
80075         HAVE_DECL_CEILF.
80076         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
80078 2007-10-04  Bruno Haible  <bruno@clisp.org>
80080         * modules/floorl-tests: New file.
80081         * tests/test-floorl.c: New file.
80083         * modules/floorl: New file.
80084         * lib/floorl.c: Replace entire file.
80085         * m4/floorl.m4: New file.
80086         * lib/math.in.h (floorl): Replace declaration.
80087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
80088         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
80089         * doc/functions/floorl.texi: Mention the 'floorl' module.
80090         * modules/mathl (Files): Remove lib/floorl.c.
80091         (Depends-on): Add floorl.
80093 2007-10-04  Bruno Haible  <bruno@clisp.org>
80095         * modules/floorf-tests: New file.
80096         * tests/test-floorf.c: New file.
80098         * modules/floorf: New file.
80099         * lib/floor.c: New file.
80100         * lib/floorf.c: New file.
80101         * m4/floorf.m4: New file.
80102         * lib/math.in.h (floorf): New declaration.
80103         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
80104         HAVE_DECL_FLOORF.
80105         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
80106         HAVE_DECL_FLOORF.
80107         * doc/functions/floorf.texi: Mention the 'floorf' module.
80109 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
80110             Bruno Haible  <bruno@clisp.org>
80112         Advertise for the Git server instead of the CVS server.
80113         * doc/gnulib-intro.texi (Steady Development): Mention the Git
80114         repository instead of the CVS one.
80115         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
80116         about all VCS systems generically.
80117         * doc/gnulib.texi (Introduction): Capitalize `Git'.
80119 2007-10-04  Bruno Haible  <bruno@clisp.org>
80121         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
80122         means.
80123         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
80125 2007-10-04  Bruno Haible  <bruno@clisp.org>
80127         * modules/truncl-tests: New file.
80128         * tests/test-truncl.c: New file.
80130         * modules/truncl: New file.
80131         * lib/truncl.c: New file.
80132         * m4/truncl.m4: New file.
80133         * lib/math.in.h (truncl): New declaration.
80134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
80135         HAVE_DECL_TRUNCL.
80136         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
80137         HAVE_DECL_TRUNCL.
80138         * doc/functions/truncl.texi: Mention the 'truncl' module.
80140 2007-10-04  Bruno Haible  <bruno@clisp.org>
80142         * modules/truncf-tests: New file.
80143         * tests/test-truncf.c: New file.
80145         * modules/truncf: New file.
80146         * lib/trunc.c: Make paramerizable through USE_* macros.
80147         * lib/truncf.c: New file.
80148         * m4/truncf.m4: New file.
80149         * lib/math.in.h (truncf): New declaration.
80150         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
80151         HAVE_DECL_TRUNCF.
80152         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
80153         HAVE_DECL_TRUNCF.
80154         * doc/functions/truncf.texi: Mention the 'truncf' module.
80156 2007-10-03  Bruno Haible  <bruno@clisp.org>
80158         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
80159         augmentation also for tests modules.
80160         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
80161         * modules/atexit-tests (Makefile.am): Likewise.
80162         * modules/binary-io-tests (Makefile.am): Likewise.
80163         * modules/c-strcase-tests (Makefile.am): Likewise.
80164         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
80165         * modules/canonicalize-tests (Makefile.am): Likewise.
80166         * modules/closein-tests (Makefile.am): Likewise.
80167         * modules/fprintf-posix-tests (Makefile.am): Likewise.
80168         * modules/freadahead-tests (Makefile.am): Likewise.
80169         * modules/fseek-tests (Makefile.am): Likewise.
80170         * modules/fseeko-tests (Makefile.am): Likewise.
80171         * modules/ftell-tests (Makefile.am): Likewise.
80172         * modules/ftello-tests (Makefile.am): Likewise.
80173         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
80174         * modules/isnanl-tests (Makefile.am): Likewise.
80175         * modules/lseek-tests (Makefile.am): Likewise.
80176         * modules/mbscasecmp-tests (Makefile.am): Likewise.
80177         * modules/mbscasestr-tests (Makefile.am): Likewise.
80178         * modules/mbschr-tests (Makefile.am): Likewise.
80179         * modules/mbscspn-tests (Makefile.am): Likewise.
80180         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
80181         * modules/mbspbrk-tests (Makefile.am): Likewise.
80182         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
80183         * modules/mbsrchr-tests (Makefile.am): Likewise.
80184         * modules/mbsspn-tests (Makefile.am): Likewise.
80185         * modules/mbsstr-tests (Makefile.am): Likewise.
80186         * modules/printf-posix-tests (Makefile.am): Likewise.
80187         * modules/snprintf-posix-tests (Makefile.am): Likewise.
80188         * modules/sprintf-posix-tests (Makefile.am): Likewise.
80189         * modules/tsearch-tests (Makefile.am): Likewise.
80190         * modules/uniname/uniname-tests (Makefile.am): Likewise.
80191         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
80192         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
80193         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
80194         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
80195         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
80196         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
80197         * modules/vprintf-posix-tests (Makefile.am): Likewise.
80198         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
80199         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
80200         * modules/xstrtoimax-tests (Makefile.am): Likewise.
80201         * modules/xstrtol-tests (Makefile.am): Likewise.
80202         * modules/xstrtoumax-tests (Makefile.am): Likewise.
80203         * modules/yesno-tests (Makefile.am): Likewise.
80205 2007-10-03  Bruno Haible  <bruno@clisp.org>
80207         * modules/trunc-tests: New file.
80208         * tests/test-trunc.c: New file.
80210         * modules/trunc: New file.
80211         * lib/trunc.c: New file.
80212         * m4/trunc.m4: New file.
80213         * lib/math.in.h (trunc): New declaration.
80214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
80215         HAVE_DECL_TRUNC.
80216         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
80217         HAVE_DECL_TRUNC.
80218         * doc/functions/trunc.texi: Mention the 'trunc' module.
80220 2007-10-03  Bruno Haible  <bruno@clisp.org>
80222         * tests/test-fpending.c: New file, mostly copied
80223         from coreutils/lib/t-fpending.c.
80224         * modules/fpending-tests: New file.
80226 2007-10-03  Bruno Haible  <bruno@clisp.org>
80228         Port the stdio extensions to QNX (untested).
80229         * lib/fseterr.c (fseterr): Add support for QNX.
80230         * lib/fbufmode.c (fbufmode): Likewise.
80231         * lib/freadable.c (freadable): Likewise.
80232         * lib/fwritable.c (fwritable): Likewise.
80233         * lib/freading.c (freading): Likewise.
80234         * lib/fwriting.c (fwriting): Likewise.
80235         * lib/freadahead.c (freadahed): Likewise.
80236         * lib/fpurge.c (fpurge): Likewise.
80237         * lib/fseeko.c (rpl_fseeko): Likewise.
80239 2007-10-03  Bruno Haible  <bruno@clisp.org>
80240             Jim Meyering  <jim@meyering.net>
80241             Eric Blake  <ebb9@byu.net>
80243         * doc/relocatable.texi: Use @command instead of @program.
80245 2007-10-02  Jim Meyering  <jim@meyering.net>
80247         Perform one more "_.h" -> ".in.h" substitution.
80248         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
80249         instead of unistd_.h here, too.
80251 2007-10-01  Bruno Haible  <bruno@clisp.org>
80253         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
80254         Needed for the alloca-opt module.
80256 2007-09-30  Bruno Haible  <bruno@clisp.org>
80258         * lib/alloca.in.h: Renamed from lib/alloca_.h.
80259         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
80260         alloca_.h.
80261         * lib/argz.in.h: Renamed from lib/argz_.h.
80262         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
80263         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
80264         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
80265         byteswap_.h.
80266         * lib/dirent.in.h: Renamed from lib/dirent_.h.
80267         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
80268         dirent_.h.
80269         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
80270         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
80271         fcntl_.h.
80272         * lib/float.in.h: Renamed from lib/float_.h.
80273         * modules/float (Files, Makefile.am): Use float.in.h instead of
80274         float_.h.
80275         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
80276         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
80277         fnmatch_.h.
80278         * lib/getopt.in.h: Renamed from lib/getopt_.h.
80279         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
80280         getopt_.h.
80281         * lib/glob.in.h: Renamed from lib/glob_.h.
80282         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
80283         * lib/iconv.in.h: Renamed from lib/iconv_.h.
80284         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
80285         iconv_.h.
80286         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
80287         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
80288         inttypes_.h.
80289         * lib/locale.in.h: Renamed from lib/locale_.h.
80290         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
80291         locale_.h.
80292         * lib/math.in.h: Renamed from lib/math_.h.
80293         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
80294         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
80295         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
80296         of netinet_in_.h. Add dependency.
80297         * lib/poll.in.h: Renamed from lib/poll_.h.
80298         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
80299         * lib/search.in.h: Renamed from lib/search_.h.
80300         * modules/search (Files, Makefile.am): Use search.in.h instead of
80301         search_.h.
80302         * lib/signal.in.h: Renamed from lib/signal_.h.
80303         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
80304         _signal.h.
80305         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
80306         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
80307         stdbool_.h.
80308         * lib/stdint.in.h: Renamed from lib/stdint_.h.
80309         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
80310         stdint_.h.
80311         * lib/stdio.in.h: Renamed from lib/stdio_.h.
80312         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
80313         stdio_.h.
80314         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
80315         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
80316         stdlib_.h.
80317         * lib/string.in.h: Renamed from lib/string_.h.
80318         * modules/string (Files, Makefile.am): Use string.in.h instead of
80319         string_.h.
80320         * doc/gnulib-tool.texi (Initial import): Update.
80321         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
80322         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
80323         of sys_select_.h. Add dependency.
80324         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
80325         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
80326         of sys_socket_.h.
80327         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
80328         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
80329         sys_stat_.h.
80330         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
80331         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
80332         sys_time_.h.
80333         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
80334         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
80335         sysexits_.h.
80336         * lib/time.in.h: Renamed from lib/time_.h.
80337         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
80338         * lib/unistd.in.h: Renamed from lib/unistd_.h.
80339         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
80340         unistd_.h.
80341         * lib/wchar.in.h: Renamed from lib/wchar_.h.
80342         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
80343         wchar_.h.
80344         * lib/wctype.in.h: Renamed from lib/wctype_.h.
80345         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
80346         wctype_.h.
80347         * build-aux/bootstrap (slurp): Update.
80348         * lib/.cppi-disable: Update.
80350 2007-09-30  Bruno Haible  <bruno@clisp.org>
80352         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
80353         Needed on BeOS.
80355 2007-09-30  Bruno Haible  <bruno@clisp.org>
80357         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
80359 2007-09-29  Bruno Haible  <bruno@clisp.org>
80361         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
80363 2007-09-29  Bruno Haible  <bruno@clisp.org>
80365         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
80366         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
80367         * build-aux/install-reloc: Compile also areadlink.c.
80368         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
80370 2007-09-29  Bruno Haible  <bruno@clisp.org>
80372         * gnulib-tool (func_emit_initmacro_done): Indentation.
80374 2007-09-29  Bruno Haible  <bruno@clisp.org>
80376         * README: Add CVS checkout update instructions.
80377         Info from Bob Proulx <bob@proulx.com>.
80379 2007-09-28  Eric Blake  <ebb9@byu.net>
80381         Provide move-if-change.
80382         * build-aux/move-if-change: New file, based on best practice
80383         rather than any canonical upstream location.
80385 2007-09-28  Jim Meyering  <jim@meyering.net>
80387         Fix canonicalize loop-detection corner case.
80388         Do not attempt to stat the symlink values stored via seen_triple.
80389         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
80390         on linux-2.6.18, (but not 2.6.22).
80391         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
80392         triple_compare.  The former compares dev,ino,filename, while the latter
80393         would actually stat dirname(filename) when dev and ino were equal.
80394         * lib/hash-triple.c: Install <string.h>.
80395         (STREQ): Define.
80396         (triple_compare_ino_str): New function.
80397         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
80399 2007-09-28  Eric Blake  <ebb9@byu.net>
80401         Enforce that AC_REPLACE_FUNCS files exist.
80402         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
80403         override check for typos.
80405         Fix test-closein on Solaris 10.
80406         * tests/test-closein.c (main): Don't assume stdin can be inherited
80407         closed on all systems.
80408         * tests/test-closein.sh: Likewise.
80409         Reported by Piotr Tarnowski.
80411 2007-09-28  Jim Meyering  <jim@meyering.net>
80413         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
80415 2007-09-27  Jim Meyering  <jim@meyering.net>
80417         canonicalize: Avoid a false-positive cycle failure.
80418         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
80419         Sort.  Remove cycle-check.
80420         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
80421         not cycle-check.h.
80422         (seen_triple): New function.
80423         (canonicalize_filename_mode): Use it instead of cycle-check.
80424         * tests/test-canonicalize.c: Add a test for this bug.
80425         * tests/test-canonicalize.sh: Set up and run the test.
80427         New module, file-set, from coreutils.
80428         * modules/file-set: Define it.
80429         * lib/file-set.c, lib/file-set.h: Implement.
80431         New module, hash-triple, from coreutils.
80432         * modules/hash-triple: Define it.
80433         * lib/hash-triple.c, lib/hash-triple.h: Implement.
80435 2007-09-25  Eric Blake  <ebb9@byu.net>
80437         Fix strerror on Interix.
80438         * lib/string_.h (strerror): Declare replacement.
80439         * doc/functions/strerror.texi (strerror): Document the Interix
80440         shortcoming.
80441         * modules/string (Makefile.am): Support new hooks.
80442         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
80443         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
80444         gl_FUNC_STRERROR_SEPARATE.
80445         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
80446         * lib/strerror.c (rpl_strerror): Provide replacement.
80447         * modules/strerror (Depends-on): Add string.
80448         (configure.ac): Detect use of module.
80449         * tests/test-strerror.c: New file.
80450         * modules/strerror-tests: New test module.
80451         * modules/argp (Depends-on): Add strerror.
80452         * modules/error (Depends-on): Likewise.
80453         Reported by Martin Koeppe.
80455 2007-09-24  Bruno Haible  <bruno@clisp.org>
80457         * README: Update git instructions.
80459 2007-09-24  Eric Blake  <ebb9@byu.net>
80461         Revert fpending breakage from 2007-09-08.
80462         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
80463         __fpending.c.
80465 2007-09-24  Jim Meyering  <jim@meyering.net>
80467         filenamecat.c: Add a test.
80468         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
80469         showing how the function works when DIR is the empty string.
80471 2007-09-21  Simon Josefsson  <simon@josefsson.org>
80473         * tests/test-canonicalize.sh: Turn on executable bit.
80475 2007-09-19  Eric Blake  <ebb9@byu.net>
80477         * README: Update CVS instructions.
80479 2007-09-18  Bruno Haible  <bruno@clisp.org>
80481         * modules/areadlink: New file.
80482         * lib/areadlink.h (areadlink): New declaration.
80483         * lib/areadlink.c: New file, based on lib/xreadlink.c.
80485 2007-09-17  Jim Meyering  <jim@meyering.net>
80487         * lib/savewd.c (ESTALE) [!defined]: Define.
80488         Reported to be required on Interix by Martin Koeppe.
80490 2007-09-17  Bruno Haible  <bruno@clisp.org>
80492         * gnulib-tool (func_version): Use $version.
80494 2007-09-16  Bruno Haible  <bruno@clisp.org>
80496         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
80497         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
80498         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
80499         Reported by Greg Schafer <gschafer@zip.com.au>.
80501 2007-09-15  Bruno Haible  <bruno@clisp.org>
80503         * gnulib-tool (sed): Try a little harder to make bash understand the
80504         alias.
80505         Reported by Bruce Korb <bruce.korb@gmail.com>.
80507 2007-09-13  Eric Blake  <ebb9@byu.net>
80509         * ChangeLog: Remove conflict markers.
80511 2007-09-13  Simon Josefsson  <simon@josefsson.org>
80513         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
80514         Reported by Bruno Haible <bruno@clisp.org>.
80516 2007-09-12  Bruno Haible  <bruno@clisp.org>
80518         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
80519         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
80520         is not defined.
80522 2007-09-12  Eric Blake  <ebb9@byu.net>
80524         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
80525         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
80526         Autoconf definition.
80527         * modules/euidaccess (Depends-on): Add extensions, for
80528         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
80529         * modules/fnmatch (Depends-on): Likewise.
80530         * modules/getaddrinfo (Depends-on): Likewise.
80531         * modules/getdelim (Depends-on): Likewise.
80532         * modules/getline (Depends-on): Likewise.
80533         * modules/getsubopt (Depends-on): Likewise.
80534         * modules/gettext (Depends-on): Likewise.
80535         * modules/group-member (Depends-on): Likewise.
80536         * modules/mbchar (Depends-on): Likewise.
80537         * modules/memmem (Depends-on): Likewise.
80538         * modules/mempcpy (Depends-on): Likewise.
80539         * modules/memrchr (Depends-on): Likewise.
80540         * modules/pagealign_alloc (Depends-on): Likewise.
80541         * modules/readutmp (Depends-on): Likewise.
80542         * modules/stpcpy (Depends-on): Likewise.
80543         * modules/stpncpy (Depends-on): Likewise.
80544         * modules/strchrnul (Depends-on): Likewise.
80545         * modules/strndup (Depends-on): Likewise.
80546         * modules/strsep (Depends-on): Likewise.
80547         * modules/strverscmp (Depends-on): Likewise.
80548         * modules/vasprintf (Depends-on): Likewise.
80549         * modules/wcwidth (Depends-on): Likewise.
80550         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
80551         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
80552         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
80553         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
80554         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
80555         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80556         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
80557         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80558         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
80559         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
80560         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
80561         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
80562         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
80563         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
80564         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
80565         * m4/readutmp.m4 (gl_READUTMP): Likewise.
80566         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
80567         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
80568         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
80569         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
80570         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
80571         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
80572         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
80573         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
80574         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
80575         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
80576         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
80577         so that lock.m4 can be used in gettext without extensions module.
80579 2007-09-11  Bruno Haible  <bruno@clisp.org>
80581         * m4/isc-posix.m4: Remove file.
80582         Suggested by Eric Blake.
80584 2007-09-11  Eric Blake  <ebb9@byu.net>
80586         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
80588 2007-09-10  Bruno Haible  <bruno@clisp.org>
80590         * posix-modules: Fix typo in error message.
80591         Reported by Matt <mkraai@beckman.com>.
80593 2007-09-09  Bruno Haible  <bruno@clisp.org>
80595         * doc/functions/getdelim.texi: Update list of platforms lacking the
80596         function.
80597         * doc/functions/getline.texi: Likewise.
80599 2007-09-09  Jim Meyering  <jim@meyering.net>
80601         * lib/hash.c (hash_initialize): Detect calloc failure.
80602         Reported by Bruno Haible.
80604 2007-09-09  Bruno Haible  <bruno@clisp.org>
80606         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
80607         malloc or realloc fails.
80609 2007-09-09  Bruno Haible  <bruno@clisp.org>
80611         * modules/getcwd (Depends-on): Add malloc-posix.
80612         * modules/glob (Depends-on): Likewise.
80613         * modules/putenv (Depends-on): Likewise.
80614         * modules/strdup (Depends-on): Likewise.
80615         * modules/getdelim (Depends-on): Add realloc-posix.
80616         * modules/read-file (Depends-on): Likewise.
80618 2007-09-09  Bruno Haible  <bruno@clisp.org>
80620         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
80621         (gl_FUNC_MALLOC_POSIX): Require it.
80622         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
80623         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
80624         * modules/realloc (Files): Add m4/malloc.m4.
80625         * modules/calloc (Files): Likewise.
80627 2007-09-09  Bruno Haible  <bruno@clisp.org>
80629         * modules/malloc-posix: New file.
80630         * modules/malloc (Depends-on): Add malloc-posix.
80631         * lib/malloc.c: Include errno.h.
80632         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
80633         and a POSIX-compatible malloc into a single function. Set ENOMEM
80634         when returning NULL.
80635         * m4/malloc.m4: New file.
80636         * doc/functions/malloc.texi: Mention the malloc-posix module.
80637         * lib/stdlib_.h (malloc): New declaration.
80638         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
80639         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
80640         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
80641         and HAVE_MALLOC_POSIX.
80643 2007-09-09  Bruno Haible  <bruno@clisp.org>
80645         * modules/realloc-posix: New file.
80646         * modules/realloc (Depends-on): Add realloc-posix.
80647         * lib/realloc.c: Include errno.h.
80648         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
80649         and a POSIX-compatible realloc into a single function. Set ENOMEM
80650         when returning NULL.
80651         * m4/realloc.m4: New file.
80652         * doc/functions/realloc.texi: Mention the realloc-posix module.
80653         * lib/stdlib_.h (realloc): New declaration.
80654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
80655         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
80656         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
80657         and HAVE_REALLOC_POSIX.
80659 2007-09-09  Bruno Haible  <bruno@clisp.org>
80661         * modules/calloc-posix: New file.
80662         * modules/calloc (Depends-on): Add calloc-posix.
80663         * lib/calloc.c: Include errno.h.
80664         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
80665         and a POSIX-compatible calloc into a single function. Set ENOMEM
80666         when returning NULL.
80667         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
80668         * doc/functions/calloc.texi: Mention the calloc-posix module.
80669         * lib/stdlib_.h (calloc): New declaration.
80670         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
80671         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
80672         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
80673         and HAVE_CALLOC_POSIX.
80675 2007-09-09  Bruno Haible  <bruno@clisp.org>
80677         Allow for modules to show an arbitrary notice.
80678         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
80679         * gnulib-tool: New option --extract-notice.
80680         (func_usage): Document it.
80681         (sed_extract_prog): Update.
80682         (func_get_notice): New function.
80683         (func_modules_notice): New function.
80684         (func_import, func_create_testdir): Invoke it.
80685         Suggested by Jim Meyering.
80687 2007-09-09  Bruno Haible  <bruno@clisp.org>
80689         * gnulib-tool: New options --verbose, --quiet.
80690         (func_usage): Document them.
80691         (verbose): New variable.
80692         (func_execute_command): New function.
80693         (func_import): Don't show the module list and the file list if
80694         $verbose < 0.
80695         (func_create_testdir): Likewise. Use func_execute_command.
80696         (func_create_megatestdir): Use func_execute_command.
80698 2007-09-08  Bruno Haible  <bruno@clisp.org>
80700         * gnulib-tool (func_import): Prefer rsync over wget when available,
80701         for fetching the PO files.
80703 2007-09-08  Bruno Haible  <bruno@clisp.org>
80705         * posix-modules: New file. Portions copied from gnulib-tool.
80706         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
80708 2007-09-08  Jim Meyering  <jim@meyering.net>
80710         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
80711         * lib/fpending.h: Rename from __fpending.h.
80712         * lib/fpending.c: Rename from __fpending.c.
80713         Include "fpending.h", not "__fpending.h".
80714         * lib/__fpending.h, lib/__fpending.c: Remove files.
80715         * modules/fpending (Files): Reflect new file names.
80716         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
80718 2007-09-08  Bruno Haible  <bruno@clisp.org>
80720         * m4/inttypes-h.m4: Remove stub file.
80722 2007-09-07  Simon Josefsson  <simon@josefsson.org>
80724         * doc/headers/stdint.texi: Discuss #include_next issue.
80726 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80728         * build-aux/bootstrap: Remove obsolete comment about wget --help.
80730 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80732         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
80733         in variable name.
80735 2007-09-03  Jim Meyering  <jim@meyering.net>
80737         New module: git-version-gen.
80738         * modules/git-version-gen: New file.
80740         Import changes from coreutils for bootstrap script.
80742         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
80744         bootstrap: uses rsync to download the .po files
80745         * build-aux/bootstrap (po_download_command_format): New global.
80746         (download_po_files): Use rsync.
80747         (update_po_files): Don't remove .po files after download,
80748         so future rsync runs can take advantage of the copies.
80750         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
80752         Solve the unnecessary-.po-file-regeneration problem once and for all.
80753         * build-aux/bootstrap (download_po_files): New function, renamed from
80754         get_translations.  Now, downloads, but doesn't update LINGUAS.
80755         (update_po_files): New function.
80757         bootstrap: Ignore more.
80758         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
80759         uniwidth to e.g., lib/.gitignore.
80760         (slurp): Handle the sys_stat_.h -> sys mapping, too.
80762         * build-aux/bootstrap: New setting: vc_ignore.
80763         (insert_sorted_if_absent): Create $file if absent.
80764         Adapt to new, possibly empty, list: $vc_ignore.
80766         bootstrap: generate more ignorable names
80767         * build-aux/bootstrap (slurp): When generating ignorable names,
80768         also map .sin to .sed, .gperf to .c, and .y to .c.
80770 2007-09-03  Jim Meyering  <jim@meyering.net>
80772         * build-aux/git-version-gen: New file, from coreutils.  For details, see
80773         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
80775 2007-09-02  Bruno Haible  <bruno@clisp.org>
80777         Fix mis-recognition of 'mcs' on QNX 6.
80778         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
80779         output contains the string "Mono".
80780         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
80781         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
80783 2007-09-01  Bruno Haible  <bruno@clisp.org>
80785         Fix collision between uniwidth/* and linebreak modules.
80786         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
80787         u32_width): Remove declarations.
80788         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
80789         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
80790         streq3, streq2, streq1, streq0): Remove functions.
80791         (STREQ): Remove macro.
80792         (is_cjk_encoding): Remove function.
80793         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
80794         (uc_width, u8_width, u16_width, u32_width): Remove functions.
80795         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
80796         * NEWS: Document the change.
80798 2007-09-01  Bruno Haible  <bruno@clisp.org>
80800         * lib/streq.h: Add double-inclusion guard.
80802 2007-09-01  Karl Berry  <karl@gnu.org>
80804         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
80806 2007-08-28  Jim Meyering  <jim@meyering.net>
80808         Rename mreadlink_with_size to areadlink_with_size.
80809         * NEWS: Document the change.
80810         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
80811         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
80812         * lib/mreadlink.h: Rename this to...
80813         * lib/areadlink.h: ...this.
80814         * modules/mreadlink-with-size: Rename this to...
80815         * modules/areadlink-with-size: ...this.
80816         * lib/canonicalize.c: Reflect the renaming.
80817         * modules/canonicalize: Likewise.
80819 2007-08-26  Bruno Haible  <bruno@clisp.org>
80821         * gnulib-tool (func_import): When deciding which files to remove,
80822         consider also dangling symbolic links.
80823         Reported by Eric Blake.
80825 2007-08-26  Bruno Haible  <bruno@clisp.org>
80827         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
80829 2007-08-23  Simon Josefsson  <simon@josefsson.org>
80831         * lib/readline.c: Don't include getline.h, the prototype is now
80832         found in stdio.h.
80834 2007-08-23  Jim Meyering  <jim@meyering.net>
80836         Getdelim touchup.
80837         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
80838         around the funlockfile call, since funlockfile never sets errno.
80839         Don't set errno upon failed realloc.
80841 2007-08-22  Eric Blake  <ebb9@byu.net>
80843         Getline touchups.
80844         * lib/getdelim.c (getdelim): Revert regression that required *n to
80845         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
80846         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
80847         getdelim, rather than whether implementation is missing.
80848         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
80849         * lib/stdio_.h (getline): Also declare if replacement is
80850         required.
80851         * doc/functions/getdelim.texi: New file.
80852         * doc/functions/getline.texi: Likewise.
80853         * doc/gnulib.texi (Function Substitutes): Add new files.
80854         Reported by Bruno Haible.
80856 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
80858         * users.txt: Add Guile.
80860 2007-08-22  Eric Blake  <ebb9@byu.net>
80862         * tests/test-getdelim.c (main): Use remove, not unlink.
80863         * tests/test-getline.c (main): Likewise.
80865         Move getline and getdelim into stdio.h, per POSIX 200x.
80866         * modules/getline (Files): Remove getline.h.
80867         (Depends-on): Add stdio.
80868         (configure.ac): Add module indicator.
80869         * modules/getdelim (Files): Remove getdelim.h.
80870         (Depends-on): Add stdio.
80871         (configure.ac): Add module indicator.
80872         * modules/stdio (Makefile.am): Work with new indicators.
80873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80874         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
80875         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80876         * lib/getdelim.h: Delete.
80877         * lib/getline.h: Delete.
80878         * lib/stdio_.h (getdelim, getline): Declare.
80879         * modules/getdelim-tests: New module.
80880         * modules/getline-tests: Likewise.
80881         * tests/test-getdelim.c: New file.
80882         * tests/test-getline.c: Likewise.
80883         * NEWS: Document the change.
80884         * lib/getline.c: Update choice of header.
80885         * lib/csharpcomp.c: Likewise.
80886         * lib/getpass.c: Likewise.
80887         * lib/javacomp.c: Likewise.
80888         * lib/javaversion.c: Likewise.
80889         * lib/yesno.c: Likewise.
80890         * lib/getdelim.c: Likewise.
80891         (getdelim): Set errno on failure, and avoid memory leak.
80893 2007-08-19  Bruno Haible  <bruno@clisp.org>
80895         * modules/closein (Depends-on): Add freadahead.
80896         * lib/closein.c: Include freadahead.h.
80897         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
80898         is zero.
80900 2007-08-19  Bruno Haible  <bruno@clisp.org>
80902         * modules/freadahead-tests: New file.
80903         * tests/test-freadahead.sh: New file.
80904         * tests/test-freadahead.c: New file.
80906         * modules/freadahead: New file.
80907         * lib/freadahead.h: New file.
80908         * lib/freadahead.c: New file.
80909         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
80910         fbufmode, fpurge, freadable, fwritable.
80912 2007-08-19  Eric Blake  <ebb9@byu.net>
80914         Test yesno in combination with closein.
80915         * lib/yesno.c (yesno): Document use of stdin.
80916         * modules/yesno-tests (Files): New module.
80917         * tests/test-yesno.c (main): New file.
80918         * tests/test-yesno.sh: Likewise.
80920 2007-08-19  Bruno Haible  <bruno@clisp.org>
80922         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
80923         * lib/fseeko.c (rpl_fseeko): Likewise.
80924         * lib/fseterr.c (fseterr): Likewise.
80926 2007-08-19  Bruno Haible  <bruno@clisp.org>
80928         * tests/test-lseek.c (main): Disable a test for BeOS.
80929         * doc/functions/lseek.texi: Document the BeOS bug.
80931 2007-08-19  Bruno Haible  <bruno@clisp.org>
80932             Eric Blake  <ebb9@byu.net>
80934         * lib/lseek.c: Include <sys/stat.h>.
80935         (rpl_lseek): Add workaround code also for Unix platforms.
80936         Needed for BeOS.
80937         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
80938         * doc/functions/lseek.texi: Document BeOS definiency.
80940 2007-08-18  Bruno Haible  <bruno@clisp.org>
80942         * modules/fstrcmp-tests: New file.
80943         * tests/test-fstrcmp.c: New file.
80945 2007-08-18  Bruno Haible  <bruno@clisp.org>
80947         * modules/fstrcmp: New file, from GNU gettext with modifications.
80948         * lib/fstrcmp.h: New file, from GNU gettext.
80949         * lib/fstrcmp.c: New file, from GNU gettext.
80950         * MODULES.html.sh (String handling): Add fstrcmp.
80952 2007-08-18  Bruno Haible  <bruno@clisp.org>
80954         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
80955         'bool'.
80956         (diag, compareseq): Remove const from the ctxt argument.
80957         (USE_HEURISTIC): Undefine at the end.
80959 2007-08-18  Jim Meyering  <jim@meyering.net>
80961         New file: lib/idcache.h
80962         * NEWS: Mention the addition.
80963         * modules/idcache (Files): Add lib/idcache.h
80964         * lib/idcache.c: Include "idcache.h".
80965         Don't include <sys/types.h>.
80966         Add a FIXME comment.
80967         Move file-scoped "static" declarations to the top.
80968         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
80970 2007-08-17  Bruno Haible  <bruno@clisp.org>
80971         and Paul Eggert  <eggert@cs.ucla.edu>
80973         * MODULES.html.sh: Add diffseq.
80974         * modules/diffseq: New file.
80975         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
80976         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
80978 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80980         Import changes from coreutils for bootstrap script.
80982         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
80984         * build-aux/bootstrap (slurp): Work even in environments where
80985         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
80986         current code does not slurp files whose names start with ".", and
80987         this looks like it might be a troublesome area.
80989         2007-07-11  Jim Meyering  <jim@meyering.net>
80991         If there's a GPL vN copyright comment, require that N == 3.
80993         2007-07-08  Jim Meyering  <jim@meyering.net>
80995         Run the coreutils-specific code only if tests/Makefile.am.in exists.
80996         * build-aux/bootstrap (mam_template): Move definition out of loop.
80998         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
81000         * build-aux/bootstrap (symlink_to_dir): Rename function from
81001         symlink_to_gnulib.  Add a directory parameter.  Update all
81002         callers.
81003         (cp_mark_as_generated): Also check for -- and link to -- files in
81004         gl/.
81006         2007-07-08  Jim Meyering  <jim@meyering.net>
81008         Adapt to deeper hierarchy in gnulib.
81009         * build-aux/bootstrap (symlink_to_dir): If the destination
81010         directory doesn't exist, create it. This is required at least for
81011         "lib/uniwidth/cjk.h".
81013         2007-05-15  Jim Meyering  <jim@meyering.net>
81015         * build-aux/bootstrap: Now that generated Makefile.am files
81016         are no longer under version control, they must be created at
81017         bootstrap time.
81019 2007-08-14  Ben Pfaff  <blp@gnu.org>
81021         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
81023 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
81025         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
81026         given the changes below.
81027         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
81028         even on hosts that have padding bits beyond the supported 64.
81030 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
81032         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
81033         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
81034         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
81035         depends on it.
81036         (xstrtol_error): Remove.
81037         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
81038         but with a different signature.
81039         (ATTRIBUTE_NORETURN, __attribute__): New macros.
81040         * lib/xstrtol-error.c: Include exitfail.h.
81041         (xstrtol_fatal): New function, with a different signature from the
81042         old xstrtol_error, so that the caller need not worry about passing
81043         in an exit status, or about storage management of the option argument.
81044         (xstrtol_error): Now a static function.  Redo signature to
81045         implement xstrtol_fatal.  Output the correct number of hyphens in
81046         front of the option so that the caller need not worry about
81047         storage management.
81048         (N_): New macro.
81049         (_): Remove; not used now.
81050         * modules/xstrtol: Depend on getopt.
81051         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
81052         of old STRTOL_FATAL_ERROR macro.
81053         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
81054         of test program.
81055         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
81056         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
81058 2007-08-08  Eric Blake  <ebb9@byu.net>
81060         * lib/xstrtol-error.c: Add missing include.
81062         Move xstrtol messages into gnulib domain, when --pobase is used.
81063         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
81064         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
81065         * modules/xstrtol (Files): Distribute new file.
81066         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
81067         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
81068         * tests/test-xstrtol.c: ...into new file.
81069         * tests/test-xstrtoul.c: Also test xstrtoul.
81070         * tests/test-xstrtoimax.c: Also test xstrtoimax.
81071         * tests/test-xstrtoumax.c: Also test xstrtoumax.
81072         * tests/test-xstrtol.sh: Drive the tests.
81073         * tests/test-xstrtoimax.sh: Likewise.
81074         * tests/test-xstrtoumax.sh: Likewise.
81075         * modules/xstrtol-tests: New module.
81076         * modules/xstrtoimax-tests: Likewise.
81077         * modules/xstrtoumax-tests: Likewise.
81079 2007-08-08  Jim Meyering  <jim@meyering.net>
81081         New function: mfile_name_concat.
81082         * lib/filenamecat.c (mfile_name_concat): New function, just like
81083         file_name_concat, but return NULL upon failure rather than exiting
81084         with a diagnostic.
81085         * lib/filenamecat.h: Declare it.
81087 2007-08-07  Bruno Haible  <bruno@clisp.org>
81089         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
81090         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
81091         warning from gcc.
81092         Reported by Eric Blake.
81094 2007-08-07  Simon Josefsson  <simon@josefsson.org>
81096         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
81097         * modules/crypto/arcfour (License): Likewise.
81098         * modules/crypto/des-tests (License): Likewise.
81099         * modules/crypto/gc-arctwo-tests (License): Likewise.
81100         * modules/crypto/gc-des-tests (License): Likewise.
81101         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
81102         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
81103         * modules/crypto/gc-md2-tests (License): Likewise.
81104         * modules/crypto/gc-md4-tests (License): Likewise.
81105         * modules/crypto/gc-md5-tests (License): Likewise.
81106         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
81107         * modules/crypto/gc-rijndael-tests (License): Likewise.
81108         * modules/crypto/gc-sha1-tests (License): Likewise.
81109         * modules/crypto/gc-tests (License): Likewise.
81110         * modules/crypto/hmac-md5 (License): Likewise.
81111         * modules/crypto/hmac-sha1 (License): Likewise.
81112         * modules/crypto/md2-tests (License): Likewise.
81113         * modules/crypto/md4-tests (License): Likewise.
81114         * modules/crypto/md5 (License): Likewise.
81115         * modules/crypto/rijndael (License): Likewise.
81116         * modules/crypto/sha1 (License): Likewise.
81117         * modules/memxor (License): Likewise.
81119 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
81120         and Bruno Haible  <bruno@clisp.org>
81122         * NEWS: Describe interface changes to human, xstrtol.
81123         * lib/human.h: Include <xstrtol.h>.
81124         (human_options): Return enum strtol_error, not int.  Remove
81125         bool arg; take int * instead.
81126         * lib/human.c: Don't include "gettext.h".
81127         (_): Remove; no longer used.
81128         Don't include <xstrtol.h>, since human.h does it.
81129         (human_options): Adjust to abovementioned interface changes.
81130         Do not report error to stderr; that's now the caller's
81131         responsibility.
81132         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
81133         interface change.
81134         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
81135         Str, Argument_type_string.  All uses changed.  Put " argument"
81136         in diagnostics to make them clearer.  Change wording of suffix
81137         message for clarity.
81138         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
81139         Argument_type_string.
81140         (STRTOL_FATAL_WARN): Remove; no longer used.
81141         * modules/human (Depends-on): Remove gettext-h.
81143 2007-08-06  Simon Josefsson  <simon@josefsson.org>
81145         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
81147 2007-07-31  Bruno Haible  <bruno@clisp.org>
81149         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
81150         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
81151         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
81153 2007-07-31  Bruno Haible  <bruno@clisp.org>
81155         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
81156         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
81158 2007-07-30  Bruno Haible  <bruno@clisp.org>
81160         * modules/base64 (License): Use the synonymous term "LGPLv2+".
81161         * modules/c-ctype (License): Likewise.
81162         * modules/c-strcase (License): Likewise.
81163         * modules/check-version (License): Likewise.
81164         * modules/iconv (License): Likewise.
81165         * modules/iconv_open (License): Likewise.
81166         * modules/read-file (License): Likewise.
81167         * modules/striconv (License): Likewise.
81168         * modules/strverscmp (License): Likewise.
81169         * modules/vasprintf (License): Likewise.
81170         * modules/crypto/des (License): Likewise.
81171         * modules/crypto/gc (License): Likewise.
81172         * modules/crypto/gc-arcfour (License): Likewise.
81173         * modules/crypto/gc-arctwo (License): Likewise.
81174         * modules/crypto/gc-des (License): Likewise.
81175         * modules/crypto/gc-hmac-md5 (License): Likewise.
81176         * modules/crypto/gc-hmac-sha1 (License): Likewise.
81177         * modules/crypto/gc-md2 (License): Likewise.
81178         * modules/crypto/gc-md4 (License): Likewise.
81179         * modules/crypto/gc-md5 (License): Likewise.
81180         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
81181         * modules/crypto/gc-random (License): Likewise.
81182         * modules/crypto/gc-rijndael (License): Likewise.
81183         * modules/crypto/gc-sha1 (License): Likewise.
81184         * modules/crypto/md2 (License): Likewise.
81185         * modules/crypto/md4 (License): Likewise.
81187 2007-07-30  Jim Meyering  <jim@meyering.net>
81189         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
81190         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
81191         it has valid stat data.  This bug would cause du not to count the
81192         sizes of inaccessible directories.
81193         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
81194         in <http://bugzilla.redhat.com/250077>.
81196 2007-07-25  Peter O'Gorman  <peter@pogma.com>
81197             Bruno Haible  <bruno@clisp.org>
81199         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
81200         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
81201         #include_next, gives a diagnostic about it, but reports no error in
81202         the exit code.
81203         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
81205 2007-07-24  Ben Pfaff  <blp@gnu.org>
81207         Improve name: "count-one-bits" is better than "popcount".
81208         * MODULES.html.sh: Update name.
81209         * lib/popcount.h: Renamed lib/count-one-bits.h.
81210         (popcount): Renamed count_one_bits.
81211         (popcountl): Renamed count_one_bits_l.
81212         (popcountll): Renamed count_one_bits_ll.
81213         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
81214         * modules/popcount: Renamed module/count-one-bits.
81215         * modules/popcount-tests: Renamed module/count-one-bits-tests.
81216         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
81218 2007-07-23  Ben Pfaff  <blp@gnu.org>
81220         * lib/popcount.h (popcount32): Reduce size of constants, to allow
81221         better code generation, and add U to large constants to avoid
81222         warnings, in non-GCC case.
81223         Suggested by Bruno Haible.
81225 2007-07-23  Ben Pfaff  <blp@gnu.org>
81227         * lib/popcount.h: Use verify_true instead of if...abort.
81228         * modules/popcount: Depend on verify module.
81229         Suggested by Jim Meyering.
81231 2007-07-23  Bruno Haible  <bruno@clisp.org>
81233         * gnulib-tool (func_import): Create a .cvsignore file also when the
81234         directory is not yet in CVS but the toplevel directory is. When
81235         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
81236         Reported by Karl Berry.
81238 2007-07-22  Ben Pfaff  <blp@gnu.org>
81240         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
81241         case.
81242         Suggested by Eric Blake.
81244 2007-07-22  Ben Pfaff  <blp@gnu.org>
81246         New module: popcount.
81247         * MODULES.html.sh: Add popcount.
81248         * modules/popcount: New file.
81249         * modules/popcount-tests: New file.
81250         * tests/test-popcount.c: New file.
81251         * lib/popcount.h: New file.
81252         * m4/popcount.m4: New file.
81254 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
81256         * build-aux/announce-gen: Update to GPLv3.
81258         * build-aux/config.guess: Update from config.
81260 2007-07-21  Bruno Haible  <bruno@clisp.org>
81262         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
81263         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
81265 2007-07-20  Jim Meyering  <jim@meyering.net>
81267         * check-module: Diagnose a self-dependency.
81269 2007-07-19  Bruno Haible  <bruno@clisp.org>
81271         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
81272         empty.
81273         Reported by Eric Blake.
81275 2007-07-18  Bruno Haible  <bruno@clisp.org>
81277         * gnulib-tool: New options --po-base, --po-domain.
81278         (func_usage): Document them.
81279         (pobase, po_domain): New variables.
81280         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
81281         DEFAULT_TEXT_DOMAIN.
81282         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
81283         (func_import): Consider pobase and po_domain. Create a po/ directory.
81284         (func_create_testdir): Set pobase and po_domain to empty.
81285         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
81286         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
81288 2007-07-18  Bruno Haible  <bruno@clisp.org>
81290         * gnulib-tool (func_get_automake_snippet): Synthesize also an
81291         EXTRA_DIST augmentation for files in build-aux/.
81293 2007-07-16  Bruno Haible  <bruno@clisp.org>
81295         * modules/lseek (License): Use the synonymous term "LGPLv2+".
81296         * modules/getdelim (License): Likewise.
81298 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81300         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
81301         * modules/d-type (License): Likewise.
81302         * modules/extensions (License): Likewise.
81303         * modules/fnmatch (License): Likewise.
81304         * modules/fseeko (License): Likewise.
81305         * modules/getaddrinfo (License): Likewise.
81306         * modules/getline (License): Likewise.
81307         * modules/getlogin_r (License): Likewise.
81308         * modules/getpass (License): Likewise.
81309         * modules/gettimeofday (License): Likewise.
81310         * modules/glob (License): Likewise.
81311         * modules/inet_ntop (License): Likewise.
81312         * modules/malloc (License): Likewise.
81313         * modules/malloca (License): Likewise.
81314         * modules/memmem (License): Likewise.
81315         * modules/mempcpy (License): Likewise.
81316         * modules/memset (License): Likewise.
81317         * modules/minmax (License): Likewise.
81318         * modules/mktime (License): Likewise.
81319         * modules/netinet_in (License): Likewise.
81320         * modules/pathmax (License): Likewise.
81321         * modules/poll (License): Likewise.
81322         * modules/regex (License): Likewise.
81323         * modules/snprintf (License): Likewise.
81324         * modules/stdbool (License): Likewise.
81325         * modules/stdint (License): Likewise.
81326         * modules/stdio (License): Likewise.
81327         * modules/strcase (License): Likewise.
81328         * modules/strcasestr (License): Likewise.
81329         * modules/strdup (License): Likewise.
81330         * modules/string (License): Likewise.
81331         * modules/strndup (License): Likewise.
81332         * modules/strnlen (License): Likewise.
81333         * modules/strpbrk (License): Likewise.
81334         * modules/strptime (License): Likewise.
81335         * modules/strsep (License): Likewise.
81336         * modules/sys_select (License): Likewise.
81337         * modules/sys_socket (License): Likewise.
81338         * modules/sys_stat (License): Likewise.
81339         * modules/sys_time (License): Likewise.
81340         * modules/time (License): Likewise.
81341         * modules/time_r (License): Likewise.
81342         * modules/timegm (License): Likewise.
81343         * modules/unistd (License): Likewise.
81344         * modules/vsnprintf (License): Likewise.
81345         * modules/wctype (License): Likewise.
81347 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81349         * modules/argz (License): LGPLv2+.
81351 2007-07-15  Karl Berry  <karl@gnu.org>
81353         * doc/gnulib.texi: revise node structure per new fdl.texi.
81355 2007-07-14  Bruno Haible  <bruno@clisp.org>
81357         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
81358         the output file.
81359         * lib/uniname/uninames.h: Regenerated.
81361 2007-07-14  Karl Berry  <karl@gnu.org>
81363         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
81364         omitting sectioning and index commands.
81366 2007-07-13  Bruno Haible  <bruno@clisp.org>
81368         New gnulib-tool option --more-symlinks.
81369         * gnulib-tool (func_usage): Document --more-symlinks.
81370         (do_copyrights): New variable.
81371         Recognize option --more-symlinks.
81372         (func_import): Don't add a copyright notice transform to
81373         sed_transform_lib_file if do_copyrights is empty.
81375 2007-07-13  Bruno Haible  <bruno@clisp.org>
81377         * lib/vasnprintf.c (decimal_point_char): Define also if
81378         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
81379         && !NEED_PRINTF_DIRECTIVE_A.
81380         Reported by Clemens Koller <clemens.koller@anagramm.de> via
81381         Gary V. Vaughan <gary@gnu.org>.
81383 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
81385         * lib/inttypes_.h: Undo previous change, since it was fixed
81386         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
81388 2007-07-13  Bruno Haible  <bruno@clisp.org>
81390         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
81391         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
81393 2007-07-13  Jim Meyering  <jim@meyering.net>
81395         df: Don't fail for Tru64's "file-on-file mount".
81396         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
81397         so we fall through and use statfs instead.  Details here:
81398         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
81399         Reported by Albert Chin.
81401 2007-07-13  Bruno Haible  <bruno@clisp.org>
81403         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
81404         * modules/configmake (License): Likewise.
81405         * modules/gettext (License): Likewise.
81406         * modules/gettext-h (License): Likewise.
81407         * modules/include_next (License): Likewise.
81408         * modules/link-warning (License): Likewise.
81409         * modules/localcharset (License): Likewise.
81410         * modules/localename (License): Likewise.
81411         * modules/lock (License): Likewise.
81412         * modules/relocatable-lib-lgpl (License): Likewise.
81413         * modules/size_max (License): Likewise.
81414         * modules/vasnprintf (License): Likewise.
81415         * modules/wchar (License): Likewise.
81416         * modules/xsize (License): Likewise.
81418 2007-07-13  Bruno Haible  <bruno@clisp.org>
81420         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
81421         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
81423 2007-07-12  Bruno Haible  <bruno@clisp.org>
81425         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
81426         in the modules files.
81428 2007-07-11  Karl Berry  <karl@gnu.org>
81430         * MODULES.html.sh (func_module): use
81431          sed -e '\|^'"${includefile}"'$|d'
81432          instead of /.../d, to avoid errors on $includefile's containing /.
81434 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
81436         * gnulib-tool (func_import): Avoid duplication of --avoid
81437         statements
81438         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
81439         names to `_' in variable names.
81441 2007-07-10  Eric Blake  <ebb9@byu.net>
81443         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
81444         * NEWS: Document this change.
81446 2007-07-08  Bruno Haible  <bruno@clisp.org>
81448         Update to Unicode 5.0.
81449         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
81450         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
81451         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
81452         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
81453         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
81454         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
81455         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
81456         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
81457         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
81458         U+10A3F, U+1D242..U+1D244.
81459         (nonspacing_table_ind): Update.
81460         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
81461         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
81463 2007-07-08  Bruno Haible  <bruno@clisp.org>
81465         Update to Unicode 5.0.
81466         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
81467         code transform. Extend the name index field of unicode_name_to_code and
81468         unicode_code_to_name from 16 to 24 bits.
81469         * lib/uniname/uniname.c (unicode_character_name,
81470         unicode_name_character): Add the range 0x12xxx to the code transform.
81471         * lib/uniname/uninames.h: Regenerated.
81472         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
81474 2007-07-07  Bruno Haible  <bruno@clisp.org>
81476         * modules/wcwidth-tests: New file.
81477         * tests/test-wcwidth.c: New file.
81479         Work around MacOS X wcwidth() bug.
81480         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
81481         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
81482         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
81483         original wcwidth in non-UTF-8 locales.
81484         * modules/wcwidth (Depends-on): Add localcharset, streq,
81485         uniwidth/width.
81486         * doc/functions/wcwidth.texi: Update.
81488 2007-07-07  Bruno Haible  <bruno@clisp.org>
81490         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
81491         (wcwidth): New declaration.
81492         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
81493         macros.
81494         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
81495         here. Prepare for creating <wchar.h> unconditionally.
81496         * modules/wchar (Depends-on): Add link-warning.
81497         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
81498         REPLACE_WCWIDTH, and GL_LINK_WARNING.
81499         * lib/wcwidth.h: Remove file.
81500         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
81501         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
81502         * modules/wcwidth (Files): Remove lib/wcwidth.h.
81503         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
81504         (Include): Replace wcwidth.h with <wchar.h>.
81505         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
81506         * lib/mbchar.h: Don't include wcwidth.h.
81507         * lib/mbswidth.c: Likewise.
81508         * NEWS: Mention the change.
81510 2007-07-07  Bruno Haible  <bruno@clisp.org>
81512         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
81513         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
81514         definition with an external declaration.
81515         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
81516         defined as a function. Remove AC_C_INLINE requirement.
81517         * modules/wcwidth (Files): Add lib/wcwidth.c.
81518         (Makefile.am): Remove redundant statement.
81520 2007-07-07  Bruno Haible  <bruno@clisp.org>
81522         * MODULES.html.sh (Unicode string functions): Add the new modules.
81524         * tests/uniwidth/test-u32-strwidth.c: New file.
81525         * modules/uniwidth/u32-strwidth-tests: New file.
81527         * lib/uniwidth/u32-strwidth.c: New file.
81528         * modules/uniwidth/u32-strwidth: New file.
81530         * tests/uniwidth/test-u16-strwidth.c: New file.
81531         * modules/uniwidth/u16-strwidth-tests: New file.
81533         * lib/uniwidth/u16-strwidth.c: New file.
81534         * modules/uniwidth/u16-strwidth: New file.
81536         * tests/uniwidth/test-u8-strwidth.c: New file.
81537         * modules/uniwidth/u8-strwidth-tests: New file.
81539         * lib/uniwidth/u8-strwidth.c: New file.
81540         * modules/uniwidth/u8-strwidth: New file.
81542         * tests/uniwidth/test-u32-width.c: New file.
81543         * modules/uniwidth/u32-width-tests: New file.
81545         * lib/uniwidth/u32-width.c: New file.
81546         * modules/uniwidth/u32-width: New file.
81548         * tests/uniwidth/test-u16-width.c: New file.
81549         * modules/uniwidth/u16-width-tests: New file.
81551         * lib/uniwidth/u16-width.c: New file.
81552         * modules/uniwidth/u16-width: New file.
81554         * tests/uniwidth/test-u8-width.c: New file.
81555         * modules/uniwidth/u8-width-tests: New file.
81557         * lib/uniwidth/u8-width.c: New file.
81558         * modules/uniwidth/u8-width: New file.
81560         * tests/uniwidth/test-uc_width.c: New file.
81561         * modules/uniwidth/width-tests: New file.
81563         * lib/uniwidth/width.c: New file, from GNU libiconv.
81564         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
81565         * modules/uniwidth/width: New file.
81567         * lib/uniwidth.h: New file, from GNU libiconv.
81568         * modules/uniwidth/base: New file.
81570 2007-07-07  Bruno Haible  <bruno@clisp.org>
81572         * lib/uniname.h: New file, from GNU gettext.
81573         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
81574         * lib/uniname/uninames.h: New file, from GNU gettext.
81575         * lib/uniname/uniname.c: New file, from GNU gettext.
81576         * tests/uniname/test-uninames.sh: New file.
81577         * tests/uniname/test-uninames.c: New file, from GNU gettext.
81578         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
81579         * modules/uniname/base: New file.
81580         * modules/uniname/uniname: New file.
81581         * modules/uniname/uniname-tests: New file.
81582         * MODULES.html.sh (Unicode string functions): Add the new modules.
81584 2007-07-06  Bruno Haible  <bruno@clisp.org>
81586         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
81588 2007-07-06  Bruno Haible  <bruno@clisp.org>
81590         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
81591         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
81592         includes <cygwin/sys_time.h> which includes <sys/select.h> which
81593         include <sys/time.h>.
81594         Reported by Eric Blake.
81596 2007-07-06  Eric Blake  <ebb9@byu.net>
81598         Fix testing canonicalize on cygwin.
81599         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
81600         Revert patch from 2007-06-19.
81601         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
81602         canonicalize module is also in use.
81603         * tests/test-canonicalize.c: New file.
81604         * tests/test-canonicalize.sh: Likewise.
81605         * modules/canonicalize-tests: Likewise.
81607 2007-07-06  Jim Meyering  <jim@meyering.net>
81609         * lib/getugroups.c (getugroups): Detect getgrent failure.
81610         Adjust comment to reflect reality: this function may return -1.
81612 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
81614         * build-aux/bootstrap (TP_URL,get_translations): Update to use
81615         the new TP address.
81616         (usage): Fix typo
81617         (gnulib_mk): New variable.
81619 2007-07-05  Jim Meyering  <jim@meyering.net>
81621         Don't let endgrent clobber errno, no matter how improbable.
81622         * lib/getugroups.c (getugroups): Save and restore errno around
81623         endgrent call.
81625         Close the group DB even when failing with 2^31 or more members.
81626         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
81628 2007-07-04  Jim Meyering  <jim@meyering.net>
81630         * lib/getugroups.h: New file.
81631         * lib/getugroups.c: Include "getugroups.h".
81632         Remove uses of "register" keyword.
81633         Move local variable, "cp", down into scope where used.
81634         Give "username" parameter the "const" attribute.
81635         * modules/getugroups (Files): Add lib/getugroups.h
81637 2007-07-04  Karl Berry  <karl@gnu.org>
81639         * MODULES.html.sh (func_all_modules): Complete rename of
81640         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
81642 2007-07-02  Bruno Haible  <bruno@clisp.org>
81644         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
81645         mode, when inttypes.h comes from gnulib.
81646         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
81648 2007-07-02  Simon Josefsson  <simon@josefsson.org>
81650         * NEWS: Mention lgpl module name change.
81652         * modules/lgpl-2.1: Renamed from lgpl.
81654         * NEWS: Mention gpl module name change.
81656         * modules/gpl-3.0: New file, based on gpl-2.0.
81658         * modules/gpl-2.0: Renamed from gpl.
81660         * modules/gpl: Fix filename, doc/gpl.texi is now found at
81661         doc/gpl-2.0.texi.
81663 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81665         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
81666         #define __STDC_LIMIT_MACROS temporarily while including
81667         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
81668         Problem reported by Joel E. Denny in
81669         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
81671 2007-07-01  Bruno Haible  <bruno@clisp.org>
81673         * lib/unistdio.h: New file.
81674         * lib/unistdio/u-asnprintf.h: New file.
81675         * lib/unistdio/u-asprintf.h: New file.
81676         * lib/unistdio/u-printf-args.c: New file.
81677         * lib/unistdio/u-printf-args.h: New file.
81678         * lib/unistdio/u-printf-parse.h: New file.
81679         * lib/unistdio/u-snprintf.h: New file.
81680         * lib/unistdio/u-sprintf.h: New file.
81681         * lib/unistdio/u-vasprintf.h: New file.
81682         * lib/unistdio/u-vsnprintf.h: New file.
81683         * lib/unistdio/u-vsprintf.h: New file.
81684         * lib/unistdio/ulc-asnprintf.c: New file.
81685         * lib/unistdio/ulc-asprintf.c: New file.
81686         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
81687         * lib/unistdio/ulc-printf-parse.c: New file.
81688         * lib/unistdio/ulc-snprintf.c: New file.
81689         * lib/unistdio/ulc-sprintf.c: New file.
81690         * lib/unistdio/ulc-vasnprintf.c: New file.
81691         * lib/unistdio/ulc-vasprintf.c: New file.
81692         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
81693         * lib/unistdio/ulc-vsnprintf.c: New file.
81694         * lib/unistdio/ulc-vsprintf.c: New file.
81695         * lib/unistdio/u8-asnprintf.c: New file.
81696         * lib/unistdio/u8-asprintf.c: New file.
81697         * lib/unistdio/u8-printf-parse.c: New file.
81698         * lib/unistdio/u8-snprintf.c: New file.
81699         * lib/unistdio/u8-sprintf.c: New file.
81700         * lib/unistdio/u8-vasnprintf.c: New file.
81701         * lib/unistdio/u8-vasprintf.c: New file.
81702         * lib/unistdio/u8-vsnprintf.c: New file.
81703         * lib/unistdio/u8-vsprintf.c: New file.
81704         * lib/unistdio/u8-u8-asnprintf.c: New file.
81705         * lib/unistdio/u8-u8-asprintf.c: New file.
81706         * lib/unistdio/u8-u8-snprintf.c: New file.
81707         * lib/unistdio/u8-u8-sprintf.c: New file.
81708         * lib/unistdio/u8-u8-vasnprintf.c: New file.
81709         * lib/unistdio/u8-u8-vasprintf.c: New file.
81710         * lib/unistdio/u8-u8-vsnprintf.c: New file.
81711         * lib/unistdio/u8-u8-vsprintf.c: New file.
81712         * lib/unistdio/u16-asnprintf.c: New file.
81713         * lib/unistdio/u16-asprintf.c: New file.
81714         * lib/unistdio/u16-printf-parse.c: New file.
81715         * lib/unistdio/u16-snprintf.c: New file.
81716         * lib/unistdio/u16-sprintf.c: New file.
81717         * lib/unistdio/u16-vasnprintf.c: New file.
81718         * lib/unistdio/u16-vasprintf.c: New file.
81719         * lib/unistdio/u16-vsnprintf.c: New file.
81720         * lib/unistdio/u16-vsprintf.c: New file.
81721         * lib/unistdio/u16-u16-asnprintf.c: New file.
81722         * lib/unistdio/u16-u16-asprintf.c: New file.
81723         * lib/unistdio/u16-u16-snprintf.c: New file.
81724         * lib/unistdio/u16-u16-sprintf.c: New file.
81725         * lib/unistdio/u16-u16-vasnprintf.c: New file.
81726         * lib/unistdio/u16-u16-vasprintf.c: New file.
81727         * lib/unistdio/u16-u16-vsnprintf.c: New file.
81728         * lib/unistdio/u16-u16-vsprintf.c: New file.
81729         * lib/unistdio/u32-asnprintf.c: New file.
81730         * lib/unistdio/u32-asprintf.c: New file.
81731         * lib/unistdio/u32-printf-parse.c: New file.
81732         * lib/unistdio/u32-snprintf.c: New file.
81733         * lib/unistdio/u32-sprintf.c: New file.
81734         * lib/unistdio/u32-vasnprintf.c: New file.
81735         * lib/unistdio/u32-vasprintf.c: New file.
81736         * lib/unistdio/u32-vsnprintf.c: New file.
81737         * lib/unistdio/u32-vsprintf.c: New file.
81738         * lib/unistdio/u32-u32-asnprintf.c: New file.
81739         * lib/unistdio/u32-u32-asprintf.c: New file.
81740         * lib/unistdio/u32-u32-snprintf.c: New file.
81741         * lib/unistdio/u32-u32-sprintf.c: New file.
81742         * lib/unistdio/u32-u32-vasnprintf.c: New file.
81743         * lib/unistdio/u32-u32-vasprintf.c: New file.
81744         * lib/unistdio/u32-u32-vsnprintf.c: New file.
81745         * lib/unistdio/u32-u32-vsprintf.c: New file.
81746         * tests/unistdio/test-ulc-asnprintf1.c: New file.
81747         * tests/unistdio/test-ulc-asnprintf1.h: New file.
81748         * tests/unistdio/test-ulc-printf1.h: New file.
81749         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
81750         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
81751         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
81752         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
81753         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
81754         * tests/unistdio/test-ulc-vasprintf1.c: New file.
81755         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
81756         * tests/unistdio/test-ulc-vsprintf1.c: New file.
81757         * tests/unistdio/test-u8-asnprintf1.c: New file.
81758         * tests/unistdio/test-u8-asnprintf1.h: New file.
81759         * tests/unistdio/test-u8-printf1.h: New file.
81760         * tests/unistdio/test-u8-vasnprintf1.c: New file.
81761         * tests/unistdio/test-u8-vasnprintf2.c: New file.
81762         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
81763         * tests/unistdio/test-u8-vasnprintf3.c: New file.
81764         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
81765         * tests/unistdio/test-u8-vasprintf1.c: New file.
81766         * tests/unistdio/test-u8-vsnprintf1.c: New file.
81767         * tests/unistdio/test-u8-vsprintf1.c: New file.
81768         * tests/unistdio/test-u16-asnprintf1.c: New file.
81769         * tests/unistdio/test-u16-asnprintf1.h: New file.
81770         * tests/unistdio/test-u16-printf1.h: New file.
81771         * tests/unistdio/test-u16-vasnprintf1.c: New file.
81772         * tests/unistdio/test-u16-vasnprintf2.c: New file.
81773         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
81774         * tests/unistdio/test-u16-vasnprintf3.c: New file.
81775         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
81776         * tests/unistdio/test-u16-vasprintf1.c: New file.
81777         * tests/unistdio/test-u16-vsnprintf1.c: New file.
81778         * tests/unistdio/test-u16-vsprintf1.c: New file.
81779         * tests/unistdio/test-u32-asnprintf1.c: New file.
81780         * tests/unistdio/test-u32-asnprintf1.h: New file.
81781         * tests/unistdio/test-u32-printf1.h: New file.
81782         * tests/unistdio/test-u32-vasnprintf1.c: New file.
81783         * tests/unistdio/test-u32-vasnprintf2.c: New file.
81784         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
81785         * tests/unistdio/test-u32-vasnprintf3.c: New file.
81786         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
81787         * tests/unistdio/test-u32-vasprintf1.c: New file.
81788         * tests/unistdio/test-u32-vsnprintf1.c: New file.
81789         * tests/unistdio/test-u32-vsprintf1.c: New file.
81790         * modules/unistdio/base: New file.
81791         * modules/unistdio/u-printf-args: New file.
81792         * modules/unistdio/ulc-asnprintf: New file.
81793         * modules/unistdio/ulc-asprintf: New file.
81794         * modules/unistdio/ulc-fprintf: New file.
81795         * modules/unistdio/ulc-printf-parse: New file.
81796         * modules/unistdio/ulc-snprintf: New file.
81797         * modules/unistdio/ulc-sprintf: New file.
81798         * modules/unistdio/ulc-vasnprintf: New file.
81799         * modules/unistdio/ulc-vasprintf: New file.
81800         * modules/unistdio/ulc-vfprintf: New file.
81801         * modules/unistdio/ulc-vsnprintf: New file.
81802         * modules/unistdio/ulc-vsprintf: New file.
81803         * modules/unistdio/u8-asnprintf: New file.
81804         * modules/unistdio/u8-asprintf: New file.
81805         * modules/unistdio/u8-printf-parse: New file.
81806         * modules/unistdio/u8-snprintf: New file.
81807         * modules/unistdio/u8-sprintf: New file.
81808         * modules/unistdio/u8-vasnprintf: New file.
81809         * modules/unistdio/u8-vasprintf: New file.
81810         * modules/unistdio/u8-vsnprintf: New file.
81811         * modules/unistdio/u8-vsprintf: New file.
81812         * modules/unistdio/u8-u8-asnprintf: New file.
81813         * modules/unistdio/u8-u8-asprintf: New file.
81814         * modules/unistdio/u8-u8-snprintf: New file.
81815         * modules/unistdio/u8-u8-sprintf: New file.
81816         * modules/unistdio/u8-u8-vasnprintf: New file.
81817         * modules/unistdio/u8-u8-vasprintf: New file.
81818         * modules/unistdio/u8-u8-vsnprintf: New file.
81819         * modules/unistdio/u8-u8-vsprintf: New file.
81820         * modules/unistdio/u16-asnprintf: New file.
81821         * modules/unistdio/u16-asprintf: New file.
81822         * modules/unistdio/u16-printf-parse: New file.
81823         * modules/unistdio/u16-snprintf: New file.
81824         * modules/unistdio/u16-sprintf: New file.
81825         * modules/unistdio/u16-vasnprintf: New file.
81826         * modules/unistdio/u16-vasprintf: New file.
81827         * modules/unistdio/u16-vsnprintf: New file.
81828         * modules/unistdio/u16-vsprintf: New file.
81829         * modules/unistdio/u16-u16-asnprintf: New file.
81830         * modules/unistdio/u16-u16-asprintf: New file.
81831         * modules/unistdio/u16-u16-snprintf: New file.
81832         * modules/unistdio/u16-u16-sprintf: New file.
81833         * modules/unistdio/u16-u16-vasnprintf: New file.
81834         * modules/unistdio/u16-u16-vasprintf: New file.
81835         * modules/unistdio/u16-u16-vsnprintf: New file.
81836         * modules/unistdio/u16-u16-vsprintf: New file.
81837         * modules/unistdio/u32-asnprintf: New file.
81838         * modules/unistdio/u32-asprintf: New file.
81839         * modules/unistdio/u32-printf-parse: New file.
81840         * modules/unistdio/u32-snprintf: New file.
81841         * modules/unistdio/u32-sprintf: New file.
81842         * modules/unistdio/u32-vasnprintf: New file.
81843         * modules/unistdio/u32-vasprintf: New file.
81844         * modules/unistdio/u32-vsnprintf: New file.
81845         * modules/unistdio/u32-vsprintf: New file.
81846         * modules/unistdio/u32-u32-asnprintf: New file.
81847         * modules/unistdio/u32-u32-asprintf: New file.
81848         * modules/unistdio/u32-u32-snprintf: New file.
81849         * modules/unistdio/u32-u32-sprintf: New file.
81850         * modules/unistdio/u32-u32-vasnprintf: New file.
81851         * modules/unistdio/u32-u32-vasprintf: New file.
81852         * modules/unistdio/u32-u32-vsnprintf: New file.
81853         * modules/unistdio/u32-u32-vsprintf: New file.
81854         * modules/unistdio/ulc-asnprintf-tests: New file.
81855         * modules/unistdio/ulc-vasnprintf-tests: New file.
81856         * modules/unistdio/ulc-vasprintf-tests: New file.
81857         * modules/unistdio/ulc-vsnprintf-tests: New file.
81858         * modules/unistdio/ulc-vsprintf-tests: New file.
81859         * modules/unistdio/u8-asnprintf-tests: New file.
81860         * modules/unistdio/u8-vasnprintf-tests: New file.
81861         * modules/unistdio/u8-vasprintf-tests: New file.
81862         * modules/unistdio/u8-vsnprintf-tests: New file.
81863         * modules/unistdio/u8-vsprintf-tests: New file.
81864         * modules/unistdio/u16-asnprintf-tests: New file.
81865         * modules/unistdio/u16-vasnprintf-tests: New file.
81866         * modules/unistdio/u16-vasprintf-tests: New file.
81867         * modules/unistdio/u16-vsnprintf-tests: New file.
81868         * modules/unistdio/u16-vsprintf-tests: New file.
81869         * modules/unistdio/u32-asnprintf-tests: New file.
81870         * modules/unistdio/u32-vasnprintf-tests: New file.
81871         * modules/unistdio/u32-vasprintf-tests: New file.
81872         * modules/unistdio/u32-vsnprintf-tests: New file.
81873         * modules/unistdio/u32-vsprintf-tests: New file.
81874         * MODULES.html.sh (Unicode string functions): Add the new modules.
81876 2007-07-01  Bruno Haible  <bruno@clisp.org>
81878         * lib/sprintf.c (sprintf): Limit the available length estimation,
81879         to avoid address wraparound.
81880         * lib/vsprintf.c (vsprintf): Likewise.
81881         * modules/sprintf-posix (Dependencies): Add stdint.
81882         * modules/vsprintf-posix (Dependencies): Likewise.
81884 2007-07-01  Bruno Haible  <bruno@clisp.org>
81886         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
81887         Windows PATH as well. Conservative double-quoting. Comments.
81889 2007-07-01  Bruno Haible  <bruno@clisp.org>
81890             Eric Blake  <ebb9@byu.net>
81891             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81893         * gnulib-tool (self_abspathname): Fix algorithm to cope with
81894         empty components in $PATH, denoting '.'.
81896 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81898         * gnulib-tool: Fix indentation.
81899         (func_create_megatestdir): Likewise.
81900         Report by Bruno Haible.
81902 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81904         Sync from Automake.
81905         * build-aux/gnupload: Fix shell portability issues with for loops.
81906         Report by Karl Berry.
81908 2007-06-29  Simon Josefsson  <simon@josefsson.org>
81910         * build-aux/maint.mk (POURL): Use translationproject.org.
81912 2007-06-27  Simon Josefsson  <simon@josefsson.org>
81913             Bruno Haible  <bruno@clisp.org>
81915         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
81916         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
81917         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
81918         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
81919         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
81921 2007-06-27  Bruno Haible  <bruno@clisp.org>
81923         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
81924         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
81926 2007-06-26  Karl Berry  <karl@gnu.org>
81928         * MODULES.html.sh: remove xreadlink-with-size.
81930 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81932         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
81933         method that I hope also handles the double-include problem noted
81934         by Bruno Haible in
81935         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
81937 2007-06-23  Bruno Haible  <bruno@clisp.org>
81939         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
81940         Don't let the 'mostlyclean' target fail if the last subdirectory could
81941         not be removed.
81942         Reported by Karl Berry.
81944 2007-06-23  Bruno Haible  <bruno@clisp.org>
81946         * gnulib-tool (echo): Add a speedier workaround for ksh.
81947         * tests/test-echo.sh: Likewise.
81949 2007-06-23  Bruno Haible  <bruno@clisp.org>
81951         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
81952         * tests/test-echo.sh: Likewise.
81954 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81956         * gnulib-tool (IFS): Initialize early, so we don't set it to
81957         empty later.
81958         (self_abspathname): Rewrite algorithm to set it, reindent.
81959         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
81960         (func_create_megatestdir): Merge some sed scripts.
81962 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
81964         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
81965         exposed by Sun Studio 11 cc on Solaris 8.
81967 2007-06-22  Bruno Haible  <bruno@clisp.org>
81969         * gnulib-tool (echo): Ensure the echo primitive does not interpret
81970         backslashes.
81971         * tests/test-echo.sh: New file.
81973 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81975         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
81976         simplify `sed_replace_build_aux' scripts, they are portable but
81977         echoing them with `echo' is not.
81978         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
81980 2007-06-21  Karl Berry  <karl@gnu.org>
81982         * config/srclist.txt: guess we can't handle the licenses via
81983         srclist at the moment.
81985 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81987         * MODULES.html.sh: Add include_next.
81988         * modules/include_next: New file.
81990 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81992         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
81993         INCLUDE_NEXT.
81994         (gl_CHECK_NEXT_HEADERS): New macro.
81995         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
81996         the obsolescent gl_ABSOLUTE_HEADER.
81997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
81998         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
81999         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
82000         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
82001         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
82002         * m4/math_h.m4 (gl_MATH_H): Likewise.
82003         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
82004         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
82005         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
82006         * m4/stdint.m4 (gl_STDINT_H): Likewise.
82007         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
82008         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
82009         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
82010         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
82011         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
82012         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
82013         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
82014         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
82015         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
82016         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
82017         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
82018         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
82019         * m4/inttypes.m4 (gl_INTTYPES_H): Define
82020         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
82021         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
82022         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
82023         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
82024         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
82025         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
82026         * lib/float_.h: Likewise.
82027         * lib/inttypes_.h: Likewise.
82028         * lib/math_.h: Likewise.
82029         * lib/search_.h: Likewise.
82030         * lib/signal_.h: Likewise.
82031         * lib/stdint_.h: Likewise.
82032         * lib/stdio_.h: Likewise.
82033         * lib/stdlib_.h: Likewise.
82034         * lib/string_.h: Likewise.
82035         * lib/sys_stat_.h: Likewise.
82036         * lib/sys_time_.h: Likewise.
82037         * lib/time_.h: Likewise.
82038         * lib/unistd_.h: Likewise.
82039         * lib/wchar_.h: Likewise.
82040         * lib/wctype_.h: Likewise.
82041         * lib/dirent_.h: Likewise.
82042         * lib/iconv_.h: Likewise.
82043         * lib/locale_.h: Likewise.
82044         * lib/netinet_in_.h: Likewise.
82045         * lib/sys_select_.h: Likewise.
82046         * lib/sys_socket_.h: Likewise.
82047         * lib/sysexits_.h: Likewise.
82048         * modules/fcntl (Depends-on): Depend on include_next, not
82049         absolute_header.
82050         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
82051         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
82052         * modules/fchdir: Likewise.
82053         * modules/float: Likewise.
82054         * modules/iconv_open: Likewise.
82055         * modules/inttypes: Likewise.
82056         * modules/locale: Likewise.
82057         * modules/math: Likewise.
82058         * modules/netinet_in: Likewise.
82059         * modules/search: Likewise.
82060         * modules/signal: Likewise.
82061         * modules/stdint: Likewise.
82062         * modules/stdio: Likewise.
82063         * modules/stdlib: Likewise.
82064         * modules/string: Likewise.
82065         * modules/sys_select: Likewise.
82066         * modules/sys_socket: Likewise.
82067         * modules/sys_stat: Likewise.
82068         * modules/sys_time: Likewise.
82069         * modules/sysexits: Likewise.
82070         * modules/time: Likewise.
82071         * modules/unistd: Likewise.
82072         * modules/wchar: Likewise.
82073         * modules/wctype: Likewise.
82074         * modules/sys_stat: Change maintainer to "all".
82075         * modules/unistd: Likewise.
82077 2007-06-20  Karl Berry  <karl@gnu.org>
82079         * config/srclist.txt: track www changes in license files.
82081 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
82083         * build-aux/bootstrap: Remove stray dot.
82084         Make sure build_aux settings are honored when linking
82085         gnulib_extra_files.
82087 2007-06-19  Eric Blake  <ebb9@byu.net>
82089         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
82090         Allow compilation on cygwin.
82092 2007-06-19  Jim Meyering  <jim@meyering.net>
82094         xreadlink-with-size: Remove module.  No longer used.
82095         Ex-callers now use xreadlink or mreadlink-with-size.
82096         * modules/xreadlink-with-size: Remove module.
82097         * lib/xreadlink-with-size.c: Remove file.
82098         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
82099         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
82100         just before the function definition *is* accurate.
82102         Eliminate one way canonicalize_filename_mode could exit.
82103         * lib/canonicalize.c (canonicalize_filename_mode):
82104         Use mreadlink_with_size, not xreadlink_with_size.
82106 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
82108         Detect porting problems to FreeBSD/arm, which has time_t wider than
82109         long int.  Original problem reported for GNU diff by Xin Li in
82110         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
82111         * modules/getdate (Depends-on): Add intprops, verify.
82112         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
82113         is an integer type no wider than long int.
82115 2007-06-18  Jim Meyering  <jim@meyering.net>
82117         New module: mreadlink-with-size.
82118         * MODULES.html.sh: Add mreadlink-with-size.
82119         * modules/mreadlink-with-size: New module
82120         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
82121         not xreadlink-with-size.
82122         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
82124 2007-06-16  Bruno Haible  <bruno@clisp.org>
82126         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
82127         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
82128         Reported by Gary V. Vaughan <gary@gnu.org>.
82130 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
82132         Revamp lchown so that it lives in unistd.h where it belongs.
82133         * lib/lchown.h: Remove.
82134         * lib/dirchownmod.c: Don't include lib/lchown.h.
82135         * lib/fchownat.c: Likewise.
82136         * lib/openat.c: Likewise.
82137         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
82138         does not follow symlinks.
82139         (EOPNOTSUPP): Define if not defined.
82140         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
82141         is defined to 0.
82142         (lchown): New decl.
82143         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
82144         Do not check for lchown decl.
82145         Set REPLACE_LCHOWN.
82146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
82147         REPLACE_LCHOWN.
82148         * modules/chown: Make it clear it follows symlinks.
82149         * modules/lchown: Make it clear it doesn't follow symlinks.
82150         (Files): Remove lib/lchown.h
82151         (Depends-on): Add unistd.
82152         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
82153         (Include): Include <unistd.h>, not "lchown.h".
82154         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
82155         REPLACE_LCHOWN.
82157 2007-06-15  Jim Meyering  <jim@meyering.net>
82159         Change license (GPL to LGPL) of fsusage and dependents.
82160         * modules/fsusage (License): Change to LGPL.
82161         * modules/full-read (License): Likewise.
82162         * modules/full-write (License): Likewise.
82163         * modules/safe-read (License): Likewise.
82164         * modules/safe-write (License): Likewise.
82166 2007-06-14  Ben Pfaff  <blp@gnu.org>
82168         Missing part of allocsa -> malloca transition.
82169         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
82170         gl_MALLOCA.
82172 2007-06-12  Bruno Haible  <bruno@clisp.org>
82174         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
82175         to ia64, x86_64, i386.
82176         Reported by Eric Blake.
82178 2007-06-12  Bruno Haible  <bruno@clisp.org>
82180         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
82181         cross-compiling to x86_64.
82183 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
82185         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
82186         glitch reported by Ralf Wildenhues in
82187         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
82189         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
82190         Vin Shelton.
82192 2007-06-11  Bruno Haible  <bruno@clisp.org>
82194         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
82195         replacement string.
82196         Reported by Eric Blake.
82198 2007-06-10  Bruno Haible  <bruno@clisp.org>
82200         Prepare vasnprintf code for use with Unicode strings.
82201         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
82202         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
82203         TYPE_U32_STRING.
82204         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
82205         a_u32_string variants.
82206         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
82207         * lib/printf-args.c: Don't include config.h and the specification
82208         header if PRINTF_FETCHARGS is already defined.
82209         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
82210         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
82211         TYPE_U16_STRING, TYPE_U32_STRING.
82212         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
82213         u16_directive, u16_directives, u32_directive, u32_directives): New
82214         types.
82215         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
82216         New declarations.
82217         * lib/printf-parse.c: Don't include config.h and the specification
82218         header if PRINTF_PARSE is already defined. Eliminate the set of
82219         parameters for WIDE_CHAR_VERSION; the user of this file must provide
82220         them now. Include c-ctype.h.
82221         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
82222         directive and CHAR_T_ONLY_ASCII.
82223         * lib/vasnprintf.c: Don't include config.h and the specification header
82224         if VASNPRINTF is already defined.
82225         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
82226         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
82227         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
82228         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
82229         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
82230         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
82231         code accordingly.
82232         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
82233         pad_ourselves also in this case, with the 'c' and 's' directives, and
82234         with a different notion of "width".
82235         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
82237 2007-06-10  Bruno Haible  <bruno@clisp.org>
82239         * modules/unistr/u32-mbsnlen: New file.
82240         * lib/unistr/u32-mbsnlen.c: New file.
82242         * modules/unistr/u16-mbsnlen: New file.
82243         * lib/unistr/u16-mbsnlen.c: New file.
82245         * modules/unistr/u8-mbsnlen: New file.
82246         * lib/unistr/u8-mbsnlen.c: New file.
82248         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
82249         declarations.
82251 2007-06-10  Bruno Haible  <bruno@clisp.org>
82253         * lib/string_.h (mbsnlen): New declaration.
82254         * lib/mbsnlen.c: New file.
82255         * m4/mbsnlen.m4: New file.
82256         * modules/mbsnlen: New file.
82257         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
82258         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
82259         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
82261 2007-06-10  Bruno Haible  <bruno@clisp.org>
82263         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
82265 2007-06-10  Bruno Haible  <bruno@clisp.org>
82267         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
82268         * lib/mbuiter.h: Likewise.
82270 2007-06-10  Bruno Haible  <bruno@clisp.org>
82272         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
82273         declaration.
82275 2007-06-10  Karl Berry  <karl@gnu.org>
82277         * config/srclist.txt: remove gettext entries, Bruno prefers
82278         to update individually.
82280 2007-06-10  Bruno Haible  <bruno@clisp.org>
82282         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
82283         'maxlen'. Ensure only length + width bytes are allocated, not
82284         length + 1 + width.
82286 2007-06-09  Bruno Haible  <bruno@clisp.org>
82288         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
82289         (CHAR_T): Remove macro.
82290         (VASNPRINTF): Update.
82292 2007-06-09  Bruno Haible  <bruno@clisp.org>
82294         * MODULES.html.sh (Unicode string functions): Add the new modules.
82296         * modules/uniconv/u32-conv-to-enc: New file.
82297         * lib/uniconv/u32-conv-to-enc.c: New file.
82298         * modules/uniconv/u32-conv-to-enc-tests: New file.
82299         * tests/uniconv/test-u32-conv-to-enc.c: New file.
82301         * modules/uniconv/u16-conv-to-enc: New file.
82302         * lib/uniconv/u16-conv-to-enc.c: New file.
82303         * lib/uniconv/u-conv-to-enc.h: New file.
82304         * modules/uniconv/u16-conv-to-enc-tests: New file.
82305         * tests/uniconv/test-u16-conv-to-enc.c: New file.
82307         * modules/uniconv/u8-conv-to-enc: New file.
82308         * lib/uniconv/u8-conv-to-enc.c: New file.
82309         * modules/uniconv/u8-conv-to-enc-tests: New file.
82310         * tests/uniconv/test-u8-conv-to-enc.c: New file.
82312         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
82313         u32_conv_to_encoding): New declarations.
82315 2007-06-09  Bruno Haible  <bruno@clisp.org>
82317         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
82319 2007-06-09  Bruno Haible  <bruno@clisp.org>
82321         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
82322         * modules/malloca: Renamed from modules/allocsa, updated.
82323         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
82324         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
82325         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
82326         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
82327         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
82328         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
82329         * modules/xmalloca: Renamed from modules/xallocsa, updated.
82330         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
82331         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
82332         * modules/c-strcasestr (Depends-on): Update.
82333         * lib/c-strcasestr.c: Update.
82334         * modules/c-strstr (Depends-on): Update.
82335         * lib/c-strstr.c: Update.
82336         * modules/canonicalize-lgpl (Depends-on): Update.
82337         * lib/canonicalize-lgpl.c: Update.
82338         * modules/clean-temp (Depends-on): Update.
82339         * lib/clean-temp.c: Update.
82340         * modules/csharpcomp (Depends-on): Update.
82341         * lib/csharpcomp.c: Update.
82342         * modules/csharpexec (Depends-on): Update.
82343         * lib/csharpexec.c: Update.
82344         * modules/javacomp (Depends-on): Update.
82345         * lib/javacomp.c: Update.
82346         * modules/javaexec (Depends-on): Update.
82347         * lib/javaexec.c: Update.
82348         * modules/mbscasestr (Depends-on): Update.
82349         * lib/mbscasestr.c: Update.
82350         * modules/mbsstr (Depends-on): Update.
82351         * lib/mbsstr.c: Update.
82352         * modules/setenv (Depends-on): Update.
82353         * lib/setenv.c: Update.
82354         * modules/strcasestr (Depends-on): Update.
82355         * lib/strcasestr.c: Update.
82356         * modules/striconveha (Depends-on): Update.
82357         * lib/striconveha.c: Update.
82358         * modules/relocatable-prog-wrapper (Files): Update.
82359         * lib/relocwrapper.c: Update.
82360         * build-aux/install-reloc: Update.
82361         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
82363 2007-06-08  Bruno Haible  <bruno@clisp.org>
82365         Port to uClibc.
82366         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
82367         * lib/fpurge.c (fpurge): Likewise.
82368         * lib/freading.c (freading): Likewise.
82369         * lib/fseeko.c (rpl_fseeko): Likewise.
82370         * lib/fseterr.c (fseterr): Likewise.
82371         * lib/fwriting.c (fwriting): Likewise.
82372         * tests/test-fflush.c (main): Avoid a failure on uClibc.
82374 2007-06-08  Bruno Haible  <bruno@clisp.org>
82376         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
82377         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
82378         * modules/gettext (Files): Add m4/intlmacosx.m4.
82380 2007-06-07  Bruno Haible  <bruno@clisp.org>
82382         * modules/localename-tests: New file.
82383         * tests/test-localename.c: New file.
82385         New module 'localename'.
82386         * lib/localename.h: New file.
82387         * lib/localename.c: New file, from GNU gettext.
82388         * m4/localename.m4: New file.
82389         * modules/localename: New file.
82391 2007-06-07  Bruno Haible  <bruno@clisp.org>
82393         Work around the lack of <wchar.h> on some builds of uClibc.
82394         * doc/headers/wchar.texi: Update.
82395         * lib/wchar_.h: Include <wchar.h> only if it exists.
82396         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
82397         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
82398         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
82399         doesn't exist.
82400         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
82401         * modules/mbfile (Depends-on): Add wchar.
82402         * modules/mbiter (Depends-on): Likewise.
82403         * modules/mbuiter (Depends-on): Likewise.
82404         Reported by Simon Josefsson.
82406 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
82408         Work around problem reported by Steven M. Schweda in
82409         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
82410         Tru64 5.1B with the Compaq compiler environment installed declares
82411         an 'isblank' function but does not define it in the C library.
82412         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
82413         * lib/regex_internal.h (isblank): Likewise.
82414         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
82415         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
82417 2007-06-05  Bruno Haible  <bruno@clisp.org>
82419         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
82420         ia64.
82421         * modules/printf-safe: New file.
82422         * modules/fprintf-posix (Depends-on): Add printf-safe.
82423         * modules/printf-posix (Depends-on): Likewise.
82424         * modules/snprintf-posix (Depends-on): Likewise.
82425         * modules/sprintf-posix (Depends-on): Likewise.
82426         * modules/vasnprintf-posix (Depends-on): Likewise.
82427         * modules/vasprintf-posix (Depends-on): Likewise.
82428         * modules/vfprintf-posix (Depends-on): Likewise.
82429         * modules/vprintf-posix (Depends-on): Likewise.
82430         * modules/vsnprintf-posix (Depends-on): Likewise.
82431         * modules/vsprintf-posix (Depends-on): Likewise.
82432         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
82433         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
82434         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
82435         "no" on i386, x86_64, ia64.
82436         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
82437         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
82438         on i386, x86_64, ia64.
82439         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
82440         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
82441         on i386, x86_64, ia64.
82442         * tests/test-vasnprintf-posix.c: Include float.h.
82443         (LDBL80_WORDS): New macro.
82444         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
82445         on i386, x86_64, ia64.
82446         * tests/test-vasprintf-posix.c: Include float.h.
82447         (LDBL80_WORDS): New macro.
82448         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
82449         on i386, x86_64, ia64.
82450         * tests/test-snprintf-posix.c: Include float.h.
82451         * tests/test-sprintf-posix.c: Likewise.
82452         * tests/test-vsnprintf-posix.c: Likewise.
82453         * tests/test-vsprintf-posix.c: Likewise.
82455 2007-06-05  Bruno Haible  <bruno@clisp.org>
82457         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
82458         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
82459         non-IEEE numbers on i386, x86_64, ia64.
82460         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
82461         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
82462         * tests/test-isnanl.h: Include float.h.
82463         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
82465 2007-06-05  Bruno Haible  <bruno@clisp.org>
82467         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
82468         also the %a / %A. Handle the %a / %A code before this extra handling.
82470 2007-06-05  Bruno Haible  <bruno@clisp.org>
82472         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
82473         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
82475 2007-06-05  Bruno Haible  <bruno@clisp.org>
82477         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
82478         typo in variable name.
82480 2007-06-05  Eric Blake  <ebb9@byu.net>
82482         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
82483         Reported by Simon Josefsson.
82485 2007-06-04  Bruno Haible  <bruno@clisp.org>
82487         Avoid test failures on some PowerPC platforms.
82488         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
82489         Define differently for PowerPC.
82490         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
82491         Reported by Gary V. Vaughan <gary@gnu.org>.
82493 2007-06-02  Bruno Haible  <bruno@clisp.org>
82495         Fix test-stdint failure on FreeBSD/ia64.
82496         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
82497         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
82498         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
82499         * doc/headers/stdint.texi: Update.
82501 2007-06-01  Bruno Haible  <bruno@clisp.org>
82503         * tests/test-binary-io.c (main): Pass a third argument to open().
82504         Reported by Gary V. Vaughan <gary@gnu.org>.
82506 2007-06-01  Bruno Haible  <bruno@clisp.org>
82508         * doc/functions/frexpl.texi: Update for mingw.
82510 2007-06-01  Bruno Haible  <bruno@clisp.org>
82512         * tests/test-lseek.c (main): Disable test of errno for invalid third
82513         argument.
82514         * doc/functions/lseek.texi: Update.
82515         Reported by Gary V. Vaughan <gary@gnu.org>.
82517 2007-05-28  Bruno Haible  <bruno@clisp.org>
82519         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
82521 2007-05-31  Eric Blake  <ebb9@byu.net>
82523         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
82524         cross compiling.
82526 2007-05-30  Eric Blake  <ebb9@byu.net>
82527         and Bruno Haible  <bruno@clisp.org>
82529         Work around mingw test failures exposed by m4-1.4.9b.
82530         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
82531         * tests/test-unistd.c: Disable uid_t and git_t tests for the
82532         moment.
82534 2007-05-30  Bruno Haible  <bruno@clisp.org>
82536         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
82537         assuming that they are closed. Needed on HP-UX 11.
82539 2007-05-29  Bruno Haible  <bruno@clisp.org>
82541         Fix a problem with #include_next.
82542         * lib/dirent_.h: Split the double-inclusion guard.
82543         * lib/fcntl_.h: Likewise.
82544         * lib/float_.h: Likewise.
82545         * lib/iconv_.h: Likewise.
82546         * lib/inttypes_.h: Likewise.
82547         * lib/locale_.h: Likewise.
82548         * lib/math_.h: Likewise.
82549         * lib/netinet_in_.h: Likewise.
82550         * lib/search_.h: Likewise.
82551         * lib/signal_.h: Likewise.
82552         * lib/stdint_.h: Likewise.
82553         * lib/stdio_.h: Likewise.
82554         * lib/stdlib_.h: Likewise.
82555         * lib/string_.h: Likewise.
82556         * lib/sys_select_.h: Likewise.
82557         * lib/sys_socket_.h: Likewise.
82558         * lib/sys_stat_.h: Likewise.
82559         * lib/sys_time_.h: Likewise.
82560         * lib/sysexits_.h: Likewise.
82561         * lib/time_.h: Likewise.
82562         * lib/unistd_.h: Likewise.
82563         * lib/wchar_.h: Likewise.
82564         * lib/wctype_.h: Likewise.
82566 2007-05-29  Bruno Haible  <bruno@clisp.org>
82568         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
82569         for the moment.
82571 2007-05-29  Bruno Haible  <bruno@clisp.org>
82573         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
82574         invocation.
82575         Reported by Eric Blake.
82577 2007-05-29  Bruno Haible  <bruno@clisp.org>
82579         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
82580         compiling case.
82582 2007-05-29  Eric Blake  <ebb9@byu.net>
82583             Bruno Haible  <bruno@clisp.org>
82585         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
82586         cross compiles.
82588 2007-05-28  Eric Blake  <ebb9@byu.net>
82590         * modules/closein-tests (test_closein_LDADD): Support test on
82591         cygwin with libtool.
82593 2007-05-28  Bruno Haible  <bruno@clisp.org>
82595         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
82596         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
82597         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
82598         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
82599         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
82600         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
82601         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
82602         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
82603         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
82605 2007-05-28  Eric Blake  <ebb9@byu.net>
82607         Unconditionally include <config.h> in unit tests.
82608         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
82609         * tests/test-allocsa.c, tests/test-arcfour.c,
82610         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
82611         tests/test-array_list.c, tests/test-array_oset.c,
82612         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
82613         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
82614         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
82615         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
82616         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
82617         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
82618         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
82619         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
82620         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
82621         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
82622         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
82623         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
82624         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
82625         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
82626         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
82627         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
82628         test-md5.c, test-memmem.c, test-printf-posix.c,
82629         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
82630         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
82631         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
82632         test-strcasestr.c, test-striconv.c, test-striconveh.c,
82633         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
82634         test-vasnprintf-posix2.c, test-vasnprintf.c,
82635         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
82636         test-vfprintf-posix.c, test-vprintf-posix.c,
82637         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
82638         test-xvasprintf.c: Likewise.
82640 2007-05-28  Bruno Haible  <bruno@clisp.org>
82642         * gnulib-tool (func_import): Remember the --with-tests command-line
82643         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
82644         Reported by Eric Blake.
82646 2007-05-28  Bruno Haible  <bruno@clisp.org>
82648         * modules/ftell-tests: New file.
82649         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
82650         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
82652         * lib/ftell.c: New file.
82653         * modules/ftell: New file.
82654         * m4/ftell.m4: New file.
82655         * doc/functions/ftell.texi: Update.
82656         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
82657         REPLACE_FTELL.
82658         * lib/stdio_.h (rpl_ftell): New declaration.
82659         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
82660         REPLACE_FTELL.
82662 2007-05-28  Eric Blake  <ebb9@byu.net>
82664         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
82666 2007-05-28  Bruno Haible  <bruno@clisp.org>
82668         * modules/fseek-tests: New file.
82669         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
82670         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
82672         * lib/fseek.c: New file.
82673         * modules/fseek: New file.
82674         * m4/fseek.m4: New file.
82675         * doc/functions/fseek.texi: Update.
82676         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
82677         REPLACE_FSEEK.
82678         * lib/stdio_.h (rpl_fseek): New declaration.
82679         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
82680         REPLACE_FSEEK.
82682 2007-05-28  Bruno Haible  <bruno@clisp.org>
82684         * lib/stdio_.h (fflush): More comments.
82686 2007-05-28  Bruno Haible  <bruno@clisp.org>
82688         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
82689         runtime test.
82691 2007-05-28  Eric Blake  <ebb9@byu.net>
82693         Improve lseek module.
82694         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
82695         * lib/unistd_.h (lseek): Scale back link warning message.
82696         * tests/test-lseek.c: Beef up test.
82697         * tests/test-lseek.sh: Exercise more facets of lseek.
82698         Reported by Bruno Haible.
82700 2007-05-28  Bruno Haible  <bruno@clisp.org>
82702         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
82703         to define.
82705 2007-05-27  Bruno Haible  <bruno@clisp.org>
82707         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
82709 2007-05-27  Bruno Haible  <bruno@clisp.org>
82711         * modules/openmp: New file.
82712         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
82713         Noah Misch.
82715 2007-05-26  Bruno Haible  <bruno@clisp.org>
82717         * modules/chdir-long (Depends-on): Add fchdir.
82718         * modules/chdir-safer (Depends-on): Likewise.
82719         * modules/fts (Depends-on): Likewise.
82720         * modules/fts-lgpl (Depends-on): Likewise.
82721         * modules/openat (Depends-on): Likewise.
82722         * modules/savewd (Depends-on): Likewise.
82724 2007-05-24  Eric Blake  <ebb9@byu.net>
82726         Fix lseek on mingw.
82727         * modules/lseek: New module.
82728         * m4/lseek.m4: New file.
82729         * lib/lseek.c: New file.
82730         * modules/lseek-tests: New file.
82731         * tests/test-lseek.c: New file.
82732         * tests/test-lseek.sh: New file.
82733         * MODULES.html.sh: Document lseek module.
82734         * modules/fflush (Depends-on): Add lseek, fseeko.
82735         * modules/fseeko (Depends-on): Likewise.
82736         * modules/ftello (Depends-on): Likewise.
82737         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
82738         broken.
82739         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
82740         broken.
82741         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
82742         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
82743         * lib/ftello.c (rpl_ftello): Likewise.
82744         * tests/test-fseeko.c (main): Test this.
82745         * tests/test-fseeko.sh: Likewise.
82746         * tests/test-ftello.c (main): Likewise.
82747         * tests/test-ftello.sh: Likewise.
82748         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
82749         implies replacing fseek.
82750         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
82751         HAVE_FTELLO.
82752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
82753         * modules/unistd (Makefile.am): Likewise.
82754         * lib/unistd_.h (lseek): Declare a replacement.
82755         * doc/functions/lseek.texi (lseek): Document this fix.
82756         * doc/functions/fseek.texi (fseek): Likewise.
82757         * doc/functions/ftell.texi (ftell): Likewise.
82759 2007-05-24  Bruno Haible  <bruno@clisp.org>
82761         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
82762         in the printed representation of a NaN.
82763         * tests/test-vasprintf-posix.c (test_function): Likewise.
82764         * tests/test-snprintf-posix.h (test_function): Likewise.
82765         * tests/test-sprintf-posix.h (test_function): Likewise.
82766         Reported by Eric Blake.
82768 2007-05-23  Eric Blake  <ebb9@byu.net>
82770         Fix fseeko/ftello on cygwin 1.5.24.
82771         * doc/functions/fseeko.texi (fseeko): Document the fix.
82772         * doc/functions/ftello.texi (ftello): Document the fix.
82773         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
82774         * doc/functions/stdout.text (stdout): New file.
82775         * doc/functions/stderr.text (stderr): New file.
82776         * doc/gnulib.texi (Function Substitutes): Use new files.
82777         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
82778         prior to 1.7.0.
82779         * tests/test-ftello.c (main): Likewise for ftello.
82780         * tests/test-fseeko.sh: New file.
82781         * tests/test-ftello.sh: New file.
82782         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
82783         with seekable stdin.
82784         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
82785         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
82786         (gl_REPLACE_FSEEKO): New macro.
82787         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
82788         * modules/fseeko (Files): Distribute fseeko.c.
82789         * modules/ftello (Files): Distribute ftello.c.
82790         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
82791         mode.
82792         * lib/ftello.c (rpl_ftello): New file.
82793         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
82794         fseeko, ftello.
82795         (gl_STDIN_LARGE_OFFSET): New macro.
82796         * modules/stdio (Makefile.am): Perform the replacement.
82797         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
82799 2007-05-23  Bruno Haible  <bruno@clisp.org>
82801         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
82802         GNULIB_POSIXCHECK is defined.
82804 2007-05-21  Bruno Haible  <bruno@clisp.org>
82806         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
82807         Check also the output for NaN arguments. When cross-compiling, guess
82808         no on IRIX.
82809         * lib/vasnprintf.c: Update comments.
82810         * tests/test-vasnprintf-posix.c (strisnan): New function.
82811         (test_function): Use it.
82812         * tests/test-vasprintf-posix.c (strisnan): New function.
82813         (test_function): Use it.
82814         * tests/test-snprintf-posix.h (strisnan): New function.
82815         (test_function): Use it.
82816         * tests/test-sprintf-posix.h (strisnan): New function.
82817         (test_function): Use it.
82818         Reported by Eric Blake.
82820 2007-05-20  Bruno Haible  <bruno@clisp.org>
82822         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
82823         numbers that fails on BeOS.
82824         * doc/functions/frexpl.texi: Update.
82826 2007-05-20  Jim Meyering  <jim@meyering.net>
82828         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
82829         forced upon us by glibc-2.6.
82831 2007-05-20  Bruno Haible  <bruno@clisp.org>
82833         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
82834         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
82835         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
82836         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
82837         NEED_PRINTF_INFINITE.
82838         (is_infinitel): New function.
82839         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
82840         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
82841         gl_PREREQ_VASNPRINTF_INFINITE.
82842         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
82843         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82844         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
82845         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
82846         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
82847         gl_PREREQ_VASNPRINTF_INFINITE.
82848         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82849         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82850         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82851         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82852         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82853         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82854         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82855         * doc/functions/fprintf.texi: Update.
82856         * doc/functions/printf.texi: Update.
82857         * doc/functions/snprintf.texi: Update.
82858         * doc/functions/sprintf.texi: Update.
82859         * doc/functions/vfprintf.texi: Update.
82860         * doc/functions/vprintf.texi: Update.
82861         * doc/functions/vsnprintf.texi: Update.
82862         * doc/functions/vsprintf.texi: Update.
82864 2007-05-20  Bruno Haible  <bruno@clisp.org>
82866         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
82867         was not found in libc.
82868         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
82870 2007-05-20  Bruno Haible  <bruno@clisp.org>
82872         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
82873         printed as "-nan" instead of "nan".
82874         * tests/test-vasprintf-posix.c (test_function): Likewise.
82875         * tests/test-snprintf-posix.h (test_function): Likewise.
82876         * tests/test-sprintf-posix.h (test_function): Likewise.
82877         Needed for HP-UX 11.
82879 2007-05-20  Jim Meyering  <jim@meyering.net>
82881         Fix buggy test for the fchownat-deref bug.
82882         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
82883         symlink required for the run-test.  Without it, this test would
82884         always declare that fchownat doesn't work, and client code would
82885         unnecessarily use the replacement function with fixed libc.
82886         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
82887         Reported by Greg Schafer.
82889 2007-05-19  Bruno Haible  <bruno@clisp.org>
82891         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
82892         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
82893         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
82894         Needed for IRIX 6.5 and Solaris 2.5.1.
82896 2007-05-19  Bruno Haible  <bruno@clisp.org>
82898         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
82899         (test_function): Skip tests involving -0.0 on platforms where
82900         -0.0 = 0.0.
82901         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
82902         (test_function): Skip tests involving -0.0 on platforms where
82903         -0.0 = 0.0.
82904         * tests/test-snprintf-posix.h (have_minus_zero): New function.
82905         (test_function): Skip tests involving -0.0 on platforms where
82906         -0.0 = 0.0.
82907         * tests/test-sprintf-posix.h (have_minus_zero): New function.
82908         (test_function): Skip tests involving -0.0 on platforms where
82909         -0.0 = 0.0.
82910         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
82911         tests.
82912         * tests/test-printf-posix.h (test_function): Likewise.
82913         * tests/test-printf-posix.output: Remove all -0.0 related results.
82914         Needed for IRIX 6.5.
82916 2007-05-19  Bruno Haible  <bruno@clisp.org>
82918         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
82919         printed as "nan0x7fffffff" instead of "nan".
82920         * tests/test-vasprintf-posix.c (test_function): Likewise.
82921         * tests/test-snprintf-posix.h (test_function): Likewise.
82922         * tests/test-sprintf-posix.h (test_function): Likewise.
82923         * tests/test-fprintf-posix.h (NaN): Remove macro.
82924         (test_function): Remove all NaN related tests.
82925         * tests/test-printf-posix.h (NaN): Remove macro.
82926         (test_function): Remove all NaN related tests.
82927         * tests/test-printf-posix.output: Remove all NaN related results.
82928         Needed for IRIX 6.5.
82930 2007-05-19  Bruno Haible  <bruno@clisp.org>
82932         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
82933         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
82935 2007-05-19  Bruno Haible  <bruno@clisp.org>
82937         * lib/float_.h: New file.
82938         * m4/float_h.m4: New file.
82939         * modules/float: New file.
82940         * modules/isnanl (Dependencies): Add float.
82941         * modules/isnanl-nolibm (Dependencies): Likewise.
82942         * modules/mathl (Dependencies): Likewise.
82943         * modules/printf-frexpl (Dependencies): Likewise.
82944         * modules/signbit (Dependencies): Likewise.
82945         * modules/vasnprintf (Dependencies): Likewise.
82946         * doc/headers/float.texi: Update.
82948 2007-05-19  Jim Meyering  <jim@meyering.net>
82950         * lib/utimens.c (gl_futimens): Rename from futimens,
82951         now that glibc-2.6 declares futimens.
82952         * lib/utimens.h: Likewise.
82954 2007-05-19  Bruno Haible  <bruno@clisp.org>
82956         Avoid test failures on mingw.
82957         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
82958         * tests/test-printf-posix.sh: Likewise.
82959         * tests/test-vfprintf-posix.sh: Likewise.
82960         * tests/test-vprintf-posix.sh: Likewise.
82962 2007-05-19  Bruno Haible  <bruno@clisp.org>
82964         Fix *printf result for NaN, Inf, -0.0 on mingw.
82965         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
82966         * lib/vasnprintf.c: Include math.h and isnan.h.
82967         (is_infinite_or_zero): New function.
82968         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
82969         values in the %f, %F, %e, %E, %g, %G directives.
82970         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
82971         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
82972         gl_PRINTF_INFINITE and test its result. Invoke
82973         gl_PREREQ_VASNPRINTF_INFINITE.
82974         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
82975         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
82976         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
82977         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
82978         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
82979         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
82980         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
82981         * doc/functions/fprintf.texi: Update.
82982         * doc/functions/printf.texi: Update.
82983         * doc/functions/snprintf.texi: Update.
82984         * doc/functions/sprintf.texi: Update.
82985         * doc/functions/vfprintf.texi: Update.
82986         * doc/functions/vprintf.texi: Update.
82987         * doc/functions/vsnprintf.texi: Update.
82988         * doc/functions/vsprintf.texi: Update.
82990 2007-05-19  Bruno Haible  <bruno@clisp.org>
82992         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
82993         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
82994         Instead of multiplying with 10^k, set extra_zeroes to k.
82995         (scale10_round_long_double): Remove function.
82997 2007-05-18  Bruno Haible  <bruno@clisp.org>
82999         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
83000         introduced on 2007-05-06.
83002 2007-05-18  Bruno Haible  <bruno@clisp.org>
83004         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
83005         %g directives.
83006         * tests/test-vasprintf-posix.c (test_function): Likewise.
83007         * tests/test-snprintf-posix.h (test_function): Likewise.
83008         * tests/test-sprintf-posix.h (test_function): Likewise.
83010 2007-05-18  Bruno Haible  <bruno@clisp.org>
83012         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
83013         (strmatch): New function.
83014         (test_function): Test the %f directive on numbers of various exponents.
83015         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
83016         (strmatch): New function.
83017         (test_function): Test the %f directive on numbers of various exponents.
83018         * tests/test-snprintf-posix.h (strmatch): New function.
83019         (test_function): Test the %f directive on numbers of various exponents.
83020         * tests/test-sprintf-posix.h (strmatch): New function.
83021         (test_function): Test the %f directive on numbers of various exponents.
83022         * tests/test-snprintf-posix.c (SIZEOF): New macro.
83023         * tests/test-sprintf-posix.c (SIZEOF): New macro.
83024         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
83025         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
83027 2007-05-18  Bruno Haible  <bruno@clisp.org>
83029         Add support for 'long double' number output.
83030         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
83031         * lib/vasnprintf.c: Include math.h and float+.h.
83032         (mp_limb_t): New type.
83033         (GMP_LIMB_BITS): New macro.
83034         (mp_twolimb_t): New type.
83035         (GMP_TWOLIMB_BITS): New macro.
83036         (mpn_t): New type.
83037         (multiply, divide, convert_to_decimal, decode_long_double,
83038         scale10_round_long_double, scale10_round_decimal_long_double,
83039         floorlog10l): New functions.
83040         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
83041         for the %f, %F, %e, %E, %g, %G directives.
83042         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
83043         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
83044         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
83045         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
83046         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
83047         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
83048         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
83049         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
83050         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
83051         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83052         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
83053         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
83054         * modules/snprintf-posix (Depends-on): Likewise.
83055         * modules/sprintf-posix (Depends-on): Likewise.
83056         * modules/vasnprintf-posix (Depends-on): Likewise.
83057         * modules/vasprintf-posix (Depends-on): Likewise.
83058         * modules/vfprintf-posix (Depends-on): Likewise.
83059         * modules/vsnprintf-posix (Depends-on): Likewise.
83060         * modules/vsprintf-posix (Depends-on): Likewise.
83061         * modules/vasnprintf (Files): Add lib/float+.h.
83062         * doc/functions/fprintf.texi: Update.
83063         * doc/functions/printf.texi: Update.
83064         * doc/functions/snprintf.texi: Update.
83065         * doc/functions/sprintf.texi: Update.
83066         * doc/functions/vfprintf.texi: Update.
83067         * doc/functions/vprintf.texi: Update.
83068         * doc/functions/vsnprintf.texi: Update.
83069         * doc/functions/vsprintf.texi: Update.
83071 2007-05-18  Bruno Haible  <bruno@clisp.org>
83073         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
83075 2007-05-18  Bruno Haible  <bruno@clisp.org>
83077         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
83078         for printing 64-bit integers. Needed for mingw.
83080 2007-05-18  Bruno Haible  <bruno@clisp.org>
83082         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
83083         gl_FUNC_FREXPL_WORKS.
83084         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
83086 2007-05-18  Bruno Haible  <bruno@clisp.org>
83088         * modules/frexpl-nolibm-tests: New file.
83090         * modules/frexpl-nolibm: New file.
83091         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
83093 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
83095         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
83096         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
83097         GCC 4.2, which otherwise issues a lot of warnings.
83098         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
83099         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
83100         Likewise.
83101         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
83102         * modules/iconv_open (iconv.h): Likewise.
83103         * modules/locale (locale.h): Likewise.
83104         * modules/netinet_in (netinet/in.h): Likewise.
83105         * modules/sys_select (sys_select.h): Likewise.
83106         * modules/sys_socket (sys/socket.h): Likewise.
83107         * modules/sys_stat (sys/stat.h): Likewise.
83108         * modules/sysexits (sysexits.h): Likewise.
83109         * modules/unistd (unistd.h): Likewise.
83111 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83113         * modules/closein-tests (Makefile.am): Distribute
83114         `test-closein.sh'.
83116 2007-05-17  Bruno Haible  <bruno@clisp.org>
83118         * tests/test-printf-posix.output: Renamed from
83119         tests/test-fprintf-posix.out.
83120         * modules/fprintf-posix-tests: Update.
83121         * modules/printf-posix-tests: Update.
83122         * modules/vfprintf-posix-tests: Update.
83123         * modules/vprintf-posix-tests: Update.
83124         * tests/test-fprintf-posix.sh: Update.
83125         * tests/test-printf-posix.sh: Update.
83126         * tests/test-vfprintf-posix.sh: Update.
83127         * tests/test-vprintf-posix.sh: Update.
83128         Reported by Ralf Wildenhues.
83130 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
83132         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
83133         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
83134         GCC 4.2, which otherwise issues a lot of warnings.
83135         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
83136         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
83137         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
83138         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
83139         it should no longer be needed.
83140         * lib/string_.h: Likewise.
83141         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
83142         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
83143         * modules/inttypes (inttypes.h): Likewise.
83144         * modules/math (math.h): Likewise.
83145         * modules/search (search.h): Likewise.
83146         * modules/signal (signal.h): Likewise.
83147         * modules/stdint (stdint.h): Likewise.
83148         * modules/stdio (stdio.h): Likewise.
83149         * modules/stdlib (stdlib.h): Likewise.
83150         * modules/string (string.h): Likewise.
83151         * modules/sys_time (sys/time.h): Likewise.
83152         * modules/time (time.h): Likewise.
83153         * modules/wchar (wchar.h): Likewise.
83154         * modules/wctype (wtype.h): Likewise.
83156 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
83158         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
83160 2007-05-13  Bruno Haible  <bruno@clisp.org>
83162         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
83163         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
83164         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
83165         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
83166         (gl_PREREQ_STRTOK_R): Don't require it here.
83168 2007-05-13  Bruno Haible  <bruno@clisp.org>
83170         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
83171         when used in C++ mode.
83173 2007-05-12  Bruno Haible  <bruno@clisp.org>
83175         * lib/linebuffer.h: Tweak doc.
83176         * lib/linebuffer.c: Likewise.
83178 2007-05-12  James Youngman  <jay@gnu.org>
83180         * lib/linebuffer.c (readlinebuffer_delim): New function,
83181         like readlinebuffer, but use a caller-specified delimiter.
83182         (readlinebuffer): Just call readlinebuffer_delim with '\n'
83183         as the delimiter.
83184         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
83186 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
83188         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
83189         * modules/openat (Files): Remove openat-die.c.
83190         (Depends-on): Add openat-die.
83191         * modules/openat-die: New module.
83193 2007-05-06  Bruno Haible  <bruno@clisp.org>
83195         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
83196         Update with info about Cygwin.
83197         * doc/functions/fprintf.texi: Update.
83198         * doc/functions/printf.texi: Update.
83199         * doc/functions/snprintf.texi: Update.
83200         * doc/functions/sprintf.texi: Update.
83201         * doc/functions/vfprintf.texi: Update.
83202         * doc/functions/vprintf.texi: Update.
83203         * doc/functions/vsnprintf.texi: Update.
83204         * doc/functions/vsprintf.texi: Update.
83205         Reported by Eric Blake.
83207 2007-05-06  Bruno Haible  <bruno@clisp.org>
83209         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
83210         padding ourselves for the floating-point directives.
83211         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
83212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
83213         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
83214         gl_PRINTF_FLAG_ZERO and test its result. Invoke
83215         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
83216         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
83217         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
83218         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
83219         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
83220         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
83221         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83222         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
83223         * tests/test-snprintf-posix.h (test_function): Also check the width
83224         and some flags in the %f directive.
83225         * tests/test-sprintf-posix.h (test_function): Likewise.
83226         * tests/test-vasnprintf-posix.c (test_function): Likewise.
83227         * tests/test-vasprintf-posix.c (test_function): Likewise.
83228         * doc/functions/fprintf.texi: Update.
83229         * doc/functions/printf.texi: Update.
83230         * doc/functions/snprintf.texi: Update.
83231         * doc/functions/sprintf.texi: Update.
83232         * doc/functions/vfprintf.texi: Update.
83233         * doc/functions/vprintf.texi: Update.
83234         * doc/functions/vsnprintf.texi: Update.
83235         * doc/functions/vsprintf.texi: Update.
83237 2007-05-06  Bruno Haible  <bruno@clisp.org>
83239         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
83240         pass the ' flag character to sprintf or snprintf.
83241         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
83242         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
83243         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
83244         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
83245         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
83246         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
83247         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
83248         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
83249         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
83250         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
83251         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83252         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
83253         * tests/test-snprintf-posix.h (test_function): Also check the grouping
83254         flag.
83255         * tests/test-sprintf-posix.h (test_function): Likewise.
83256         * tests/test-vasnprintf-posix.c (test_function): Likewise.
83257         * tests/test-vasprintf-posix.c (test_function): Likewise.
83258         * doc/functions/fprintf.texi: Update.
83259         * doc/functions/printf.texi: Update.
83260         * doc/functions/snprintf.texi: Update.
83261         * doc/functions/sprintf.texi: Update.
83262         * doc/functions/vfprintf.texi: Update.
83263         * doc/functions/vprintf.texi: Update.
83264         * doc/functions/vsnprintf.texi: Update.
83265         * doc/functions/vsprintf.texi: Update.
83267 2007-05-01  Bruno Haible  <bruno@clisp.org>
83269         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
83271 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
83273         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
83274         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
83276 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
83278         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
83279         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
83280         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
83282 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
83284         * lib/argp-help.c (struct hol_entry): New member `ord'.
83285         (HOL_ENTRY_PTRCMP): Use ord for comparison
83286         (hol_sort): Initialize ord.
83288 2007-05-01  Bruno Haible  <bruno@clisp.org>
83290         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
83291         Reported by Eric Blake.
83292         * doc/gnulib.texi (Function Substitutes): Update.
83294 2007-05-01  Bruno Haible  <bruno@clisp.org>
83296         * doc/functions.texi: Remove file, now redundant through
83297         doc/functions/*.texi.
83299 2007-05-01  Bruno Haible  <bruno@clisp.org>
83301         * modules/argp (Depends-on): Add sleep.
83303 2007-05-01  Bruno Haible  <bruno@clisp.org>
83305         * modules/sleep-tests: New file.
83306         * tests/test-sleep.c: New file.
83308         * modules/sleep: New file.
83309         * lib/sleep.c: New file.
83310         * m4/sleep.m4: New file.
83311         * lib/unistd_.h (sleep): New declaration.
83312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
83313         HAVE_SLEEP.
83314         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
83315         * doc/functions/sleep.texi: Document the sleep module.
83317 2007-05-01  Bruno Haible  <bruno@clisp.org>
83319         * lib/sigprocmask.h: Remove file.
83320         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
83321         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
83322         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
83323         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
83324         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
83325         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
83326         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
83327         HAVE_SIGSET_T as a shell variable.
83328         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
83329         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
83330         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
83331         (Depends-on): Add signal. Remove verify.
83332         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
83333         (Include): Mention <signal.h> instead of sigprocmask.h.
83334         * NEWS: Mention the change.
83335         * lib/fatal-signal.c: Don't include sigprocmask.h.
83337 2007-05-01  Bruno Haible  <bruno@clisp.org>
83339         * modules/signal: New file.
83340         * lib/signal_.h: New file.
83341         * m4/signal_h.m4: New file.
83343 2007-05-01  Bruno Haible  <bruno@clisp.org>
83345         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
83346         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
83347         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
83348         HAVE_WCTYPE_CTMP_BUG into wctype.h.
83350 2007-05-01  Bruno Haible  <bruno@clisp.org>
83352         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
83353         configure time.
83354         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
83355         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
83356         * modules/sys_stat (Makefile.am): Substitute their values into
83357         sys/stat.h.
83359 2007-05-01  Bruno Haible  <bruno@clisp.org>
83361         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
83362         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
83363         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
83365 2007-05-01  Bruno Haible  <bruno@clisp.org>
83367         * doc/header/assert.texi: Undo last change: don't mention the gnulib
83368         'assert' module here.
83370 2007-05-01  Bruno Haible  <bruno@clisp.org>
83372         * doc/functions/*.texi: New files.
83373         * doc/functions/google-ranking.txt: New file.
83374         * doc/gnulib.texi (Function Substitutes): New chapter.
83375         (ctime, inet_ntoa): Remove sections.
83376         * doc/ctime.texi: Remove file.
83377         * doc/inet_ntoa.texi: Remove file.
83378         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
83379         dependencies.
83380         (%.info): New rule, specifying a --reference-limit.
83382 2007-05-01  Bruno Haible  <bruno@clisp.org>
83384         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
83386 2007-05-01  Bruno Haible  <bruno@clisp.org>
83388         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
83389         the portability of 'mkdir' to mingw systems.
83391 2007-05-01  Bruno Haible  <bruno@clisp.org>
83393         * doc/headers/google-ranking.txt: New file.
83395 2007-04-30  Eric Blake  <ebb9@byu.net>
83397         Prefer fseeko to fseek.
83398         * modules/getpass (Depends-on): Add fseeko.
83399         * lib/getpass.c (getpass): Use fseeko, not fseek.
83401 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
83403         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
83404         assumes the sorting is stable, while most qsort implementations
83405         are not.  Use argument addresses to ensure they never compare as
83406         equal.
83408         * tests/test-argp-2.sh (usage-indent test): Fix output
83409         (func_compare): Restore diff options
83410         * tests/test-argp.c: Restore #include "progname.h"
83412 2007-04-29  Bruno Haible  <bruno@clisp.org>
83414         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
83415         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
83416         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
83417         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
83418         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
83419         (configure.ac): Define CHECK_SNPRINTF_POSIX.
83420         (TESTS, check_PROGRAMS): Add test-snprintf.
83421         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
83422         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
83423         (TESTS, check_PROGRAMS): Add test-vsnprintf.
83424         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
83425         assertions that fail on HP-UX, OSF/1, or IRIX.
83426         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
83428 2007-04-29  Bruno Haible  <bruno@clisp.org>
83430         * MODULES.html.sh (posix_functions): Remove 'contents'.
83432 2007-04-29  Karl Berry  <karl@gnu.org>
83434         * config/srclist.txt (gendocs_template_min): new entry.
83436 2007-04-29  Bruno Haible  <bruno@clisp.org>
83438         Work around fpurge bug on BSD systems.
83439         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
83440         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
83441         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
83442         fpurge to rpl_fpurge if the system already has this function.
83443         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
83444         the case where the system already has this function. Correct invariants
83445         on BSD systems.
83446         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
83447         BSD systems.
83449 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
83451         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
83452         proposed by Sven Verdoolaege.
83454         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
83455         options.
83456         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
83457         (usage and help tests): Update
83459 2007-04-29  Bruno Haible  <bruno@clisp.org>
83461         * tests/test-fflush.c (main): Use a file of size 17, not 10.
83462         Print more information in case of failure. Disable a test on BeOS.
83464 2007-04-29  Bruno Haible  <bruno@clisp.org>
83466         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
83467         This helps debugging on systems on which no gdb is available.
83469 2007-04-29  Bruno Haible  <bruno@clisp.org>
83471         * lib/freading.h: Improve comments.
83472         * lib/fwriting.h: Likewise.
83473         * tests/test-freading.c (main): Don't check freading immediately after
83474         repositioning. Needed for glibc.
83476 2007-04-29  Bruno Haible  <bruno@clisp.org>
83478         * lib/freading.c (freading): Trivial simplification.
83480 2007-04-28  Bruno Haible  <bruno@clisp.org>
83482         * tests/test-fwriting.c (main): Also test the interaction between
83483         fflush and fwriting.
83484         * modules/fwriting-tests (Depends-on): Add fflush.
83486         * tests/test-freading.c (main): Also test the interaction between
83487         fflush and freading.
83488         * modules/freading-tests (Depends-on): Add fflush.
83490 2007-04-28  Bruno Haible  <bruno@clisp.org>
83492         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
83493         fseeko and ftello.
83494         Suggested by Eric Blake.
83496 2007-04-28  Jim Meyering  <jim@meyering.net>
83498         Avoid false-negative in gl_STDINT_H's C99 conformance test.
83499         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
83500         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
83502 2007-04-27  Eric Blake  <ebb9@byu.net>
83504         * doc/headers/assert.texi (assert.h): Document assert module use.
83506 2007-04-27  Bruno Haible  <bruno@clisp.org>
83508         * doc/headers/*.texi: New files.
83509         * doc/gnulib.texi (Header File Substitutes): New chapter.
83510         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
83511         dependencies.
83512         (standards.info ,standards.html, standards.dvi): Update dependencies.
83513         (mostlyclean, clean): New targets.
83515 2007-04-27  Bruno Haible  <bruno@clisp.org>
83517         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
83518         * modules/sysexits (Files, Makefile.am): Update.
83520         * lib/sys_socket_.h: Renamed from lib/socket_.h.
83521         * modules/sys_socket (Files, Makefile.am): Update.
83523         * lib/sys_stat_.h: Renamed from lib/stat_.h.
83524         * modules/sys_stat (Files, Makefile.am): Update.
83526 2007-04-27  Eric Blake  <ebb9@byu.net>
83528         * lib/freading.h: Improve comments.
83529         * lib/fwriting.h: Likewise.
83530         * lib/fflush.c: Likewise.
83532         Fix closein for mingw.
83533         * modules/closein-tests: Add tests for closein.
83534         * tests/test-closein.c: New file.
83535         * tests/test-closein.sh: Likewise.
83536         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
83537         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
83539 2007-04-27  Bruno Haible  <bruno@clisp.org>
83541         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
83542         version is < 6.
83543         * lib/math_.h [__DECC]: Likewise.
83544         * lib/stdio_.h [__DECC]: Likewise.
83545         * lib/stdlib_.h [__DECC]: Likewise.
83546         * lib/string_.h [__DECC]: Likewise.
83547         * lib/time_.h [__DECC]: Likewise.
83548         * lib/wchar_.h [__DECC]: Likewise.
83549         * lib/wctype_.h [__DECC]: Likewise.
83551 2007-04-27  Bruno Haible  <bruno@clisp.org>
83553         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
83555 2007-04-27  Bruno Haible  <bruno@clisp.org>
83557         * lib/fflush.c: Add comments.
83558         * modules/fpurge-tests (Depends-on): Add fflush.
83559         * modules/freadable-tests (Depends-on): Likewise.
83560         * modules/fwritable-tests (Depends-on): Likewise.
83562 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
83564         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
83565         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
83566         Report by Bruno Haible <bruno@clisp.org>.
83568 2007-04-26  Eric Blake  <ebb9@byu.net>
83570         Fix fflush on mingw.
83571         * modules/fflush (Depends-on): Add freading.
83572         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
83573         but unread data.
83575 2007-04-26  Eric Blake  <ebb9@byu.net>
83576         and Bruno Haible  <bruno@clisp.org>
83578         Implement freading and fwriting.
83579         * lib/freading.c: New file.
83580         * lib/freading.h: Likewise.
83581         * m4/freading.m4: Likewise.
83582         * modules/freading: Likewise.
83583         * modules/freading-tests: Likewise.
83584         * tests/test-freading.c: Likewise.
83585         * lib/fwriting.c: New file.
83586         * lib/fwriting.h: Likewise.
83587         * m4/fwriting.m4: Likewise.
83588         * modules/fwriting: Likewise.
83589         * modules/fwriting-tests: Likewise.
83590         * tests/test-fwriting.c: Likewise.
83591         * MODULES.html.sh (File stream based Input/Output): Mention them.
83593 2007-04-26  Bruno Haible  <bruno@clisp.org>
83595         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
83596         'long' when we assume it.
83597         Suggested by Eric Blake.
83599 2007-04-26  Bruno Haible  <bruno@clisp.org>
83601         Ensure fseeko, ftello are declared on glibc systems.
83602         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
83603         * modules/fseeko (configure.ac-early): Likewise.
83604         * modules/ftello (configure.ac-early): Likewise.
83605         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
83606         AC_FUNC_FSEEKO for this.
83607         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
83608         (gl_CHECK_FSEEKO): Remove macro.
83610 2007-04-26  Bruno Haible  <bruno@clisp.org>
83612         * tests/test-fflush.c (main): Also check the ftell result after
83613         fflush and fseek/fseeko.
83614         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
83615         file descriptor position cache in the stream.
83616         * lib/fseeko.c (rpl_fseeko): Likewise.
83618 2007-04-26  Bruno Haible  <bruno@clisp.org>
83620         * modules/fflush-tests (Depends-on): Add fseeko.
83622 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
83623             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83625         * lib/argz_.h: ensure error_t definition is obtained in same
83626         mechanism system argz.h would have.
83627         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
83628         argz facilities are known bad.  Err on the side of caution if
83629         cross-compiling.
83631 2007-04-25  Eric Blake  <ebb9@byu.net>
83633         * lib/fpurge.c (includes): Use stdlib.h for free.
83634         * tests/test-fflush.c (main): Also test fflush-fseeko.
83636 2007-04-25  Bruno Haible  <bruno@clisp.org>
83638         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
83639         * lib/fseeko.c: New file.
83640         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
83641         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
83642         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
83643         gl_FUNC_FSEEKO.
83644         (gl_FUNC_FSEEKO): Invoke it.
83645         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
83646         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
83647         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
83649 2007-04-25  Bruno Haible  <bruno@clisp.org>
83651         * modules/fflush (Depends-on): Add ftello.
83653 2007-04-25  Bruno Haible  <bruno@clisp.org>
83655         * modules/ftello-tests: New file.
83656         * tests/test-ftello.c: New file.
83658         * modules/ftello: New file.
83659         * m4/ftello.m4: New file.
83660         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
83661         HAVE_FTELLO.
83662         * lib/stdio_.h (ftello): New declaration.
83663         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
83664         HAVE_FTELLO.
83666 2007-04-25  Bruno Haible  <bruno@clisp.org>
83668         * modules/fseeko-tests: New file.
83669         * tests/test-fseeko.c: New file.
83671         * modules/fseeko: New file.
83672         * m4/fseeko.m4: New file.
83673         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
83674         HAVE_FSEEKO.
83675         * lib/stdio_.h (fseeko): New declaration.
83676         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
83677         HAVE_FSEEKO.
83679 2007-04-25  Bruno Haible  <bruno@clisp.org>
83681         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
83683 2007-04-25  Bruno Haible  <bruno@clisp.org>
83685         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
83686         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
83687         * tests/test-unistd.c: Likewise.
83688         * tests/test-fcntl.c: Likewise.
83690 2007-04-23  Eric Blake  <ebb9@byu.net>
83692         * lib/fflush.c: Fix missing include.
83693         Reported by Bruno Haible.
83695 2007-04-23  Bruno Haible  <bruno@clisp.org>
83697         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
83698         Reported by Eric Blake.
83700 2007-04-23  Bruno Haible  <bruno@clisp.org>
83702         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
83704 2007-04-23  Bruno Haible  <bruno@clisp.org>
83706         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
83708 2007-04-23  Bruno Haible  <bruno@clisp.org>
83710         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
83711         Needed on HP-UX 11.
83713 2007-04-16  Eric Blake  <ebb9@byu.net>
83715         Make fflush rely on fpurge.
83716         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
83717         open coding all variants.
83718         * modules/fflush (Depends-on): Add fpurge and unistd.
83719         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
83720         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
83722         Fix --with-tests compilation on cygwin.
83723         * modules/argmatch-tests (Makefile.am): List gnulib library first
83724         in LDADD.
83725         * modules/argp-tests (Makefile.am): Likewise.
83726         * modules/array-list-tests (Makefile.am): Likewise.
83727         * modules/array-oset-tests (Makefile.am): Likewise.
83728         * modules/avltree-list-tests (Makefile.am): Likewise.
83729         * modules/avltree-oset-tests (Makefile.am): Likewise.
83730         * modules/avltreehash-list-tests (Makefile.am): Likewise.
83731         * modules/carray-list-tests (Makefile.am): Likewise.
83732         * modules/dirname-tests (Makefile.am): Likewise.
83733         * modules/frexp-tests (Makefile.am): Likewise.
83734         * modules/isnanl-tests (Makefile.am): Likewise.
83735         * modules/linked-list-tests (Makefile.am): Likewise.
83736         * modules/linkedhash-list-tests (Makefile.am): Likewise.
83737         * modules/lock-tests (Makefile.am): Likewise.
83738         * modules/rbtree-list-tests (Makefile.am): Likewise.
83739         * modules/rbtree-oset-tests (Makefile.am): Likewise.
83740         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
83741         * modules/tls-tests (Makefile.am): Likewise.
83742         * modules/tsearch-tests (Makefile.am): Likewise.
83743         * modules/xvasprintf-tests (Makefile.am): Likewise.
83745         Fix fpurge for cygwin.
83746         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
83747         value.
83748         * modules/fpurge-tests (Depends-on): Clean up trash.
83750 2007-04-16  Simon Josefsson  <simon@josefsson.org>
83752         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
83754         * m4/autobuild.m4: Re-indent.
83756 2007-04-13  Bruno Haible  <bruno@clisp.org>
83758         * modules/fpurge-tests: New file.
83759         * tests/test-fpurge.c: New file.
83761         * modules/fpurge: New file.
83762         * lib/fpurge.h: New file.
83763         * lib/fpurge.c: New file.
83764         * m4/fpurge.m4: New file.
83766 2007-04-13  Bruno Haible  <bruno@clisp.org>
83768         * modules/fbufmode-tests: New file.
83769         * tests/test-fbufmode.c: New file.
83771         * modules/fbufmode: New file.
83772         * lib/fbufmode.h: New file.
83773         * lib/fbufmode.c: New file.
83774         * m4/fbufmode.m4: New file.
83776 2007-04-13  Bruno Haible  <bruno@clisp.org>
83778         * modules/fwritable-tests: New file.
83779         * tests/test-fwritable.c: New file.
83781         * modules/fwritable: New file.
83782         * lib/fwritable.h: New file.
83783         * lib/fwritable.c: New file.
83784         * m4/fwritable.m4: New file.
83786 2007-04-13  Bruno Haible  <bruno@clisp.org>
83788         * modules/freadable-tests: New file.
83789         * tests/test-freadable.c: New file.
83791         * modules/freadable: New file.
83792         * lib/freadable.h: New file.
83793         * lib/freadable.c: New file.
83794         * m4/freadable.m4: New file.
83796 2007-04-13  Bruno Haible  <bruno@clisp.org>
83798         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
83799         MOSTLYCLEANFILES.
83801 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
83803         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
83804         gzip bootstrap.conf to avoid dragging in i18n machinery.
83805         (gnulib_tool_option): Use it.
83807 2007-04-13  Bruno Haible  <bruno@clisp.org>
83809         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
83810         %F directives.
83811         * tests/test-vasprintf-posix.c (test_function): Likewise.
83812         * tests/test-snprintf-posix.h (test_function): Likewise.
83813         * tests/test-sprintf-posix.h (test_function): Likewise.
83814         * tests/test-fprintf-posix.h (test_function): Likewise.
83815         * tests/test-printf-posix.h (test_function): Likewise.
83816         * tests/test-fprintf-posix.out: Likewise.
83818 2007-04-13  Bruno Haible  <bruno@clisp.org>
83820         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
83821         * modules/tls-tests (configure.ac): Likewise.
83822         Reported by Arto C. Nirkko <anirkko@insel.ch>.
83824 2007-04-13  Bruno Haible  <bruno@clisp.org>
83826         * lib/tls.c (glthread_tls_get): Fix return type.
83827         Patch by Arto C. Nirkko <anirkko@insel.ch>.
83829 2007-04-12  Eric Blake  <ebb9@byu.net>
83831         * modules/gettime (Depends-on): Remove gettime.
83832         Reported by Dmitry V. Levin.
83834 2007-04-12  Bruno Haible  <bruno@clisp.org>
83836         * modules/fflush (Include): Mention <stdio.h>.
83837         * modules/strtoimax (Include): Mention <inttypes.h>.
83838         * modules/strtoumax (Include): Likewise.
83840 2007-04-12  Eric Blake  <ebb9@byu.net>
83842         * .cvsignore: New file.
83843         * .gitignore: Likewise.
83845 2007-04-12  Bruno Haible  <bruno@clisp.org>
83847         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
83848         not before, since $(LDADD) often contains libgnu.a.
83849         * modules/striconv-tests (test_striconv_LDADD): Likewise.
83850         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
83851         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
83852         Needed on Cygwin.
83854 2007-04-12  Eric Blake  <ebb9@byu.net>
83856         Work around glibc's failure to flush stdin on fclose.
83857         * lib/closein.c (close_stdin): Flush stdin before closing.
83859         Work around glibc's failure to reset seekable stdin on exit.
83860         * modules/closein: New module.
83861         * lib/closein.c: New file.
83862         * lib/closein.h: Likewise.
83863         * m4/closein.m4: Likewise.
83864         * MODULES.html.sh (File stream based Input/Output): Document it.
83866 2007-04-12  Simon Josefsson  <simon@josefsson.org>
83868         * gnulib-tool: Rename generated 'autobuild' script to
83869         'do-autobuild' in --create-megatestdir output.
83871         * doc/gnulib.texi (Build robot for gnulib): Fix.
83873 2007-04-12  Simon Josefsson  <simon@josefsson.org>
83875         * modules/sysexits (Depends-on): Add absolute-header.
83877 2007-04-12  Eric Blake  <ebb9@byu.net>
83879         No need to preserve errno on success.
83880         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
83881         Reported by Bruno Haible.
83883 2007-04-12  Simon Josefsson  <simon@josefsson.org>
83885         * MODULES.html.sh (Support for maintaining and releasing
83886         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
83888 2007-04-12  Simon Josefsson  <simon@josefsson.org>
83890         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
83892 2007-04-12  Simon Josefsson  <simon@josefsson.org>
83894         * modules/autobuild: New module.
83896         * m4/autobuild.m4: New file.
83898 2007-04-11  Bruno Haible  <bruno@clisp.org>
83900         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
83901         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
83902         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
83903         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
83904         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
83905         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83906         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83907         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
83908         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83909         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83910         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
83911         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83912         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83913         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
83914         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83915         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83916         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
83917         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83918         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83919         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
83920         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83921         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83922         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
83923         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83924         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83925         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
83926         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
83927         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
83928         Reported by Eric Blake.
83930 2007-04-11  Bruno Haible  <bruno@clisp.org>
83932         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
83934 2007-04-10  Bruno Haible  <bruno@clisp.org>
83936         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
83937         for NaN and Infinity. Needed on FreeBSD 6.1.
83938         * tests/test-vasnprintf-posix.c (test_function): Undo last change
83939         regarding results for "%010a" of Infinity and NaN.
83940         * tests/test-vasprintf-posix.c (test_function): Likewise.
83941         * tests/test-snprintf-posix.h (test_function): Likewise.
83942         * tests/test-sprintf-posix.h (test_function): Likewise.
83943         * tests/test-fprintf-posix.h (test_function): Likewise.
83944         * tests/test-printf-posix.h (test_function): Likewise.
83945         * tests/test-fprintf-posix.out: Likewise.
83947 2007-04-10  Bruno Haible  <bruno@clisp.org>
83949         * modules/locale-tests: New file.
83950         * tests/test-locale.c: New file.
83952         * modules/locale: New file.
83953         * lib/locale_.h: New file.
83954         * m4/locale_h.m4: New file.
83956 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
83957             Bruno Haible  <bruno@clisp.org>
83959         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
83960         be determined, test for availability of the copysignf, copysign,
83961         copysignl functions.
83962         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
83963         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
83964         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
83966 2007-04-09  Eric Blake  <ebb9@byu.net>
83968         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
83969         * modules/stdio (Makefile.am): Support fflush.
83970         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83971         * modules/fflush: New file.
83972         * lib/fflush.c: Likewise.
83973         * m4/fflush.m4: Likewise.
83974         * modules/fflush-tests: New test.
83975         * tests/test-fflush.c: Likewise.
83976         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
83978 2007-04-06  Bruno Haible  <bruno@clisp.org>
83980         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
83981         (VASNPRINTF): Use signbit for faster determination whether to print a
83982         minus sign.
83983         * modules/vasnprintf (Files): Remove lib/float+.h.
83984         * modules/fprintf-posix (Depends-on): Add signbit.
83985         * modules/snprintf-posix (Depends-on): Likewise.
83986         * modules/sprintf-posix (Depends-on): Likewise.
83987         * modules/vasnprintf-posix (Depends-on): Likewise.
83988         * modules/vasprintf-posix (Depends-on): Likewise.
83989         * modules/vfprintf-posix (Depends-on): Likewise.
83990         * modules/vsnprintf-posix (Depends-on): Likewise.
83991         * modules/vsprintf-posix (Depends-on): Likewise.
83993 2007-04-06  Bruno Haible  <bruno@clisp.org>
83995         * tests/test-frexp.c (main): Test also the sign bit of zero results.
83996         * tests/test-frexpl.c (main): Likewise.
83997         * tests/test-ldexpl.c (main): Likewise.
83998         * modules/frexp-tests (Depends-on): Add signbit.
83999         * modules/frexpl-tests (Depdends-on): Likewise.
84000         * modules/ldexpl-tests (Depdends-on): Likewise.
84002 2007-04-06  Bruno Haible  <bruno@clisp.org>
84004         * modules/signbit-tests: New file.
84005         * tests/test-signbit.c: New file.
84007         * modules/signbit: New file.
84008         * lib/signbitf.c: New file.
84009         * lib/signbitd.c: New file.
84010         * lib/signbitl.c: New file.
84011         * m4/signbit.m4: New file.
84012         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
84013         (signbit): New macro.
84014         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
84015         REPLACE_SIGNBIT.
84016         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
84017         REPLACE_FREXPL into math.h.
84019 2007-04-06  Bruno Haible  <bruno@clisp.org>
84021         * modules/isnanf-nolibm-tests: New file.
84022         * tests/test-isnanf.c: New file.
84024         * modules/isnanf-nolibm: New file.
84025         * lib/isnanf.h: New file.
84026         * lib/isnanf.c: New file.
84027         * lib/isnan.c: Consider the USE_FLOAT macro.
84028         * m4/isnanf.m4: New file.
84030 2007-04-06  Bruno Haible  <bruno@clisp.org>
84032         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
84033         (Link): New section.
84035         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
84037 2007-04-06  Bruno Haible  <bruno@clisp.org>
84039         Assume the 'long double' type.
84040         * m4/longdouble.m4: Remove file.
84041         * config/srclist.txt: Don't mention longdouble.m4.
84042         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
84043         * lib/float+.h: Likewise.
84044         * lib/frexp.c: Likewise.
84045         * lib/printf-args.h: Likewise.
84046         * lib/printf-args.c: Likewise.
84047         * lib/printf-frexp.c: Likewise.
84048         * lib/printf-parse.c: Likewise.
84049         * lib/vasnprintf.c: Likewise.
84050         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
84051         * m4/intl.m4: Likewise.
84052         * m4/isnanl.m4: Likewise.
84053         * m4/printf.m4: Likewise.
84054         * m4/printf-frexpl.m4: Likewise.
84055         * m4/vasnprintf.m4: Likewise.
84056         * modules/allocsa (Files): Remove m4/longdouble.m4.
84057         * modules/gettext (Files): Likewise.
84058         * modules/relocatable-prog-wrapper (Files): Likewise.
84059         * modules/vasnprintf (Files): Likewise.
84060         * modules/isnanl (Files): Likewise.
84061         (Include): Simplify.
84062         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
84063         (Include): Simplify.
84064         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
84065         (Include): Simplify.
84066         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
84067         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84068         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
84069         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84070         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
84071         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84072         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
84073         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84074         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
84075         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84076         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
84077         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
84078         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
84079         * tests/test-isnanl.c: Likewise.
84080         * tests/test-snprintf-posix.h: Likewise.
84081         * tests/test-sprintf-posix.h: Likewise.
84082         * tests/test-vasnprintf-posix.c: Likewise.
84083         * tests/test-vasnprintf-posix2.c: Likewise.
84084         * tests/test-vasprintf-posix.c: Likewise.
84086 2007-04-06  Bruno Haible  <bruno@clisp.org>
84088         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
84089         * lib/math_.h [__DECC]: Include the overridden include file through
84090         #include_next, outside the double-inclusion guard.
84091         * lib/stdio_.h [__DECC]: Likewise.
84092         * lib/stdlib_.h [__DECC]: Likewise.
84093         * lib/string_.h [__DECC]: Likewise.
84094         * lib/time_.h [__DECC]: Likewise.
84095         * lib/wchar_.h [__DECC]: Likewise.
84096         * lib/wctype_.h [__DECC]: Likewise.
84097         * lib/inttypes_.h [__DECC]: Likewise.
84098         Reported by Albert Chin <china@thewrittenword.com> in
84099         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
84101 2007-04-04  Eric Blake  <ebb9@byu.net>
84103         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
84104         1.5.x.
84106 2007-04-04  Bruno Haible  <bruno@clisp.org>
84108         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
84109         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
84111 2007-04-04  Bruno Haible  <bruno@clisp.org>
84113         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
84114         results for "%010a" of Infinity and NaN.
84115         * tests/test-vasprintf-posix.c (test_function): Likewise.
84116         * tests/test-snprintf-posix.h (test_function): Likewise.
84117         * tests/test-sprintf-posix.h (test_function): Likewise.
84118         * tests/test-fprintf-posix.h (test_function): Remove these tests.
84119         * tests/test-printf-posix.h (test_function): Likewise.
84120         * tests/test-fprintf-posix.out: Update.
84121         Needed for FreeBSD 6.1.
84123 2007-04-04  Bruno Haible  <bruno@clisp.org>
84125         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
84126         directly used by the gnulib modules nor by gnulib-tool.
84128 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
84130         * DEPENDENCIES: Give overall description of version dependency
84131         desirability.  Use more-typical names for apps.
84132         Add shell, coreutils, diffutils, grep, tar, gzip.
84134 2007-04-04  Simon Josefsson  <simon@josefsson.org>
84136         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
84138 2007-04-04  Karl Berry  <karl@gnu.org>
84140         * MODULES.html.sh (func_module): missing '.
84142 2007-04-03  Bruno Haible  <bruno@clisp.org>
84144         * modules/argmatch-tests (Makefile.am): New variable
84145         test_argmatch_LDADD.
84146         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
84147         * modules/array-list-tests (Makefile.am): New variable
84148         test_array_list_LDADD.
84149         * modules/array-oset-tests (Makefile.am): New variable
84150         test_array_oset_LDADD.
84151         * modules/avltree-list-tests (Makefile.am): New variable
84152         test_avltree_list_LDADD.
84153         * modules/avltree-oset-tests (Makefile.am): New variable
84154         test_avltree_oset_LDADD.
84155         * modules/avltreehash-list-tests (Makefile.am): New variable
84156         test_avltreehash_list_LDADD.
84157         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
84158         test_canonicalize_lgpl_LDADD.
84159         * modules/carray-list-tests (Makefile.am): New variable
84160         test_carray_list_LDADD.
84161         * modules/dirname-tests (Makefile.am): New variable
84162         test_dirname_LDADD.
84163         * modules/linked-list-tests (Makefile.am): New variable
84164         test_linked_list_LDADD.
84165         * modules/linkedhash-list-tests (Makefile.am): New variable
84166         test_linkedhash_list_LDADD.
84167         * modules/rbtree-list-tests (Makefile.am): New variable
84168         test_rbtree_list_LDADD.
84169         * modules/rbtree-oset-tests (Makefile.am): New variable
84170         test_rbtree_oset_LDADD.
84171         * modules/rbtreehash-list-tests (Makefile.am): New variable
84172         test_rbtreehash_list_LDADD.
84173         * modules/xvasprintf-tests (Makefile.am): New variable
84174         test_xvasprintf_LDADD.
84175         Reported by Eric Blake.
84177 2007-04-03  Eric Blake  <ebb9@byu.net>
84179         * DEPENDENCIES: Weaken m4 requirements.
84181 2007-04-03  Bruno Haible  <bruno@clisp.org>
84183         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
84184         * modules/isnanl-tests (configure.ac): Likewise.
84186 2007-04-03  Ben Pfaff  <blp@gnu.org>
84188         * modules/iconv_open: Add $(srcdir)/ to source directory
84189         references in Makefile fragments that call gperf, to fix VPATH
84190         builds.
84192 2007-04-03  Bruno Haible  <bruno@clisp.org>
84194         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
84195         * lib/ldexpl.c: Undo last change.
84197 2007-04-03  Bruno Haible  <bruno@clisp.org>
84199         * modules/printf-frexpl (Depends-on): Undo last change.
84200         (Files): Add m4/ldexpl.m4.
84202 2007-04-03  Bruno Haible  <bruno@clisp.org>
84204         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
84205         * modules/isnanl (Link): New section.
84207         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
84208         * modules/frexp (Link): New section.
84210         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
84211         * modules/frexpl (Link): New section.
84213         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
84214         * modules/ldexpl (Link): New section.
84216 2007-04-03  Bruno Haible  <bruno@clisp.org>
84218         * modules/TEMPLATE-EXTENDED: New file.
84219         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
84221 2007-04-03  Bruno Haible  <bruno@clisp.org>
84223         * DEPENDENCIES: New file.
84224         Suggested by Simon Josefsson.
84226 2007-04-03  Bruno Haible  <bruno@clisp.org>
84228         * doc/gnulib.texi: Escape @.
84230 2007-04-03  James Youngman  <jay@gnu.org>
84231         and Paul Eggert  <eggert@cs.ucla.edu>
84233         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
84234         birthtime on all systems that have birthtime, not just those which
84235         use st_birthtimensec rather than st_birthtim.  Putting zero in
84236         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
84237         that the birth time is not available for files on an NFS mount.
84239 2007-04-03  Simon Josefsson  <simon@josefsson.org>
84241         * modules/memxor: Move back from crypto/, suggested by Bruno.
84242         * modules/crypto/hmac-sha1: Fix memxor dependency.
84244         * modules/crypto/gc: Moved from ../.
84246 2007-04-02  Eric Blake  <ebb9@byu.net>
84248         * lib/ldexpl.c (includes): Avoid libm.
84250         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
84252 2007-04-02  Bruno Haible  <bruno@clisp.org>
84254         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
84255         on IRIX.
84257 2007-04-02  Bruno Haible  <bruno@clisp.org>
84259         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
84260         x86 or x86_64 platforms running MacOS X.
84261         Reported by Ryan Schmidt <@ryandesign.com>.
84263 2007-04-02  Bruno Haible  <bruno@clisp.org>
84265         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
84266         i386.
84268 2007-04-01  Simon Josefsson  <simon@josefsson.org>
84270         * modules/crypto/arcfour: Moved from ../.
84271         * modules/crypto/arcfour-tests: Moved from ../.
84272         * modules/crypto/arctwo: Moved from ../.
84273         * modules/crypto/arctwo-tests: Moved from ../.
84274         * modules/crypto/des: Moved from ../.
84275         * modules/crypto/des-tests: Moved from ../.
84276         * modules/crypto/gc-arcfour: Moved from ../.
84277         * modules/crypto/gc-arcfour-tests: Moved from ../.
84278         * modules/crypto/gc-arctwo: Moved from ../.
84279         * modules/crypto/gc-arctwo-tests: Moved from ../.
84280         * modules/crypto/gc-des: Moved from ../.
84281         * modules/crypto/gc-des-tests: Moved from ../.
84282         * modules/crypto/gc-hmac-md5: Moved from ../.
84283         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
84284         * modules/crypto/gc-hmac-sha1: Moved from ../.
84285         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
84286         * modules/crypto/gc-md2: Moved from ../.
84287         * modules/crypto/gc-md2-tests: Moved from ../.
84288         * modules/crypto/gc-md4: Moved from ../.
84289         * modules/crypto/gc-md4-tests: Moved from ../.
84290         * modules/crypto/gc-md5: Moved from ../.
84291         * modules/crypto/gc-md5-tests: Moved from ../.
84292         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
84293         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
84294         * modules/crypto/gc-random: Moved from ../.
84295         * modules/crypto/gc-rijndael: Moved from ../.
84296         * modules/crypto/gc-rijndael-tests: Moved from ../.
84297         * modules/crypto/gc-sha1: Moved from ../.
84298         * modules/crypto/gc-sha1-tests: Moved from ../.
84299         * modules/crypto/gc-tests: Moved from ../.
84300         * modules/crypto/hmac-md5: Moved from ../.
84301         * modules/crypto/hmac-md5-tests: Moved from ../.
84302         * modules/crypto/hmac-sha1: Moved from ../.
84303         * modules/crypto/hmac-sha1-tests: Moved from ../.
84304         * modules/crypto/md2: Moved from ../.
84305         * modules/crypto/md2-tests: Moved from ../.
84306         * modules/crypto/md4: Moved from ../.
84307         * modules/crypto/md4-tests: Moved from ../.
84308         * modules/crypto/md5: Moved from ../.
84309         * modules/crypto/md5-tests: Moved from ../.
84310         * modules/crypto/memxor: Moved from ../.
84311         * modules/crypto/rijndael: Moved from ../.
84312         * modules/crypto/rijndael-tests: Moved from ../.
84313         * modules/crypto/sha1: Moved from ../.
84315 2007-03-30  James Youngman  <jay@gnu.org>
84317         * tests/test-stat-time.c (prepare_test): use chmod() rather than
84318         rename() to change the ctime of a file (because ctime is unaffected
84319         by rename on jfs2 on AIX 5.1).
84320         (main): Start by doing cleanup, in case a previous run failed leaving
84321         test files behind.
84323 2007-03-31  Bruno Haible  <bruno@clisp.org>
84325         Support old proprietary implementations of iconv.
84326         * modules/iconv_open: New file.
84327         * lib/iconv_.h: New file.
84328         * m4/iconv_h.m4: New file.
84329         * lib/iconv_open.c: New file.
84330         * lib/iconv_open-aix.gperf: New file.
84331         * lib/iconv_open-hpux.gperf: New file.
84332         * lib/iconv_open-irix.gperf: New file.
84333         * lib/iconv_open-osf.gperf: New file.
84334         * m4/iconv_open.m4: New file.
84335         * modules/linebreak (Depends-on): Add iconv_open.
84336         * modules/striconv (Depends-on): Likewise.
84337         * modules/striconveh (Depends-on): Likewise.
84338         * modules/unicodeio (Depends-on): Likewise.
84339         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
84340         (iconv_t)(-1).
84341         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
84342         conversion if cd is (iconv_t)(-1).
84343         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
84344         is not possible.
84346 2007-03-31  Bruno Haible  <bruno@clisp.org>
84348         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
84349         work on Solaris either. Protect also second use of "autodetect_jp".
84351 2007-03-31  Bruno Haible  <bruno@clisp.org>
84353         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
84354         the function is not present.
84356 2007-03-31  Bruno Haible  <bruno@clisp.org>
84358         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
84359         the function is not present.
84361 2007-03-31  Bruno Haible  <bruno@clisp.org>
84363         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
84364         a bug in HP-UX iconv_open().
84366 2007-03-31  Bruno Haible  <bruno@clisp.org>
84368         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
84369         (Mathematics <math.h>): New section, add fpieee.
84370         (Input/output <stdio.h>): Add fseterr.
84371         (Mathematics <math.h>): New section, add printf-frexp.
84372         (Container data structures): Add sublist.
84373         (Core language properties): Add fpucw, inline.
84374         (Functions for greatest-width integer types <inttypes.h>): Add
84375         imaxabs, imaxdiv, inttypes.
84376         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
84377         isnanl-nolibm, ldexp.
84378         (Mathematics <math.h>): New section, add printf-frexpl.
84379         (Support for systems lacking POSIX:2001): Add fprintf-posix,
84380         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
84381         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
84382         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
84383         (Unicode string functions): Add unistr/u*-mbtoucr.
84384         (Java): Add javacomp-script, javaexec-script.
84385         (C#): Add csharpcomp-script, csharpexec-script.
84386         (Support for building libraries and executables): Add havelib,
84387         relocatable-*.
84388         (Support for maintaining and releasing projects): Renamed from
84389         'Support for maintaining and release projects'. Add announce-gen.
84391 2007-03-31  Bruno Haible  <bruno@clisp.org>
84393         * README: Talk primarily about git.
84394         (git and CVS): Renamed from CVS.
84395         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
84396         gnulib is available through git.
84397         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
84399 2007-03-30  Bruno Haible  <bruno@clisp.org>
84401         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
84402         * lib/poll_.h: Likewise.
84403         * lib/stat_.h: Likewise.
84404         * lib/sys_time_.h: Likewise.
84405         * lib/sysexit_.h: Likewise.
84406         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
84407         * lib/stdbool_.h: Likewise.
84408         * lib/byteswap_.h: Add double-inclusion guard.
84410 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
84412         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
84414 2007-03-30  Karl Berry  <karl@gnu.org>
84416         * config/srclist-update: double space after USA in the license
84417         substitution, since that's how it's usually (?) written.
84419 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
84421         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
84422         reported by Bruno Haible.
84424 2007-03-29  Bruno Haible  <bruno@clisp.org>
84426         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
84427         a bug in AIX iconv().
84429 2007-03-29  Bruno Haible  <bruno@clisp.org>
84431         * modules/ldexpl-tests: New file.
84432         * tests/test-ldexpl.c: New file.
84434 2007-03-29  Bruno Haible  <bruno@clisp.org>
84436         * lib/ldexpl.c: Include fpucw.h.
84437         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
84438         multiplication.
84439         * modules/ldexpl (Depends-on): Add fpucw.
84441 2007-03-29  Bruno Haible  <bruno@clisp.org>
84443         * modules/ldexpl: New file.
84444         * m4/ldexpl.m4: New file.
84445         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
84446         set.
84447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
84448         REPLACE_LDEXPL.
84449         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
84450         REPLACE_LDEXPL.
84451         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
84452         gl_FUNC_LDEXPL_WORKS.
84453         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
84454         * modules/mathl (Files): Remove lib/ldexpl.c.
84455         (Depends-on): Add ldexpl.
84457 2007-03-29  Bruno Haible  <bruno@clisp.org>
84459         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
84461 2007-03-29  Bruno Haible  <bruno@clisp.org>
84463         * tests/test-striconveh.c (main): Don't assume that a direct conversion
84464         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
84465         and possibly also HP-UX.
84466         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
84467         work on AIX, IRIX, HP-UX, OSF/1.
84468         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
84469         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
84470         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
84471         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
84472         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
84473         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
84475 2007-03-29  Bruno Haible  <bruno@clisp.org>
84477         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
84479 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
84481         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
84482         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
84484 2007-03-29  Eric Blake  <ebb9@byu.net>
84486         * lib/acl-internal.h: Remove redundant include.
84487         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
84488         Cygwin when a file is locked.
84490 2007-03-29  Bruno Haible  <bruno@clisp.org>
84492         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
84493         file.
84494         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
84496 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
84498         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
84499         try to remove a parent directory if the child couldn't be removed
84500         (except for the first rmdir, which could fail because the child
84501         doesn't exist).  Problem reported by Jeff Blaine in
84502         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
84504 2007-03-28  Bruno Haible  <bruno@clisp.org>
84506         * lib/striconveh.c (utf8conv_carefully): New function.
84507         (mem_cd_iconveh_internal): Invoke it.
84509 2007-03-28  Bruno Haible  <bruno@clisp.org>
84511         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
84512         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
84513         input.
84514         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
84515         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
84516         unistr/u8-uctomb.
84518 2007-03-28  Bruno Haible  <bruno@clisp.org>
84520         * modules/unistr/u8-mbtoucr: New file.
84521         * lib/unistr/u8-mbtoucr.c: New file.
84522         * modules/unistr/u16-mbtoucr: New file.
84523         * lib/unistr/u16-mbtoucr.c: New file.
84524         * modules/unistr/u16-mbtoucr: New file.
84525         * lib/unistr/u16-mbtoucr.c: New file.
84526         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
84528 2007-03-27  Simon Josefsson  <simon@josefsson.org>
84529             Bruno Haible  <bruno@clisp.org>
84531         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
84532         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
84533         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
84535         * m4/stdio_h.m4: Add stubs for vasprintf too.
84537         * modules/stdio: Support vasprintf in sed command.
84539         * modules/vasprintf: Depend on stdio for prototypes.  Remove
84540         vasprintf.h.  Add stdio module indicator.
84542         * lib/stdio_.h: Declare asprintf and vasprintf, based on
84543         vasprintf.h.
84545         * lib/vasprintf.h: File removed.
84547         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
84548         * lib/vasprintf.c: Ditto.
84549         * lib/xvasprintf.c: Ditto.
84550         * tests/test-vasprintf-posix.c: Ditto.
84551         * tests/test-vasprintf.c: Ditto.
84553 2007-03-27  Bruno Haible  <bruno@clisp.org>
84555         Make vasnprintf multithread-safe.
84556         * lib/vasnprintf.c (decimal_point_char): New function.
84557         (VASNPRINTF): Use it.
84558         Suggested by Simon Josefsson.
84560 2007-03-27  Eric Blake  <ebb9@byu.net>
84562         Support sub-second birthtime on cygwin.
84563         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
84564         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
84565         (get_stat_birthtime): Also work with st_birthtim.
84567 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
84569         * lib/stat-time.h (USE_BIRTHTIME): Remove.
84570         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
84571         (get_stat_birthtime_ns): Do not try to use "spare" fields.
84572         (get_stat_birthtime_ns): Simplify compile-time tests.
84573         (get_stat_birthtime): Change the API to look like
84574         get_stat_mtime etc., except return a negative tv_nsec on error.
84575         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
84576         Don't check for "spare" fields.
84577         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
84578         or for struct stat.st_birthtime, as these tests aren't used.
84579         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
84581 2007-03-27  Bruno Haible  <bruno@clisp.org>
84583         * lib/stat-time.h: Include <sys/stat.h>.
84585 2007-03-27  James Youngman  <jay@gnu.org>
84587         * lib/stat-time.h (get_stat_birthtime): New function for
84588           retrieving st_birthtime as provided by UFS2 (hence *BSD).
84589         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
84590           and its variants.
84591         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
84592         * modules/stat-time-test: New file.
84593         * tests/test-stat-time.c: New test, devised by Bruno Haible.
84595 2007-03-26  Bruno Haible  <bruno@clisp.org>
84597         Better support of signalling NaNs.
84598         * lib/atanl.c: Include isnanl.h.
84599         (atanl): Perform test for NaN at the beginning of the function and
84600         through a call to isnanl.
84601         * lib/cosl.c: Include isnanl.h.
84602         (cosl): Perform test for NaN at the beginning of the function and
84603         through a call to isnanl.
84604         * lib/ldexpl.c: Include isnanl.h.
84605         (ldexpl): Perform test for NaN through a call to isnanl.
84606         * lib/logl.c: Include isnanl.h.
84607         (logl): Perform test for NaN at the beginning of the function and
84608         through a call to isnanl.
84609         * lib/sinl.c: Include isnanl.h.
84610         (sinl): Perform test for NaN at the beginning of the function and
84611         through a call to isnanl.
84612         * lib/sqrtl.c: Include isnanl.h.
84613         (sqrtl): Perform test for NaN at the beginning of the function and
84614         through a call to isnanl.
84615         * lib/tanl.c: Include isnanl.h.
84616         (tanl): Perform test for NaN at the beginning of the function and
84617         through a call to isnanl.
84618         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
84619         * modules/mathl (Depends-on): Add isnanl.
84621 2007-03-26  Eric Blake  <ebb9@byu.net>
84623         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
84624         regression in logic sense of previous patch.
84626 2007-03-26  Bruno Haible  <bruno@clisp.org>
84628         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
84629         unportable shell command "if ! ...".
84630         Reported by Ralf Wildenhues.
84632 2007-03-25  Bruno Haible  <bruno@clisp.org>
84634         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
84635         <sysexits.h> file, and only add EX_CONFIG.
84636         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
84637         absolute file name and whether it is sufficient. Substitute also
84638         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
84639         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
84640         ABSOLUTE_SYSEXITS_H into sysexits.h.
84642 2007-03-25  Bruno Haible  <bruno@clisp.org>
84644         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
84645         hints is NULL.
84647 2007-03-25  Bruno Haible  <bruno@clisp.org>
84649         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
84650         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
84652 2007-03-25  Bruno Haible  <bruno@clisp.org>
84654         * lib/vasnprintf.c: Include langinfo.h.
84655         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
84656         multithread-safe.
84657         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
84658         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
84659         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
84660         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
84661         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
84662         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
84663         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
84664         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
84665         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
84666         Reported by Simon Josefsson.
84668 2007-03-25  Bruno Haible  <bruno@clisp.org>
84670         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
84671         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
84672         * modules/vasnprintf (Depends-on): Add stdint.
84674 2007-03-25  Bruno Haible  <bruno@clisp.org>
84676         * modules/fpieee: New file.
84677         * m4/fpieee.m4: New file.
84678         * modules/isnan-nolibm (Depends-on): Add fpieee.
84679         * modules/isnanl-nolibm (Depends-on): Add fpieee.
84680         * modules/isnanl (Depends-on): Add fpieee.
84682 2007-03-25  Bruno Haible  <bruno@clisp.org>
84684         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
84686 2007-03-25  Bruno Haible  <bruno@clisp.org>
84688         Avoid test failures on IRIX 6.5.
84689         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
84690         (main): Use it.
84691         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
84692         macros.
84693         (main): Use them.
84695 2007-03-25  Bruno Haible  <bruno@clisp.org>
84697         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
84698         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
84699         exists but doesn't work.
84700         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
84701         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
84702         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
84703         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
84704         math.h.
84706 2007-03-25  Bruno Haible  <bruno@clisp.org>
84708         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
84709         returns inf. Needed on IRIX 6.5.
84711 2007-03-25  Bruno Haible  <bruno@clisp.org>
84713         * tests/test-frexpl.c: Include isnanl-nolibm.h.
84714         (main): Use isnanl instead of x != x idiom.
84715         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
84717         * tests/test-frexp.c: Include isnan.h.
84718         (main): Use isnan instead of x != x idiom.
84719         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
84721 2007-03-25  Bruno Haible  <bruno@clisp.org>
84723         * tests/test-frexp.c (NaN): New function/macro.
84724         (main): Use it instead of 0.0 / 0.0.
84725         * tests/test-isnan.c (NaN): New function/macro.
84726         (main): Use it instead of 0.0 / 0.0.
84727         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
84728         (test_function): Use it instead of 0.0 / 0.0.
84729         * tests/test-vasprintf-posix.c (NaN): New function/macro.
84730         (test_function): Use it instead of 0.0 / 0.0.
84731         * tests/test-snprintf-posix.h (NaN): New function/macro.
84732         (test_function): Use it instead of 0.0 / 0.0.
84733         * tests/test-sprintf-posix.h (NaN): New function/macro.
84734         (test_function): Use it instead of 0.0 / 0.0.
84735         * tests/test-fprintf-posix.h (NaN): New function/macro.
84736         (test_function): Use it instead of 0.0 / 0.0.
84737         * tests/test-printf-posix.h (NaN): New function/macro.
84738         (test_function): Use it instead of 0.0 / 0.0.
84740         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
84742 2007-03-25  Bruno Haible  <bruno@clisp.org>
84744         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
84746 2007-03-25  Bruno Haible  <bruno@clisp.org>
84748         * lib/regexec.c (merge_state_with_log): Make static.
84750 2007-03-25  Bruno Haible  <bruno@clisp.org>
84752         * lib/trigl.c (kernel_rem_pio2): Make static.
84754 2007-03-25  Bruno Haible  <bruno@clisp.org>
84756         * lib/sincosl.c (sincosl_table): Make static.
84758 2007-03-25  Bruno Haible  <bruno@clisp.org>
84760         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
84761         if the compiler does not support C99.
84763 2007-03-25  Bruno Haible  <bruno@clisp.org>
84765         * modules/time (Makefile.am): Ensure all rule action lines start with a
84766         tab.
84768 2007-03-24  Bruno Haible  <bruno@clisp.org>
84770         * modules/tsearch-tests: New file.
84771         * tests/test-tsearch.sh: New file.
84772         * tests/test-tsearch.c: New file, mostly copied from glibc.
84774         * modules/search-tests: New file.
84775         * tests/test-search.c: New file.
84777         * modules/search: New file.
84778         * lib/search_.h: New file, incorporating lib/tsearch.h.
84779         * m4/search_h.m4: New file.
84780         * lib/tsearch.h: Remove file.
84781         * lib/tsearch.c: Include search.h instead of tsearch.h.
84782         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
84783         HAVE_TSEARCH.
84784         * modules/tsearch (Files): Remove lib/tsearch.h.
84785         (Depends-on): Add search.
84786         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
84787         (Include): Change tsearch.h into search.h.
84789 2007-03-24  Bruno Haible  <bruno@clisp.org>
84791         * modules/fpucw: New file.
84792         * lib/fpucw.h: New file.
84793         * lib/frexp.c: Include fpucw.h.
84794         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
84795         (FUNC): Use them.
84796         * lib/printf-frexp.c: Include fpucw.h.
84797         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
84798         (FUNC): Use them.
84799         * lib/vasnprintf.c: Include fpucw.h.
84800         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
84801         'long double' calculations.
84802         * tests/test-frexpl.c: Include fpucw.h.
84803         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
84804         * tests/test-printf-frexpl.c: Include fpucw.h.
84805         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
84806         * modules/frexpl (Depends-on): Add fpucw.
84807         * modules/printf-frexpl (Depends-on): Likewise.
84808         * modules/fprintf-posix (Depends-on): Likewise.
84809         * modules/snprintf-posix (Depends-on): Likewise.
84810         * modules/sprintf-posix (Depends-on): Likewise.
84811         * modules/vasnprintf-posix (Depends-on): Likewise.
84812         * modules/vasprintf-posix (Depends-on): Likewise.
84813         * modules/vfprintf-posix (Depends-on): Likewise.
84814         * modules/vsnprintf-posix (Depends-on): Likewise.
84815         * modules/vsprintf-posix (Depends-on): Likewise.
84816         * modules/frexpl-tests (Depends-on): Likewise.
84817         * modules/printf-frexpl-tests (Depends-on): Likewise.
84819 2007-03-24  Bruno Haible  <bruno@clisp.org>
84821         * lib/float+.h: New file.
84822         * lib/isnan.c: Include float+.h.
84823         (SIZE): New macro.
84824         (FUNC): Compare only SIZE bytes of the value.
84825         * lib/vasnprintf.c: Include float+.h.
84826         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
84827         SIZEOF_LDBL or SIZEOF_DBL bytes.
84828         * modules/isnan-nolibm (Files): Add lib/float+.h.
84829         * modules/isnanl-nolibm (Files): Add lib/float+.h.
84830         * modules/isnanl (Files): Add lib/float+.h.
84831         * modules/vasnprintf (Files): Add lib/float+.h.
84833 2007-03-24  Bruno Haible  <bruno@clisp.org>
84835         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
84836         include isnanl-nolibm.h.
84838 2007-03-24  Bruno Haible  <bruno@clisp.org>
84840         * tests/test-read-file.c (main): Don't produce spurious output for
84841         expected situations. Make the test fail if it encountered unexpected
84842         results.
84844 2007-03-24  Bruno Haible  <bruno@clisp.org>
84846         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
84847         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
84849 2007-03-24  Bruno Haible  <bruno@clisp.org>
84851         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
84853 2007-03-24  Bruno Haible  <bruno@clisp.org>
84855         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
84856         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
84858         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
84859         * modules/utf8-ucs4: Turn into a symbolic link to module
84860         unistr/u8-mbtouc.
84862         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
84863         utf8-ucs4-unsafe.
84864         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
84865         unistr/u8-mbtouc-unsafe.
84867         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
84868         * modules/utf16-ucs4: Turn into a symbolic link to module
84869         unistr/u16-mbtouc.
84871         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
84872         utf16-ucs4-unsafe.
84873         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
84874         unistr/u16-mbtouc-unsafe.
84876         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
84877         * modules/ucs4-utf8: Turn into a symbolic link to module
84878         unistr/u8-ubtomb.
84880         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
84881         * modules/ucs4-utf16: Turn into a symbolic link to module
84882         unistr/u16-ubtomb.
84884 2007-03-24  Bruno Haible  <bruno@clisp.org>
84886         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
84887         Enable the function only if HAVE_INLINE.
84888         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
84889         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
84890         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
84891         Enable the function only if HAVE_INLINE.
84892         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
84893         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
84894         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
84895         Enable the function only if HAVE_INLINE.
84896         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
84897         Enable the function only if HAVE_INLINE.
84898         * modules/utf8-ucs4: Update.
84899         * modules/utf8-ucs4-unsafe: Update.
84900         * modules/utf16-ucs4: Update.
84901         * modules/utf16-ucs4-unsafe: Update.
84902         * modules/ucs4-utf8: Update.
84903         * modules/ucs4-utf16: Update.
84905 2007-03-24  Bruno Haible  <bruno@clisp.org>
84907         * lib/utf8-ucs4.h: Remove file.
84908         * lib/utf8-ucs4-unsafe.h: Remove file.
84909         * lib/utf16-ucs4.h: Remove file.
84910         * lib/utf16-ucs4-unsafe.h: Remove file.
84911         * lib/ucs4-utf8.h: Remove file.
84912         * lib/ucs4-utf16.h: Remove file.
84913         * lib/unistr.h: Include their previous contents.
84914         * m4/utf-ucs4.m4: Remove file.
84915         * m4/ucs4-utf.m4: Remove file.
84916         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
84917         (Depends-on): Add unistr/base.
84918         (configure.ac): Remove gl_UTF_UCS4.
84919         (Makefile.am): Update.
84920         (Include): Change to unistr.h.
84921         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
84922         (Depends-on): Add unistr/base.
84923         (configure.ac): Remove gl_UTF_UCS4.
84924         (Makefile.am): Update.
84925         (Include): Change to unistr.h.
84926         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
84927         (Depends-on): Add unistr/base.
84928         (configure.ac): Remove gl_UTF_UCS4.
84929         (Makefile.am): Update.
84930         (Include): Change to unistr.h.
84931         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
84932         (Depends-on): Add unistr/base.
84933         (configure.ac): Remove gl_UTF_UCS4.
84934         (Makefile.am): Update.
84935         (Include): Change to unistr.h.
84936         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
84937         (Depends-on): Add unistr/base.
84938         (configure.ac): Remove gl_UCS4_UTF.
84939         (Makefile.am): Update.
84940         (Include): Change to unistr.h.
84941         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
84942         (Depends-on): Add unistr/base.
84943         (configure.ac): Remove gl_UCS4_UTF.
84944         (Makefile.am): Update.
84945         (Include): Change to unistr.h.
84946         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
84947         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
84948         utf8-ucs4-unsafe.h.
84949         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
84950         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
84951         utf16-ucs4-unsafe.h.
84952         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
84953         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
84954         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
84955         * lib/unistr/u8-strchr.c: Likewise.
84956         * lib/unistr/u8-strrchr.c: Likewise.
84957         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
84958         * lib/unistr/u16-strchr.c: Likewise.
84959         * lib/unistr/u16-strrchr.c: Likewise.
84960         * lib/striconveh.c: Update.
84961         * lib/linebreak.c: Update.
84963 2007-03-24  Bruno Haible  <bruno@clisp.org>
84965         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
84966         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
84968 2007-03-22  Bruno Haible  <bruno@clisp.org>
84970         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
84972 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
84974         * MODULES.html.sh (File system functions): New module write-any-file.
84975         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
84976         * m4/write-any-file.m4: New files.
84978 2007-03-23  Eric Blake  <ebb9@byu.net>
84980         * gnulib-tool: Rearrange space-tab sequences, since some editors
84981         like to eat them.
84983 2007-03-23  Eric Blake  <ebb9@byu.net>
84985         * lib/version-etc.c (version_etc_va): Update license wording to
84986         be more concise.  Recommended by Richard Stallman.
84988 2007-03-22  Bruno Haible  <bruno@clisp.org>
84990         * lib/poll.c (MSG_PEEK): New fallback definition.
84992 2007-03-22  Bruno Haible  <bruno@clisp.org>
84994         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
84995         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
84996         (main): Update.
84997         Fixes a compilation error on BeOS.
84999 2007-03-22  Bruno Haible  <bruno@clisp.org>
85001         * modules/frexpl-tests: New file.
85002         * tests/test-frexpl.c: New file.
85004         * modules/frexpl: New file.
85005         * m4/frexpl.m4: New file.
85006         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
85007         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
85008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
85009         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
85010         (Depends-on): Add frexpl. Remove isnanl-nolibm.
85011         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
85013 2007-03-22  Bruno Haible  <bruno@clisp.org>
85015         * lib/frexpl.c: Share code with lib/frexp.c.
85016         * modules/mathl (Files): Add lib/frexp.c.
85017         (Depends-on): Add isnanl-nolibm.
85019 2007-03-22  Bruno Haible  <bruno@clisp.org>
85021         * modules/printf-frexp (Files): Add m4/frexp.m4.
85022         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
85023         only if the found frexp function actually works.
85025 2007-03-22  Bruno Haible  <bruno@clisp.org>
85027         * lib/frexp.c: Remove older implementation that uses divisions.
85029 2007-03-21  Bruno Haible  <bruno@clisp.org>
85031         * modules/frexp-tests: New file.
85032         * tests/test-frexp.c: New file.
85034         * modules/frexp: New file.
85035         * lib/frexp.c: New file.
85036         * m4/frexp.m4: New file.
85037         * lib/math_.h (frexp): New declaration.
85038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
85039         REPLACE_FREXP.
85040         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
85042 2007-03-21  Bruno Haible  <bruno@clisp.org>
85044         * modules/isnanl-tests: New file.
85045         * tests/test-isnanl.c: New file.
85047         * modules/isnanl: New file.
85048         * lib/isnanl.h: New file.
85049         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
85050         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
85051         gl_FUNC_ISNANL_WORKS.
85052         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
85053         New macros.
85055 2007-03-21  Bruno Haible  <bruno@clisp.org>
85057         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
85058         lib/isnanl.h.
85059         (Include): Update.
85060         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
85061         * lib/vasnprintf.c: Update.
85062         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
85063         tests/test-isnanl.h, remove tests/test-isnanl.c.
85064         (Makefile.am): Update.
85065         * tests/test-isnanl-nolibm.c: New file.
85066         * tests/test-isnanl.h: New file.
85067         * tests/test-isnanl.c: Remove file.
85069 2007-03-21  Jim Meyering  <jim@meyering.net>
85071         When trying to open ".", treat ESTALE like EACCES.
85072         * lib/savewd.c (savewd_save): Resort to forking not just upon
85073         failure with EACCES, but also when errno is ESTALE.
85075 2007-03-20  Bruno Haible  <bruno@clisp.org>
85077         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
85078         Needed on AIX 5.1. Reported by Matthew Woehlke.
85080 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
85082         Suggestions by Bruno Haible:
85083         * lib/acl-internal.h: Include "gettext.h" rather than rolling
85084         our own.
85085         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
85086         * modules/acl (Depends-on): Add gettext.
85088 2007-03-19  Bruno Haible  <bruno@clisp.org>
85090         * modules/iconvme: Remove file.
85091         * lib/iconvme.h: Remove file.
85092         * lib/iconvme.c: Remove file.
85093         * m4/iconvme.m4: Remove file.
85095 2007-03-19  Bruno Haible  <bruno@clisp.org>
85097         * doc/relocatable-maint.texi: Break long shell script line.
85098         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
85100 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
85102         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
85103         handle file_has_acl.
85104         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
85105         * lib/acl.c: Move header inclusions and related macro defns into
85106         lib/acl-internal.h.
85107         (S_ISLNK): Remove defn, since that's now done for us.
85108         (file_has_acl): Move to lib/file-has-acl.c.
85109         Call acl_trivial if available.  This is the crucial part of the fix.
85110         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
85111         shared within the library.  Rewrite a bit, partly to make it compatible
85112         with the GNU coding style.
85113         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
85114         Remove unnecessary double-quotes.
85115         Don't test for acl_to_text; the build will catch that.
85116         Replace acl_entries if it doesn't exist and it is needed.
85117         Check for -lsec and acl_trivial (as used on Solaris 10).
85118         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
85119         lib/file-has-acl.c.
85120         (Depends-on): Add sys_stat, for S_ISLNK.
85122 2007-03-19  Ben Pfaff  <blp@gnu.org>
85124         * doc/gnulib.texi: Fix typos.
85125         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
85127 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
85129         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
85130         If size is zero here, buf must be zero.
85132 2007-03-19  Simon Josefsson  <simon@josefsson.org>
85134         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
85135         <bruno@clisp.org>.
85137 2007-03-18  Bruno Haible  <bruno@clisp.org>
85139         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
85140         Suggested by Eric Blake.
85142 2007-03-18  Ben Pfaff  <blp@gnu.org>
85144         * doc/relocatable.texi: Recommend using as prefix a directory
85145         that does not exist and will never be created.  Based on
85146         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
85147         and others.
85149 2007-03-17  Bruno Haible  <bruno@clisp.org>
85151         * lib/fchownat.c: Include lchown.h.
85153 2007-03-17  Bruno Haible  <bruno@clisp.org>
85155         Fix endless loop when the given allocated size was > INT_MAX.
85156         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
85157         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
85158         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
85159         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
85160         * lib/sprintf.c (sprintf): Likewise.
85162 2007-03-17  Bruno Haible  <bruno@clisp.org>
85164         * tests/test-argp-2.sh (func_compare): Output a context diff.
85166 2007-03-17  Bruno Haible  <bruno@clisp.org>
85168         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
85169         locale's decimal-point character.
85171 2007-03-17  Bruno Haible  <bruno@clisp.org>
85173         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
85174         before comparing it. Needed because on some platforms (e.g. x86) a
85175         'long double' occupies less bytes than sizeof (long double).
85177 2007-03-17  Bruno Haible  <bruno@clisp.org>
85179         * tests/test-crc.c (main): Make printf statements 64-bit clean.
85180         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
85181         * tests/test-getaddrinfo.c (simple): Likewise.
85182         * tests/test-read-file.c (main): Likewise.
85184 2007-03-17  Bruno Haible  <bruno@clisp.org>
85186         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
85188 2007-03-17  Bruno Haible  <bruno@clisp.org>
85190         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
85191         unused variable.
85193 2007-03-17  Bruno Haible  <bruno@clisp.org>
85195         * tests/test-c-strcasecmp.c: Include c-strcase.h.
85196         * tests/test-c-strncasecmp.c: Likewise.
85198 2007-03-17  Bruno Haible  <bruno@clisp.org>
85200         * modules/stdlib (Depends-on): Add unistd.
85201         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
85202         Needed for MacOS X 10.3.
85204 2007-03-17  Bruno Haible  <bruno@clisp.org>
85206         * lib/unistr/u-strdup.h: Include <stdlib.h>.
85208 2007-03-17  Bruno Haible  <bruno@clisp.org>
85210         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
85212 2007-03-17  Bruno Haible  <bruno@clisp.org>
85214         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
85215         to reflect files copied from gnulib (with or without modifications).
85216         Suggested by Jim Meyering.
85218 2007-03-17  Eric Blake  <ebb9@byu.net>
85220         * NEWS: Document stdlib change from 2007-02-18.
85222 2007-03-17  Jim Meyering  <jim@meyering.net>
85224         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
85225         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
85226         someone uses a name containing shell meta-characters.
85227         Reported by Alfred M. Szmidt.
85229         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
85231 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
85233         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
85234         and copy gettext configuration files only if configure.ac contains
85235         a use of AM_GNU_GETTEXT_VERSION.
85237 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
85239         * build-aux/bootstrap (gnulib_name): New variable.
85240         (gnulib_tool_options): Use it.
85242 2007-03-13  Simon Josefsson  <simon@josefsson.org>
85244         * tests/test-des.c: Use new namespace.
85246 2007-03-15  Bruno Haible  <bruno@clisp.org>
85248         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
85249         Reported by James Youngman <jay@gnu.org>.
85251 2007-03-15  Bruno Haible  <bruno@clisp.org>
85253         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
85254         declared prototype. Needed with cc on OSF/1 5.1.
85256 2007-03-15  Bruno Haible  <bruno@clisp.org>
85258         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
85259         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
85260         (struct gl_list_implementation): Add dispose_fn argument to the
85261         'create_empty', 'create' methods.
85262         (struct gl_list_impl_base): Add field 'dispose_fn'.
85263         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
85264         argument.
85265         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
85266         dispose_fn argument.
85267         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
85268         dispose_fn on the dropped values.
85269         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
85270         dispose_fn argument.
85271         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
85272         dropped values.
85273         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
85274         (gl_tree_remove_node): Call dispose_fn on the dropped value.
85275         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
85276         (gl_tree_remove_node): Call dispose_fn on the dropped value.
85277         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
85278         argument.
85279         (gl_tree_list_free): Call dispose_fn on the dropped values.
85280         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
85281         the dropped values.
85282         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
85283         Add dispose_fn argument.
85284         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
85285         Call dispose_fn on the dropped values.
85286         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
85287         Add dispose_fn argument.
85288         (gl_sublist_create): Initialize the 'dispose_fn' field.
85289         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
85290         * tests/test-array_list.c (main): Update.
85291         * tests/test-carray_list.c (main): Update.
85292         * tests/test-avltree_list.c (main): Update.
85293         * tests/test-rbtree_list.c (main): Update.
85294         * tests/test-avltreehash_list.c (main): Update.
85295         * tests/test-rbtreehash_list.c (main): Update.
85296         * tests/test-linked_list.c (main): Update.
85297         * tests/test-linkedhash_list.c (main): Update.
85298         * tests/test-array_oset.c (main): Update.
85300 2007-03-15  Bruno Haible  <bruno@clisp.org>
85302         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
85303         (gl_oset_create_empty): Add dispose_fn argument.
85304         (struct gl_oset_implementation): Add dispose_fn argument to
85305         'create_empty' method.
85306         (struct gl_oset_impl_base): Add dispose_fn field.
85307         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
85308         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
85309         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
85310         values.
85311         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
85312         (gl_tree_oset_free): Call dispose_fn on the dropped values.
85313         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
85314         dropped value.
85315         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
85316         dropped value.
85317         * tests/test-array_oset.c (main): Update.
85318         * tests/test-avltree_oset.c (main): Update.
85319         * tests/test-rbtree_oset.c (main): Update.
85320         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
85322 2007-03-13  Bruno Haible  <bruno@clisp.org>
85324         * tests/test-stdbool.c (i): Update after last patch.
85326 2007-03-12  Bruno Haible  <bruno@clisp.org>
85328         * lib/quotearg.c: Include <wctype.h> early, before the definition of
85329         the iswprint macro. Needed on Solaris 2.5.1.
85331 2007-03-12  Bruno Haible  <bruno@clisp.org>
85333         * tests/test-printf-frexp.c (main): Declare x as volatile.
85335 2007-03-12  Simon Josefsson  <simon@josefsson.org>
85337         * doc/gnulib.texi (Build robot for gnulib): New section.
85339 2007-03-12  Jim Meyering  <jim@meyering.net>
85341         * build-aux/bootstrap: New file.
85342         * build-aux/bootstrap.conf: New file, from coreutils.
85344 2007-03-11  Bruno Haible  <bruno@clisp.org>
85346         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
85348 2007-03-12  Simon Josefsson  <simon@josefsson.org>
85350         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
85351         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
85352         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
85354 2007-03-11  Bruno Haible  <bruno@clisp.org>
85356         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
85357         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
85359 2007-03-11  Bruno Haible  <bruno@clisp.org>
85361         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
85362         formula. Needed for SunPRO C 5.0.
85364 2007-03-11  Bruno Haible  <bruno@clisp.org>
85366         * modules/long-options (Depends-on): Add getopt.
85368 2007-03-11  Bruno Haible  <bruno@clisp.org>
85370         * modules/modechange (Depends-on): Add stdbool.
85372 2007-03-11  Bruno Haible  <bruno@clisp.org>
85374         * modules/i-ring (Depends-on): Add stdbool.
85376 2007-03-11  Bruno Haible  <bruno@clisp.org>
85378         * modules/gc-des (Depends-on): Add stdbool.
85380 2007-03-11  Bruno Haible  <bruno@clisp.org>
85382         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
85384 2007-03-11  Bruno Haible  <bruno@clisp.org>
85386         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
85388 2007-03-11  Bruno Haible  <bruno@clisp.org>
85390         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
85392 2007-03-11  Bruno Haible  <bruno@clisp.org>
85394         * lib/vasnprintf.c (sprintf): Undefine.
85396 2007-03-11  Bruno Haible  <bruno@clisp.org>
85398         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
85399         initializers in SunPRO C and Compaq C compilers.
85401 2007-03-11  Bruno Haible  <bruno@clisp.org>
85403         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
85404         decrementing code ANSI C compliant.
85406 2007-03-11  Bruno Haible  <bruno@clisp.org>
85408         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
85409         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
85411 2007-03-11  Bruno Haible  <bruno@clisp.org>
85413         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
85414         <stdbool.h> substitute doesn't pass.
85416 2007-03-11  Bruno Haible  <bruno@clisp.org>
85418         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
85420 2007-03-11  Bruno Haible  <bruno@clisp.org>
85422         * gnulib-tool (func_create_megatestdir): Create also an autobuild
85423         script, for submission to autobuild.josefsson.org.
85425 2007-03-10  Bruno Haible  <bruno@clisp.org>
85427         * modules/canonicalize-lgpl-tests: New file.
85428         * tests/test-canonicalize-lgpl.sh: New file.
85429         * tests/test-canonicalize-lgpl.c: New file.
85431         * modules/c-strcase-tests: New file.
85432         * tests/test-c-strcase.sh: New file.
85433         * tests/test-c-strcasecmp.c: New file.
85434         * tests/test-c-strncasecmp.c: New file.
85436         * modules/atexit-tests: New file.
85437         * tests/test-atexit.sh: New file.
85438         * tests/test-atexit.c: New file.
85440 2007-03-10  Bruno Haible  <bruno@clisp.org>
85442         * tests/test-binary-io.sh: Use temporary filenames that are not so
85443         likely to clash with those of other tests (in a parallel make).
85444         * tests/test-binary-io.c: Likewise.
85446 2007-03-10  Bruno Haible  <bruno@clisp.org>
85448         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
85449         fallback; use #error instead.
85450         Suggested by Simon Josefsson.
85452 2007-03-10  Bruno Haible  <bruno@clisp.org>
85454         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
85455         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
85456         first and the last.
85458 2007-03-10  Bruno Haible  <bruno@clisp.org>
85460         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
85462 2007-03-10  Bruno Haible  <bruno@clisp.org>
85464         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
85465         "make distcheck".
85466         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
85467         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
85468         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
85470 2007-03-10  Bruno Haible  <bruno@clisp.org>
85472         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
85473         variable.
85474         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
85475         variable.
85477 2007-03-09  Eric Blake  <ebb9@byu.net>
85478         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
85480         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
85481         types are not being provided by gnulib.
85482         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
85483         types are supported.
85485 2007-03-10  Bruno Haible  <bruno@clisp.org>
85487         * lib/stdio_.h (__attribute__): New macro.
85488         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
85489         vsprintf): Specify __attribute__ __format__ for GCC.
85490         Suggested by Eric Blake.
85492 2007-03-09  Bruno Haible  <bruno@clisp.org>
85494         * modules/printf-posix-tests: New file.
85495         * tests/test-printf-posix.sh: New file.
85496         * tests/test-printf-posix.c: New file.
85498         * modules/printf-posix: New file.
85499         * lib/printf.c: New file.
85500         * m4/printf-posix-rpl.m4: New file.
85501         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
85502         REPLACE_PRINTF.
85503         * lib/stdio_.h (printf): New declaration.
85504         (format, __format__, ____printf____, ____scanf____, ____strftime____,
85505         ____strfmon____): New macros.
85506         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
85507         REPLACE_PRINTF.
85509 2007-03-09  Bruno Haible  <bruno@clisp.org>
85511         * tests/test-vasnprintf-posix2.sh: New file.
85512         * tests/test-vasnprintf-posix2.c: New file.
85513         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
85514         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
85515         (Makefile.am): Activate test-vasnprintf-posix2.sh.
85517         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
85518         a locale dependent decimal point, rather than always '.'.
85520 2007-03-09  Eric Blake  <ebb9@byu.net>
85522         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
85523         spite of platforms like Tandem/NSK that define it to -1.
85525 2007-03-08  Bruno Haible  <bruno@clisp.org>
85527         * modules/vprintf-posix-tests: New file.
85528         * tests/test-vprintf-posix.sh: New file.
85529         * tests/test-vprintf-posix.c: New file.
85530         * tests/test-printf-posix.h: New file.
85532         * modules/vprintf-posix: New file.
85533         * lib/vprintf.c: New file.
85534         * m4/vprintf-posix.m4: New file.
85535         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
85536         REPLACE_VPRINTF.
85537         * lib/stdio_.h (vprintf): New declaration.
85538         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
85539         REPLACE_VPRINTF.
85541 2007-03-08  Bruno Haible  <bruno@clisp.org>
85543         * modules/fprintf-posix-tests: New file.
85544         * tests/test-fprintf-posix.sh: New file.
85545         * tests/test-fprintf-posix.c: New file.
85547         * modules/fprintf-posix: New file.
85548         * lib/fprintf.c: New file.
85549         * m4/fprintf-posix.m4: New file.
85550         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
85551         REPLACE_FPRINTF.
85552         * lib/stdio_.h (fprintf): New declaration.
85553         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
85554         REPLACE_FPRINTF.
85556 2007-03-08  Bruno Haible  <bruno@clisp.org>
85558         * modules/vfprintf-posix-tests: New file.
85559         * tests/test-vfprintf-posix.sh: New file.
85560         * tests/test-vfprintf-posix.c: New file.
85561         * tests/test-fprintf-posix.h: New file.
85562         * tests/test-fprintf-posix.out: New file.
85564         * modules/vfprintf-posix: New file.
85565         * lib/vfprintf.c: New file.
85566         * m4/vfprintf-posix.m4: New file.
85567         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
85568         REPLACE_VFPRINTF.
85569         * lib/stdio_.h (vfprintf): New declaration.
85570         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
85571         REPLACE_VFPRINTF.
85573 2007-03-08  Bruno Haible  <bruno@clisp.org>
85575         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
85577 2007-03-08  Bruno Haible  <bruno@clisp.org>
85579         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
85580         instead of 'expr' invocations.
85581         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85582         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85583         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85584         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85585         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85586         Suggested by Paul Eggert.
85588 2007-03-08  Bruno Haible  <bruno@clisp.org>
85590         * modules/fseterr-tests: New file.
85591         * tests/test-fseterr.c: New file.
85593         * modules/fseterr: New file.
85594         * lib/fseterr.h: New file.
85595         * lib/fseterr.c: New file.
85597 2007-03-08  Bruno Haible  <bruno@clisp.org>
85599         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
85600         * lib/getopt_.h: Likewise.
85601         * lib/mbswidth.h: Likewise.
85602         * lib/setenv.h: Likewise.
85603         * lib/vasnprintf.h: Likewise.
85604         * lib/vasprintf.h: Likewise.
85605         * lib/verror.h: Likewise.
85606         * lib/xsetenv.h: Likewise.
85607         * lib/xvasprintf.h: Likewise.
85609 2007-03-08  Jim Meyering  <jim@meyering.net>
85611         * users.txt: Add parted.
85613         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
85615 2007-03-07  Bruno Haible  <bruno@clisp.org>
85617         * m4/printf.m4: Make the shell script snippets copy&pastable.
85619 2007-03-02  Bruno Haible  <bruno@clisp.org>
85621         * lib/netinet_in_.h: New file.
85622         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
85623         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
85624         * modules/netinet_in (Files): Add lib/netinet_in_.h.
85625         (Depends-on): Add absolute-header.
85626         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
85627         into netinet/in.h.
85629 2007-03-03  Bruno Haible  <bruno@clisp.org>
85631         * lib/sys_select_.h: New file.
85632         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
85633         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
85634         * modules/sys_select (Files): Add lib/sys_select_.h.
85635         (Depends-on): Add absolute-header.
85636         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
85637         into sys/select.h.
85639 2007-03-02  Bruno Haible  <bruno@clisp.org>
85641         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
85642         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
85643         values.
85644         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
85645         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
85646         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
85647         * modules/sys_socket (Depends-on): Add absolute-header.
85648         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
85649         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
85650         (Include): Remove requirement of inclusion of <sys/types.h>.
85652 2007-03-02  Bruno Haible  <bruno@clisp.org>
85654         * lib/byteswap_.h (bswap_32): Fix formula.
85656 2007-03-06  Bruno Haible  <bruno@clisp.org>
85658         * modules/sprintf-posix-tests: New file.
85659         * tests/test-sprintf-posix.c: New file.
85661         * modules/sprintf-posix: New file.
85662         * lib/sprintf.c: New file.
85663         * m4/sprintf-posix.m4: New file.
85664         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
85665         REPLACE_SPRINTF.
85666         * lib/stdio_.h (sprintf): New declaration.
85667         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
85668         REPLACE_SPRINTF.
85670 2007-03-06  Bruno Haible  <bruno@clisp.org>
85672         * modules/vsprintf-posix-tests: New file.
85673         * tests/test-vsprintf-posix.c: New file.
85674         * tests/test-sprintf-posix.h: New file.
85676         * modules/vsprintf-posix: New file.
85677         * lib/vsprintf.c: New file.
85678         * m4/vsprintf-posix.m4: New file.
85679         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
85680         REPLACE_VSPRINTF.
85681         * lib/stdio_.h (vsprintf): New declaration.
85682         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
85683         REPLACE_VSPRINTF.
85685 2007-03-06  Bruno Haible  <bruno@clisp.org>
85687         * modules/vsnprintf (Depend-on): Remove minmax.
85689 2007-03-06  Bruno Haible  <bruno@clisp.org>
85691         * modules/snprintf-posix-tests: New file.
85692         * tests/test-snprintf-posix.c: New file.
85694         * modules/snprintf-posix: New file.
85695         * m4/snprintf-posix.m4: New file.
85696         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
85697         gl_FUNC_SNPRINTF.
85698         (gl_FUNC_SNPRINTF): Invoke it.
85699         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
85700         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
85701         is set.
85702         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
85704 2007-03-06  Bruno Haible  <bruno@clisp.org>
85706         * modules/vsnprintf-posix-tests: New file.
85707         * tests/test-vsnprintf-posix.c: New file.
85708         * tests/test-snprintf-posix.h: New file.
85710         * modules/vsnprintf-posix: New file.
85711         * m4/vsnprintf-posix.m4: New file.
85712         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
85713         gl_FUNC_VSNPRINTF.
85714         (gl_FUNC_VSNPRINTF): Invoke it.
85715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
85716         * lib/stdio_.h (vsnprintf): Define as a replacement if
85717         REPLACE_VSNPRINTF is set.
85718         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
85720 2007-03-06  Bruno Haible  <bruno@clisp.org>
85722         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
85723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
85725 2007-03-06  Bruno Haible  <bruno@clisp.org>
85727         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
85728         (asinl): Declare also if HAVE_DECL_ASINL is set.
85729         (atanl): Declare also if HAVE_DECL_ATANL is set.
85730         (ceill): Declare also if HAVE_DECL_CEILL is set.
85731         (cosl): Declare also if HAVE_DECL_COSL is set.
85732         (expl): Declare also if HAVE_DECL_EXPL is set.
85733         (floorl): Declare also if HAVE_DECL_FLOORL is set.
85734         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
85735         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
85736         (logl): Declare also if HAVE_DECL_LOGL is set.
85737         (sinl): Declare also if HAVE_DECL_SINL is set.
85738         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
85739         (tanl): Declare also if HAVE_DECL_TANL is set.
85740         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
85741         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
85742         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
85743         declaration of frexpl, ldexpl.
85744         * modules/printf-frexpl (Depends-on): Add math.
85745         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
85747 2007-03-05  Bruno Haible  <bruno@clisp.org>
85749         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
85750         frexpl and ldexpl are declared.
85751         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
85753 2007-03-05  Bruno Haible  <bruno@clisp.org>
85755         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
85756         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
85758 2007-03-05  Bruno Haible  <bruno@clisp.org>
85760         * lib/stdio_.h: Include <stddef.h>.
85762 2007-03-05  Bruno Haible  <bruno@clisp.org>
85764         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
85766 2007-03-05  Bruno Haible  <bruno@clisp.org>
85768         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
85769         NetBSD 4, from Ralf Wildenhues.
85771 2007-03-04  Bruno Haible  <bruno@clisp.org>
85773         * lib/vasprintf.h: Update #if logic for the case when the functions
85774         exist but are overridden.
85776 2007-03-04  Bruno Haible  <bruno@clisp.org>
85778         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
85779         implementations: glibc-2.4 and MacOS X 10.3.
85780         * tests/test-vasnprintf-posix.c (test_function): Test also the case
85781         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
85782         * tests/test-vasprintf-posix.c (test_function): Likewise.
85784 2007-03-04  Bruno Haible  <bruno@clisp.org>
85786         * modules/vasprintf-posix-tests: New file.
85787         * tests/test-vasprintf-posix.c: New file.
85789         * modules/vasprintf-posix: New file.
85790         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
85791         defined.
85792         * m4/vasprintf-posix.m4: New file.
85793         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
85794         gl_FUNC_VASPRINTF.
85795         (gl_FUNC_VASPRINTF): Invoke it.
85796         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
85797         here.
85798         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
85800 2007-03-04  Bruno Haible  <bruno@clisp.org>
85802         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
85803         REPLACE_GETTIMEOFDAY.
85804         * modules/sys_time (Makefile.am): Likewise.
85805         * m4/sys_time_h.m4: Likewise.
85806         * m4/gettimeofday.m4: Likewise.
85808 2007-03-04  Bruno Haible  <bruno@clisp.org>
85810         * modules/vasnprintf-posix-tests: New file.
85811         * tests/test-vasnprintf-posix.c: New file.
85813         * modules/vasnprintf-posix: New file.
85814         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
85815         printf-frexpl.h.
85816         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
85817         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
85818         REPLACE_VASNPRINTF is defined.
85819         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
85820         gl_FUNC_VASNPRINTF.
85821         (gl_FUNC_VASNPRINTF): Invoke it.
85822         * m4/vasnprintf-posix.m4: New file.
85823         * m4/printf.m4: New file.
85825 2007-03-04  Bruno Haible  <bruno@clisp.org>
85827         Compile progreloc.c only if --enable-relocatable is specified.
85828         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
85829         if --enable-relocatable was specified.
85830         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
85831         lib_SOURCES.
85833 2007-03-04  Jim Meyering  <jim@meyering.net>
85835         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
85836         Use it consistently, rather than enumerating errno constants.
85838 2007-03-04  Bruno Haible  <bruno@clisp.org>
85840         * modules/xvasprintf-tests: New file.
85841         * tests/test-xvasprintf.c: New file.
85843         * modules/vasprintf-tests: New file.
85844         * tests/test-vasprintf.c: New file.
85846         * modules/vasnprintf-tests: New file.
85847         * tests/test-vasnprintf.c: New file.
85849         * modules/vsnprintf-tests: New file.
85850         * tests/test-vsnprintf.c: New file.
85852         * modules/snprintf-tests: New file.
85853         * tests/test-snprintf.c: New file.
85855 2007-03-04  Bruno Haible  <bruno@clisp.org>
85857         Compile relocatable.c only if --enable-relocatable is specified.
85858         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
85859         gl_RELOCATABLE_LIBRARY.
85860         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
85861         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
85862         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
85863         gl_RELOCATABLE_LIBRARY.
85864         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
85865         (Makefile.am): Remove lib_SOURCES.
85866         * modules/relocatable-lib-lgpl (configure.ac): Invoke
85867         gl_RELOCATABLE_LIBRARY.
85868         (Makefile.am): Remove lib_SOURCES.
85869         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
85870         always.
85871         * modules/relocatable-prog-wrapper (configure.ac): Invoke
85872         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
85874 2007-03-04  Bruno Haible  <bruno@clisp.org>
85876         * modules/argmatch-tests: New file.
85877         * tests/test-argmatch.c: New file.
85879         * tests/test-allocsa.c (main): Halve the number of loop runs.
85881         * modules/alloca-opt-tests: New file.
85882         * tests/test-alloca-opt.c: New file.
85884 2007-03-04  Jim Meyering  <jim@meyering.net>
85886         Work around difference between Linux ACLs and Solaris 10 ZFS.
85887         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
85888         for EINVAL.
85890 2007-03-03  Bruno Haible  <bruno@clisp.org>
85892         * modules/relocatable-prog (Depends-on): Add back progreloc's
85893         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
85895 2007-03-03  Bruno Haible  <bruno@clisp.org>
85897         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
85898         * modules/relocatable-lib: New file.
85900 2007-03-03  Bruno Haible  <bruno@clisp.org>
85902         * modules/relocatable-prog: Renamed from modules/relocatable.
85903         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
85905 2007-03-03  Bruno Haible  <bruno@clisp.org>
85907         * modules/relocatable-script (Files): Add doc/relocatable.texi,
85908         m4/relocatable-lib.m4.
85909         (Depends-on): Remove 'relocatable'.
85910         (configure.ac): Add gl_RELOCATABLE_NOP.
85912 2007-03-03  Bruno Haible  <bruno@clisp.org>
85914         * modules/relocatable-prog-wrapper: New file.
85915         * modules/relocatable (Depends-on): Add it. Remove all other
85916         dependencies except progname.
85917         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
85919         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
85920         (gl_FUNC_STRERROR): Nop.
85921         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
85923         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
85924         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
85926         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
85927         (gl_FUNC_READLINK): Update.
85929         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
85931 2007-03-03  Bruno Haible  <bruno@clisp.org>
85933         * lib/xreadlink.c: Include <unistd.h> unconditionally.
85934         * modules/xreadlink (Depends-on): Add unistd.
85935         * modules/xreadlink-with-size (Depends-on): Likewise.
85937 2007-03-03  Bruno Haible  <bruno@clisp.org>
85939         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
85940         extracted from gt_FUNC_SETENV.
85941         (gt_FUNC_SETENV): Remove macro.
85942         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
85943         remove gt_FUNC_SETENV.
85945 2007-03-03  Bruno Haible  <bruno@clisp.org>
85947         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
85948         ENABLE_RELOCATABLE here.
85949         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
85951 2007-03-03  Bruno Haible  <bruno@clisp.org>
85953         * modules/rbtreehash-list-tests (Depends-on): Add progname.
85954         * tests/test-rbtreehash_list.c: Include progname.h.
85955         (main): Call set_program_name.
85957         * modules/rbtree-oset-tests (Depends-on): Add progname.
85958         * tests/test-rbtree_oset.c: Include progname.h.
85959         (main): Call set_program_name.
85961         * modules/rbtree-list-tests (Depends-on): Add progname.
85962         * tests/test-rbtree_list.c: Include progname.h.
85963         (main): Call set_program_name.
85965         * modules/linked-list-tests (Depends-on): Add progname.
85966         * tests/test-linked_list.c: Include progname.h.
85967         (main): Call set_program_name.
85969 2007-03-03  Bruno Haible  <bruno@clisp.org>
85971         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
85972         All uses of __restrict changed to _Restrict_.
85973         * lib/glob_.h (__restrict): Remove macro.
85975 2007-03-02  Bruno Haible  <bruno@clisp.org>
85977         * modules/gettext (configure.ac): Require gettext infrastructure
85978         from version 0.16.1.
85980 2007-03-02  Bruno Haible  <bruno@clisp.org>
85982         * modules/linkedhash-list-tests (Depends-on): Add progname.
85983         * tests/test-linkedhash_list.c: Include progname.h.
85984         (main): Call set_program_name.
85986         * modules/carray-list-tests (Depends-on): Add progname.
85987         * tests/test-carray_list.c: Include progname.h.
85988         (main): Call set_program_name.
85990         * modules/avltreehash-list-tests (Depends-on): Add progname.
85991         * tests/test-avltreehash_list.c: Include progname.h.
85992         (main): Call set_program_name.
85994         * modules/avltree-oset-tests (Depends-on): Add progname.
85995         * tests/test-avltree_oset.c: Include progname.h.
85996         (main): Call set_program_name.
85998         * modules/avltree-list-tests (Depends-on): Add progname.
85999         * tests/test-avltree_list.c: Include progname.h.
86000         (main): Call set_program_name.
86002         * modules/array-oset-tests (Depends-on): Add progname.
86003         * tests/test-array_oset.c: Include progname.h.
86004         (main): Call set_program_name.
86006         * modules/array-list-tests (Depends-on): Add progname.
86007         * tests/test-array_list.c: Include progname.h.
86008         (main): Call set_program_name.
86010         * modules/argp-tests (Depends-on): Add progname.
86011         * tests/test-argp.c: Include argp.h first. Include progname.h.
86012         (main): Call set_program_name.
86014 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
86016         * doc/gnulib-tool.texi (Initial import): Reword description of
86017         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
86018         limited effect even if defined after the first system include.
86020 2007-03-01  Bruno Haible  <bruno@clisp.org>
86022         * build-aux/config.libpath: Update to libtool-1.5.22.
86023         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86025 2007-03-01  Bruno Haible  <bruno@clisp.org>
86027         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
86028         foo_CFLAGS.
86029         Reported by Ralf Wildenhues.
86031 2007-03-01  Bruno Haible  <bruno@clisp.org>
86033         * build-aux/install-reloc: Remove object files left over by some
86034         compilers.
86035         Reported by Ralf Wildenhues.
86037 2007-03-01  Bruno Haible  <bruno@clisp.org>
86039         * build-aux/install-reloc: Break long lines.
86041 2007-03-01  Bruno Haible  <bruno@clisp.org>
86043         * doc/relocatable.texi: Document that it may not work on OpenBSD.
86044         Reported by Ralf Wildenhues.
86046 2007-03-01  Bruno Haible  <bruno@clisp.org>
86048         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
86049         include ordering constraints.
86051 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86053         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
86054         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
86055         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
86056         as another example.
86057         * lib/time_.h: Fix misspelling.
86058         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
86059         Require gl_HEADER_TIME_H_DEFAULTS.
86060         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
86061         * m4/time_r.m4 (gl_TIME_R): Likewise.
86062         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
86064 2007-03-01  Bruno Haible  <bruno@clisp.org>
86066         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
86067         * m4/utimens.m4 (gl_UTIMENS): Likewise.
86069 2007-03-01  Jim Meyering  <jim@meyering.net>
86071         * modules/xreadlink (Maintainer): Add my name.
86072         * modules/xreadlink-with-size (Depends-on): Alphabetize.
86074 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
86075             Bruno Haible  <bruno@clisp.org>
86077         * build-aux/install-reloc: Compile also c-ctype.c.
86078         * build-aux/relocatable.sh.in: New file.
86079         * doc/relocatable.texi: New file.
86080         * doc/relocatable-maint.texi: New file.
86081         * doc/gnulib.texi: Include relocatable-maint.texi.
86082         * lib/progreloc.c: Include unistd.h unconditionally.
86083         * lib/relocwrapper.c: Include unistd.h unconditionally.
86084         Include c-ctype.h.
86085         (add_dotbin): Use c_tolower.
86086         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
86087         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
86088         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
86089         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
86090         to m4/relocatable-lib.m4.
86091         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
86092         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
86093         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
86094         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
86095         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
86096         * modules/relocatable: New file.
86097         * modules/relocatable-lib: New file.
86098         * modules/relocatable-script: New file.
86100 2007-02-28  Bruno Haible  <bruno@clisp.org>
86102         Import --enable-relocatable infrastructure.
86103         * build-aux/config.libpath: New file, from GNU gettext.
86104         * build-aux/install-reloc: New file, from GNU gettext.
86105         * build-aux/reloc-ldflags: New file, from GNU gettext.
86106         * lib/relocatable.h: New file, from GNU gettext.
86107         * lib/relocatable.c: New file, from GNU gettext.
86108         * lib/relocwrapper.c: New file, from GNU gettext.
86109         * m4/relocatable.m4: New file, from GNU gettext.
86111 2007-02-28  Bruno Haible  <bruno@clisp.org>
86113         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
86115         * modules/xreadlink: New file, from GNU gettext with modifications.
86116         * lib/xreadlink.c: New file, from GNU gettext.
86117         * lib/xreadlink.h: Add comments.
86118         (xreadlink): New declaration.
86120         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
86121         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
86122         lib/xreadlink-with-size.c.
86123         (configure.ac): Remove gl_XREADLINK invocation.
86124         (Makefile.am): Augment lib_SOURCES.
86125         * m4/xreadlink.m4: Remove file.
86126         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
86127         (xreadlink_with_size): Renamed from xreadink.
86128         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
86129         * modules/canonicalize (Depends-on): Replace xreadlink with
86130         xreadlink-with-size.
86131         * lib/canonicalize.c (canonicalize_filename_mode): Update.
86133 2007-02-25  Jim Meyering  <jim@meyering.net>
86135         * build-aux/announce-gen: When complaining about excess arguments,
86136         list them.
86138 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86140         * README: Document signed integer overflow situation more
86141         accurately.
86143 2007-02-25  Bruno Haible  <bruno@clisp.org>
86145         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
86146         'a' or 'A' conversion.
86148 2007-02-25  Bruno Haible  <bruno@clisp.org>
86150         * modules/filename: Renamed from modules/pathname.
86151         (Files): Replace lib/pathname.h with lib/filename.h. Replace
86152         lib/concatpath.c with lib/concat-filename.c.
86153         (Makefile.am): Update.
86154         (Include): Replace pathname.h with filename.h.
86155         * lib/filename.h: Renamed from lib/pathname.h.
86156         (concatenated_filename): Renamed from concatenated_pathname.
86157         * lib/concat-filename.c: Renamed from lib/concatpath.c.
86158         (concatenated_filename): Renamed from concatenated_pathname.
86159         * lib/findprog.c: Include filename.h instead of pathname.h.
86160         (find_in_path): Update.
86161         * lib/javacomp.c: Include filename.h instead of pathname.h.
86162         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
86163         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
86164         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
86165         is_oldgcj_14_13_usable, is_javac_usable): Update.
86166         * lib/javaexec.c: Include filename.h instead of pathname.h.
86167         (execute_java_class): Update.
86168         * modules/findprog: Update.
86169         * modules/javacomp: Update.
86170         * modules/javaexec: Update.
86171         * MODULES.html.sh (File system functions): Add 'filename', remove
86172         'pathname'.
86174 2007-02-25  Bruno Haible  <bruno@clisp.org>
86176         * modules/printf-frexpl-tests: New file.
86177         * tests/test-printf-frexpl.c: New file.
86179         * modules/printf-frexpl: New file.
86180         * lib/printf-frexpl.h: New file.
86181         * lib/printf-frexpl.c: New file.
86182         * m4/printf-frexpl.m4: New file.
86184 2007-02-25  Bruno Haible  <bruno@clisp.org>
86186         * modules/printf-frexp-tests: New file.
86187         * tests/test-printf-frexp.c: New file.
86189         * modules/printf-frexp: New file.
86190         * lib/printf-frexp.h: New file.
86191         * lib/printf-frexp.c: New file.
86192         * m4/printf-frexp.m4: New file.
86194 2007-02-25  Bruno Haible  <bruno@clisp.org>
86196         Assume automake >= 1.10 for the tests.
86197         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
86198         * modules/arctwo-tests: Likewise.
86199         * modules/argp-tests: Likewise.
86200         * modules/avltree-list-tests: Likewise.
86201         * modules/avltree-oset-tests: Likewise.
86202         * modules/avltreehash-list-tests: Likewise.
86203         * modules/carray-list-tests: Likewise.
86204         * modules/crc-tests: Likewise.
86205         * modules/des-tests: Likewise.
86206         * modules/gc-arcfour-tests: Likewise.
86207         * modules/gc-arctwo-tests: Likewise.
86208         * modules/gc-des-tests: Likewise.
86209         * modules/gc-hmac-md5-tests: Likewise.
86210         * modules/gc-hmac-sha1-tests: Likewise.
86211         * modules/gc-md2-tests: Likewise.
86212         * modules/gc-md4-tests: Likewise.
86213         * modules/gc-md5-tests: Likewise.
86214         * modules/gc-pbkdf2-sha1-tests: Likewise.
86215         * modules/gc-rijndael-tests: Likewise.
86216         * modules/gc-sha1-tests: Likewise.
86217         * modules/gc-tests: Likewise.
86218         * modules/getaddrinfo-tests: Likewise.
86219         * modules/hmac-md5-tests: Likewise.
86220         * modules/hmac-sha1-tests: Likewise.
86221         * modules/linked-list-tests: Likewise.
86222         * modules/linkedhash-list-tests: Likewise.
86223         * modules/lock-tests: Likewise.
86224         * modules/md2-tests: Likewise.
86225         * modules/md4-tests: Likewise.
86226         * modules/md5-tests: Likewise.
86227         * modules/rbtree-list-tests: Likewise.
86228         * modules/rbtree-oset-tests: Likewise.
86229         * modules/rbtreehash-list-tests: Likewise.
86230         * modules/read-file-tests: Likewise.
86231         * modules/rijndael-tests: Likewise.
86232         * modules/stdint-tests: Likewise.
86233         * modules/tls-tests: Likewise.
86235 2007-02-24  Bruno Haible  <bruno@clisp.org>
86237         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
86238         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
86239         function; instead check whether isnan with a double argument links.
86240         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
86241         function; instead check whether isnan with a 'long double' argument
86242         links.
86243         Reported by Eric Blake <ebb9@byu.net>.
86245 2007-02-24  Bruno Haible  <bruno@clisp.org>
86247         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
86248         defined.
86249         * lib/isnanl.c: Remove all code. Just include isnan.c.
86250         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
86252 2007-02-25  Jim Meyering  <jim@meyering.net>
86254         Avoid conflicting types for 'unsetenv' on FreeBSD.
86255         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
86256         conflicting with FreeBSD's (5.0 and 6.1) function declaration
86257         in stdlib.h.
86259 2007-02-24  Bruno Haible  <bruno@clisp.org>
86261         * modules/isnanl-nolibm-tests: New file.
86262         * tests/test-isnanl.c: New file.
86264         * modules/isnanl-nolibm: New file.
86265         * lib/isnanl.h: New file.
86266         * lib/isnanl.c: New file.
86267         * m4/isnanl.m4: New file.
86269 2007-02-24  Bruno Haible  <bruno@clisp.org>
86271         * modules/isnan-nolibm-tests: New file.
86272         * tests/test-isnan.c: New file.
86274         * modules/isnan-nolibm: New file.
86275         * lib/isnan.h: New file.
86276         * lib/isnan.c: New file.
86277         * m4/isnan.m4: New file.
86279 2007-02-24  Bruno Haible  <bruno@clisp.org>
86281         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
86282         assume that an exponent fits in 20 bits.
86284 2007-02-24  Jim Meyering  <jim@meyering.net>
86286         * m4/regex.m4: Update the description of the configure-time option,
86287         --without-included-regex, to state accurately what the defaults are,
86288         and perhaps to give people an idea why using this option is risky.
86290 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
86292         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
86293         loops on small arguments.  This attempts to avoid the problem
86294         Bruno Haible reported for AIX 4.3.2 in
86295         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
86297 2007-02-23  Bruno Haible  <bruno@clisp.org>
86299         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
86300         Needed for help2man.
86302 2007-02-23  Karl Berry  <karl@gnu.org>
86304         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
86305         exists, foo.h should be cvs-ignored, not committed.
86307 2007-02-23  Eric Blake  <ebb9@byu.net>
86309         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
86310         * lib/stat-time.h (includes): Likewise.
86311         * lib/utimecmp.c (includes): Likewise.
86312         * lib/utimens.h (includes): Likewise.
86313         * lib/getdate.y (includes): Also include "timespec.h" for use
86314         internal to the module.
86315         * modules/utimens (Depends-on): Revert yesterday's patch.
86316         * modules/nanosleep (Depends-on): Add missing dependency.
86318 2007-02-22  Bruno Haible  <bruno@clisp.org>
86320         * lib/glob.c: Don't include getlogin_r.h.
86322 2007-02-22  Jim Meyering  <jim@meyering.net>
86324         * modules/utimens (Depends-on): Add timespec, required for
86325         utimens.h's inclusion of timespec.h.
86327 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
86329         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
86330         long unreadable paths in GNU/Linux.  Problem reported by Andreas
86331         Schwab in
86332         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
86333         I'll try to think of a better way to fix the Solaris problem.
86335         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
86336         like glibc; on Solaris 10, it fails with errno == EINVAL.
86337         POSIX says the behavior is unspecified if the first argument is NULL,
86338         so play it safe and never pass NULL to the system getcwd.
86340 2007-02-21  Jim Meyering  <jim@meyering.net>
86342         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
86343         of gettimeofday.  It would conflict with the one now always
86344         provided via sys_time_.h.  Reported by Matthew Woehlke, as
86345         an IRIX 6.5 build failure.
86347 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
86349         Minor fixups to port to Solaris 10 with Sun C 5.8.
86350         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
86351         * modules/getcwd (Depends-on): Add dirfd.
86352         * lib/putenv.c (putenv): #undef it.
86353         (rpl_putenv): New decl.
86354         (malloc, free): Include <stdlib.h> rather than prototyping separately.
86356 2007-02-20  Bruno Haible  <bruno@clisp.org>
86358         * modules/stdio-tests: New file.
86359         * tests/test-stdio.c: New file.
86361         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
86362         (Depends-on): Add stdio.
86363         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
86364         (Include): Use <stdio.h> instead of vsnprintf.h.
86365         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
86366         HAVE_DECL_VSNPRINTF.
86367         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
86369         * modules/snprintf (Files): Remove lib/snprintf.h.
86370         (Depends-on): Add stdio.
86371         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
86372         (Include): Use <stdio.h> instead of snprintf.h.
86373         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
86374         HAVE_DECL_SNPRINTF.
86375         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
86376         * lib/getaddrinfo.c: Likewise.
86378         * modules/stdio: New file.
86379         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
86380         * lib/snprintf.h: Remove file.
86381         * lib/vsnprintf.h: Remove file.
86382         * lib/.cppi-disable: Remove snprintf.h.
86383         * m4/stdio_h.m4: New file.
86384         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
86386 2007-02-20  Jim Meyering  <jim@meyering.net>
86388         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
86389         used by e.g., mingw.  From Bruno Haible.
86391 2007-02-19  Bruno Haible  <bruno@clisp.org>
86393         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
86394         warnings.
86395         Reported by Ben Pfaff <blp@cs.stanford.edu>.
86397 2007-02-19  Bruno Haible  <bruno@clisp.org>
86399         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
86400         from mingw users.
86402 2007-02-19  Bruno Haible  <bruno@clisp.org>
86404         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
86405         warnings.
86406         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
86408 2007-02-19  Jim Meyering  <jim@meyering.net>
86410         Don't use FD after a successful "fdopendir (fd)".
86411         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
86412         Reset it by calling dirfd on the just-obtained DIR*.
86414         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
86415         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
86417 2007-02-18  Bruno Haible  <bruno@clisp.org>
86419         * lib/readlink.c: Include <unistd.h>.
86420         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
86421         HAVE_READLINK.
86422         * modules/readlink (Depends-on): Add unistd.
86423         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86424         (Include): Add <unistd.h>.
86426         * lib/getlogin_r.h: Remove file.
86427         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
86428         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
86429         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
86430         HAVE_DECL_GETLOGIN_R.
86431         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
86432         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86433         (Include): Use <unistd.h> instead of getlogin_r.h.
86435         * lib/getcwd.h: Remove file.
86436         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
86437         * lib/xgetcwd.c: Likewise.
86438         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
86439         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
86440         * modules/getcwd (Files): Remove lib/getcwd.h.
86441         (Depends-on): Add unistd.
86442         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86443         (Include): Use <unistd.h> instad of getcwd.h.
86445         * lib/ftruncate.c: Include <unistd.h> first.
86446         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
86447         Set HAVE_FTRUNCATE.
86448         * modules/ftruncate (Depends-on): Add unistd.
86449         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86451         * lib/fchdir.c: Include <unistd.h> first.
86452         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
86453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
86454         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
86455         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86456         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
86458         * lib/dup2.c: Include <unistd.h> first.
86459         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
86460         HAVE_DUP2.
86461         * modules/dup2 (Depends-on): Add unistd.
86462         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86464         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
86465         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
86466         REPLACE_CHOWN. Don't define chown as a macro here.
86467         * modules/chown (Depends-on): Add unistd.
86468         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
86470         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
86471         Add definition for GL_LINK_WARNING.
86472         (chown, dup2): New declarations.
86473         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
86474         link warning.
86475         (ftruncate): New declaration.
86476         (getcwd): New declaration, taken from old getcwd.h.
86477         (getlogin_r): New declaration, taken from old getlogin_r.h.
86478         (readlink): New declaration.
86479         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
86480         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
86481         (gl_PREREQ_UNISTD): Remove macro.
86482         (gl_UNISTD_MODULE_INDICATOR): New macro.
86483         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
86484         many new variables. Don't set UNISTD_H.
86485         * modules/unistd (Description): Change.
86486         (Depends-on): Add link-warning.
86487         (configure.ac): Update.
86488         (Makefile.am): Create unistd.h always. Substitute many new variables
86489         into it.
86491 2007-02-18  Bruno Haible  <bruno@clisp.org>
86493         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
86494         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
86495         HAVE_GETSUBOPT.
86496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
86497         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
86498         * lib/getsubopt.h: Remove file.
86499         * modules/getsubopt (Files): Remove lib/getsubopt.h.
86500         (Depends-on): Add stdlib.
86501         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
86502         (Includes): Use <stdlib.h> instead of getsubopt.h.
86503         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
86504         Set HAVE_GETSUBOPT.
86505         * lib/getsubopt.c: Don't include getsubopt.h.
86507 2007-02-18  Bruno Haible  <bruno@clisp.org>
86509         * modules/fchdir (Depends-on): Add dup2.
86511 2007-02-18  Bruno Haible  <bruno@clisp.org>
86513         * lib/stdlib_.h: Handle glibc's special invocation convention
86514         specially.
86516 2007-02-18  Bruno Haible  <bruno@clisp.org>
86518         * modules/stdlib-tests: New file.
86519         * tests/test-stdlib.c: New file.
86521         * modules/mkstemp (Files): Remove lib/mkstemp.h.
86522         (Depends-on): Add stdlib.
86523         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
86524         (Includes): Use <stdlib.h> instead of mkstemp.h.
86525         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
86526         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
86527         * lib/mkstemp.c: Don't include mkstemp.h.
86528         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
86529         * lib/stdlib--.h: Don't include mkstemp.h.
86531         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
86532         (Depends-on): Add stdlib.
86533         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
86534         (Includes): Use <stdlib.h> instead of mkdtemp.h.
86535         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
86536         HAVE_MKDTEMP.
86537         * lib/mkdtemp.c: Don't include mkdtemp.h.
86538         * lib/clean-temp.c: Don't include mkdtemp.h.
86540         * modules/exit (Files): Remove lib/exit.h.
86541         (Depends-on): Add stdlib.
86542         (Makefile.am): Remove lib_SOURCES.
86543         (Include): Use <stdlib.h> instead of exit.h.
86544         * lib/argmatch.c: Don't include exit.h.
86545         * lib/execute.c: Likewise.
86546         * lib/pagealign_alloc.c: Likewise.
86547         * lib/pipe.c: Likewise.
86548         * lib/wait-process.c: Likewise.
86549         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
86550         * lib/exitfail.c: Likewise.
86551         * lib/savewd.c: Likewise.
86552         * lib/xsetenv.c: Likewise.
86554         * modules/stdlib: New file.
86555         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
86556         and extra comments about mkstemp().
86557         * lib/exit.h: Remove file.
86558         * lib/mkdtemp.h: Remove file.
86559         * lib/mkstemp.h: Remove file.
86560         * m4/stdlib_h.m4: New file.
86561         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
86563 2007-02-18  Bruno Haible  <bruno@clisp.org>
86565         * modules/math-tests: New file.
86566         * tests/test-math.c: New file.
86568         * modules/math: New file.
86569         * modules/mathl (Files): Remove lib/mathl.h.
86570         (Depends-on): Add math.
86571         (Makefile.am): Don't mention mathl.h.
86572         (Include): Use <math.h> instead of mathl.h.
86573         * lib/math_.h: New file.
86574         * lib/mathl.h: Remove file.
86575         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
86576         mathl.h.
86577         * lib/asinl.c: Likewise.
86578         * lib/atanl.c: Likewise.
86579         * lib/ceill.c: Likewise.
86580         * lib/cosl.c: Likewise.
86581         * lib/expl.c: Likewise.
86582         * lib/floorl.c: Likewise.
86583         * lib/frexpl.c: Likewise.
86584         * lib/ldexpl.c: Likewise.
86585         * lib/logl.c: Likewise.
86586         * lib/sincosl.c: Likewise.
86587         * lib/sinl.c: Likewise.
86588         * lib/sqrtl.c: Likewise.
86589         * lib/tanl.c: Likewise.
86590         * lib/trigl.c: Likewise.
86591         * m4/math_h.m4: New file.
86592         * MODULES.html.sh (Mathematics): Add math.
86594 2007-02-17  Bruno Haible  <bruno@clisp.org>
86596         * modules/wctype-tests: New file.
86597         * tests/test-wctype.c: New file.
86599         * modules/wchar-tests: New file.
86600         * tests/test-wchar.c: New file.
86602         * modules/unistd-tests: New file.
86603         * tests/test-unistd.c: New file.
86605         * modules/time-tests: New file.
86606         * tests/test-time.c: New file.
86608         * modules/sysexits-tests: New file.
86609         * tests/test-sysexits.c: New file.
86611         * modules/sys_time-tests: New file.
86612         * tests/test-sys_time.c: New file.
86614         * modules/sys_stat-tests: New file.
86615         * tests/test-sys_stat.c: New file.
86617         * modules/sys_socket-tests: New file.
86618         * tests/test-sys_socket.c: New file.
86620         * modules/sys_select-tests: New file.
86621         * tests/test-sys_select.c: New file.
86623         * modules/string-tests: New file.
86624         * tests/test-string.c: New file.
86626         * modules/stdbool-tests: New file.
86627         * tests/test-stdbool.c: New file.
86629         * modules/netinet_in-tests: New file.
86630         * tests/test-netinet_in.c: New file.
86632         * modules/inttypes-tests: New file.
86633         * tests/test-inttypes.c: New file.
86635         * modules/fcntl-tests: New file.
86636         * tests/test-fcntl.c: New file.
86638         * modules/byteswap-tests: New file.
86639         * tests/test-byteswap.c: New file.
86641         * modules/arpa_inet-tests: New file.
86642         * tests/test-arpa_inet.c: New file.
86644 2007-02-17  Bruno Haible  <bruno@clisp.org>
86646         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
86647         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
86648         if the corresponding module is not enabled. Emit link warnings if
86649         the function is used nevertheless.
86650         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
86651         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
86652         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
86653         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
86654         * modules/inttypes (Depends-on): Add link-warning.
86655         (Makefile.am): Copy the contents of build-aux/link-warning.h into
86656         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
86657         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
86658         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
86659         * modules/imaxdiv (configure.ac): Likewise.
86660         * modules/strtoimax (configure.ac): Likewise.
86661         * modules/strtoumax (configure.ac): Likewise.
86663 2007-02-17  Bruno Haible  <bruno@clisp.org>
86665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
86666         gl_STRING_MODULE_INDICATOR_DEFAULTS.
86667         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
86668         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
86670 2007-02-17  Bruno Haible  <bruno@clisp.org>
86672         * modules/link-warning: New file.
86673         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
86674         * lib/string_.h (GL_LINK_WARNING): Remove definition.
86675         * modules/string (Depends-on): Add link-warning.
86676         (Makefile.am): Copy the contents of build-aux/link-warning.h into
86677         string.h.
86678         * MODULES.html.sh (Support for building libraries and executables): Add
86679         link-warning.
86681 2007-02-17  Bruno Haible  <bruno@clisp.org>
86683         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
86684         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
86685         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
86686         long lines.
86688 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
86689             Bruno Haible  <bruno@clisp.org>
86691         * modules/tmpfile: New file.
86692         * lib/tmpfile.c: New file.
86693         * m4/tmpfile.m4: New file.
86694         * MODULES.html.sh (func_all_modules): New section "Input/output".
86696 2007-02-15  Bruno Haible  <bruno@clisp.org>
86698         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
86699         (supports_delete_on_close): New function.
86700         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
86702 2007-02-14  Bruno Haible  <bruno@clisp.org>
86704         * modules/mbspcasecmp-tests: New file.
86705         * tests/test-mbspcasecmp.sh: New file.
86706         * tests/test-mbspcasecmp.c: New file.
86708         New module mbspcasecmp.
86709         * modules/mbspcasecmp: New file.
86710         * lib/mbspcasecmp.c: New file.
86711         * lib/string_.h (strncasecmp): Change warning message.
86712         (mbspcasecmp): New declaration.
86713         * m4/mbspcasecmp.m4: New file.
86714         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
86715         GNULIB_MBSPCASECMP.
86716         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
86717         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
86719 2007-02-14  Bruno Haible  <bruno@clisp.org>
86721         * modules/mbsncasecmp-tests: New file.
86722         * tests/test-mbsncasecmp.sh: New file.
86723         * tests/test-mbsncasecmp.c: New file.
86725         New module mbsncasecmp.
86726         * modules/mbsncasecmp: New file.
86727         * lib/mbsncasecmp.c: New file.
86728         * lib/string_.h (mbsncasecmp): New declaration.
86729         * m4/mbsncasecmp.m4: New file.
86730         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
86731         GNULIB_MBSNCASECMP.
86732         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
86733         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
86735 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
86737         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
86738         Verify that it doesn't overlap with our flags.
86739         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
86740         do not have the desired effect in multibyte locales; instead, use
86741         mbscasecmp.
86742         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
86743         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
86744         we don't require GNU fnmatch ourselves (if our users require it, they
86745         should do so explicitly).
86747         Fix regex code so it doesn't rely on strcasecmp.
86748         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
86749         Otherwise, include gnulib's langinfo.h.
86750         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
86751         undesirable behavior in non-C locales.  Instead, rely on localecharset.
86752         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
86753         * modules/regex (FILES): Remove m4/codeset.m4.
86754         (Depends-on): Add localcharset.  Remove strcase.
86756 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
86758         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
86759         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
86761 2007-02-13  Bruno Haible  <bruno@clisp.org>
86763         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
86764         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
86766 2007-02-12  Bruno Haible  <bruno@clisp.org>
86768         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
86769         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
86770         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
86771         time warning rather than a link error.
86773 2007-02-12  Bruno Haible  <bruno@clisp.org>
86775         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
86776         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
86777         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
86779 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
86781         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
86782         args, not 2.
86784 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
86786         New module 'time', so that apps can include <time.h> as per
86787         POSIX and GNU instead of separate include files like time_r.h
86788         and timegm.h.  This implementation tries out a simpler approach
86789         for replacing decls in standard include files (as compared to
86790         the string module), somewhat as an experiment.
86792         * config/srclist.txt: Comment out mktime.c for now.
86793         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
86794         since it doesn't apply any more.  Use generic wording instead.
86795         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
86796         'time'.
86797         * lib/time_.h, m4/time_h.m4, modules/time: New files.
86798         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
86799         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
86800         Don't include <sys/types.h>; no longer needed since we assume C89.
86801         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
86802         * lib/strftime.c: Likewise.
86803         * lib/time_r.c: Likewise.
86804         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
86805         * lib/nanosleep.c: Include <time.h> first, to check interface.
86806         * lib/strptime.c: Likewise.
86807         * lib/time_r.c: Likewise.
86808         * lib/timegm.c: Likewise.
86809         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
86810         needed.
86811         * lib/timegm.c: Don't include timegm.h; no longer needed.
86812         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
86813         time.h now handles any problems in that area.
86814         (struct timespec, nanosleep): Remove; time.h now arranges for these.
86815         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
86816         that time.h defines struct timespec.
86817         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
86818         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
86819         handles that.
86820         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
86821         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
86822         needed.  Set REPLACE_LOCALTIME.
86823         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
86824         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
86825         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
86826         nanosleep; time_h.m4 now does that.  Don't require
86827         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
86828         module handles this now.
86829         * modules/getdate (Depends-on): Remove timespec.  Add time.
86830         * modules/nanosleep (Depends-on): Likewise.
86831         * modules/stat-time (Depends-on): Likewise.
86832         * modules/nanosleep (Include): Include time.h, not timespec.h.
86833         * modules/strptime (Files): Remove lib/strptime.h.
86834         (Depends-on): Add extensions, time.
86835         (Include): Include time.h, not strptime.h.
86836         * modules/time_r (Files): Remove lib/time_r.h.
86837         (Depends-on): Add time.
86838         (Include): Include time.h, not time_r.h.
86839         * modules/timegm: Likewise.
86840         * modules/timespec (Description): Now does timespec-related decls
86841         of our own, instead of struct timespec itself.
86842         (Depends-on): Add time; remove extensions.
86843         (Maintainer): Add self.
86844         * modules/utimecmp (Depends-on): Add time; remove timespec.
86845         * modules/utimens (Depends-on): Likewise.
86846         * modules/xnanosleep (Depends-on): Likewise.
86848 2007-02-11  Bruno Haible  <bruno@clisp.org>
86850         * lib/c-strstr.c: Include allocsa.h.
86851         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
86852         * lib/c-strcasestr.c: Include allocsa.h.
86853         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
86854         * lib/strcasestr.c: Include allocsa.h.
86855         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
86856         * lib/mbsstr.c: Include allocsa.h.
86857         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
86858         allocsa/freesa instead of malloc/free.
86859         * lib/mbscasestr.c: Include allocsa.h.
86860         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
86861         allocsa/freesa instead of malloc/free.
86862         * modules/c-strstr (Depends-on): Add allocsa.
86863         * modules/c-strcasestr (Depends-on): Likewise.
86864         * modules/strcasestr (Depends-on): Likewise.
86865         * modules/mbsstr (Depends-on): Likewise.
86866         * modules/mbscasestr (Depends-on): Likewise.
86868 2007-02-11  Bruno Haible  <bruno@clisp.org>
86870         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
86872         * modules/mbsspn-tests: New file.
86873         * tests/test-mbsspn.sh: New file.
86874         * tests/test-mbsspn.c: New file.
86876 2007-02-11  Bruno Haible  <bruno@clisp.org>
86878         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
86880         * modules/mbspbrk-tests: New file.
86881         * tests/test-mbspbrk.sh: New file.
86882         * tests/test-mbspbrk.c: New file.
86884 2007-02-11  Bruno Haible  <bruno@clisp.org>
86886         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
86887         unneeded cast.
86889         * modules/mbscspn-tests: New file.
86890         * tests/test-mbscspn.sh: New file.
86891         * tests/test-mbscspn.c: New file.
86893 2007-02-11  Bruno Haible  <bruno@clisp.org>
86895         * modules/mbscasecmp-tests: New file.
86896         * tests/test-mbscasecmp.sh: New file.
86897         * tests/test-mbscasecmp.c: New file.
86899 2007-02-11  Bruno Haible  <bruno@clisp.org>
86901         Ensure O(n) worst-case complexity of mbscasestr.
86902         * lib/mbscasestr.c: Include stdbool.h.
86903         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
86904         functions.
86905         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
86906         the bookkeeping indicates that it's worth it.
86907         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
86909         * modules/mbscasestr-tests: New file.
86910         * tests/test-mbscasestr1.c: New file.
86911         * tests/test-mbscasestr2.sh: New file.
86912         * tests/test-mbscasestr2.c: New file.
86913         * tests/test-mbscasestr3.sh: New file.
86914         * tests/test-mbscasestr3.c: New file.
86915         * tests/test-mbscasestr4.sh: New file.
86916         * tests/test-mbscasestr4.c: New file.
86917         * m4/locale-tr.m4: New file.
86919 2007-02-11  Bruno Haible  <bruno@clisp.org>
86921         Ensure O(n) worst-case complexity of mbsstr.
86922         * lib/mbsstr.c: Include stdbool.h.
86923         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
86924         functions.
86925         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
86926         bookkeeping indicates that it's worth it.
86927         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
86929         * modules/mbsstr-tests: New file.
86930         * tests/test-mbsstr1.c: New file.
86931         * tests/test-mbsstr2.sh: New file.
86932         * tests/test-mbsstr2.c: New file.
86933         * tests/test-mbsstr3.sh: New file.
86934         * tests/test-mbsstr3.c: New file.
86935         * m4/locale-fr.m4: New file.
86937 2007-02-11  Bruno Haible  <bruno@clisp.org>
86939         * lib/mbsrchr.c (mbsrchr): Fix bug.
86941         * modules/mbsrchr-tests: New file.
86942         * tests/test-mbsrchr.sh: New file.
86943         * tests/test-mbsrchr.c: New file.
86945 2007-02-11  Bruno Haible  <bruno@clisp.org>
86947         * lib/mbschr.c (mbschr): Fix bug.
86949         * modules/mbschr-tests: New file.
86950         * tests/test-mbschr.sh: New file.
86951         * tests/test-mbschr.c: New file.
86952         * m4/locale-zh.m4: New file.
86954 2007-02-11  Bruno Haible  <bruno@clisp.org>
86956         Support for copying multibyte string iterators.
86957         * lib/mbiter.h: Include <string.h>.
86958         (mbiter_multi_copy): New function.
86959         (mbi_copy): New macro.
86960         * lib/mbuiter.h: Include <string.h>.
86961         (mbuiter_multi_copy): New function.
86962         (mbui_copy): New macro.
86964 2007-02-11  Bruno Haible  <bruno@clisp.org>
86966         New module mbslen.
86967         * modules/mbslen: New file.
86968         * lib/mbslen.c: New file.
86969         * lib/string_.h (mbslen): New declaration.
86970         * m4/mbslen.m4: New file.
86971         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
86972         GNULIB_MBSLEN.
86973         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
86974         * MODULES.html.sh (Internationalization functions): Add mbslen.
86976 2007-02-11  Bruno Haible  <bruno@clisp.org>
86978         Ensure O(n) worst-case complexity of strcasestr substitute.
86979         * lib/strcasestr.c: Include stdbool.h.
86980         (knuth_morris_pratt): New function.
86981         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
86982         bookkeeping indicates that it's worth it.
86983         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
86985         * modules/strcasestr-tests: New file.
86986         * tests/test-strcasestr.c: New file.
86988 2007-02-11  Bruno Haible  <bruno@clisp.org>
86990         Ensure O(n) worst-case complexity of c_strcasestr.
86991         * lib/c-strcasestr.c: Include stdbool.h, string.h.
86992         (knuth_morris_pratt): New function.
86993         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
86994         the bookkeeping indicates that it's worth it.
86995         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
86997         * modules/c-strcasestr-tests: New file.
86998         * tests/test-c-strcasestr.c: New file.
87000 2007-02-11  Bruno Haible  <bruno@clisp.org>
87002         Ensure O(n) worst-case complexity of c_strstr.
87003         * lib/c-strstr.c: Include stdbool.h, string.h.
87004         (knuth_morris_pratt): New function.
87005         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
87006         bookkeeping indicates that it's worth it.
87007         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
87009         * lib/c-strstr.c: Complete rewrite for maintainability.
87011         * modules/c-strstr-tests: New file.
87012         * tests/test-c-strstr.c: New file.
87014 2007-02-11  Bruno Haible  <bruno@clisp.org>
87016         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
87017         5.2.1 and earlier, whereby \055 was treated just like the range
87018         delimiter '-'.
87019         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
87021 2007-02-08  Bruno Haible  <bruno@clisp.org>
87023         * modules/regex (Depends-on): Add stdbool.
87024         Reported by Dalibor Topic <robilad@kaffe.org>.
87026 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
87028         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
87029         Prefer returning from main to exiting from it.
87030         Remove unnecessary parens after sizeof.
87032 2007-02-05  Bruno Haible  <bruno@clisp.org>
87034         New module mbssep.
87035         * modules/mbssep: New file.
87036         * lib/mbssep.c: New file.
87037         * lib/string_.h (strsep): Add a conditional link warning.
87038         (mbssep): New declaration.
87039         * m4/mbssep.m4: New file.
87040         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87041         GNULIB_MBSSEP.
87042         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
87043         * MODULES.html.sh (Internationalization functions): Add mbssep.
87045 2007-02-05  Bruno Haible  <bruno@clisp.org>
87047         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
87048         Optimize search in case of 1 delimiter.
87050 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
87052         * lib/acl.h: Include sys/types.h before sys/acl.h.
87054 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
87056         Merge upstream fix for glibc bugzilla #3957:
87058         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
87060         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
87061         bit for RE_HAT_LISTS_NOT_NEWLINE.
87062         (build_charclass_op): Remove bogus comment.
87064 2007-02-05  Simon Josefsson  <simon@josefsson.org>
87066         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
87068 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
87070         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
87071         * lib/memmem.c [!defined _LIBC]: Include config.h.
87073 2007-02-04  Bruno Haible  <bruno@clisp.org>
87075         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
87076         warning message.
87078 2007-02-04  Bruno Haible  <bruno@clisp.org>
87080         New module mbstok_r.
87081         * modules/mbstok_r: New file.
87082         * lib/mbstok_r.c: New file.
87083         * lib/string_.h (strtok_r): Change argument names to match the
87084         comments. Add a conditional link warning.
87085         (mbstok_r): New declaration.
87086         * m4/mbstok_r.m4: New file.
87087         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87088         GNULIB_MBSTOK_R.
87089         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
87090         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
87092 2007-02-04  Bruno Haible  <bruno@clisp.org>
87094         New module mbsspn.
87095         * modules/mbsspn: New file.
87096         * lib/mbsspn.c: New file.
87097         * lib/string_.h (strspn): Add a conditional link warning.
87098         (mbsspn): New declaration.
87099         * m4/mbsspn.m4: New file.
87100         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87101         GNULIB_MBSSPN.
87102         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
87103         * MODULES.html.sh (Internationalization functions): Add mbsspn.
87105 2007-02-04  Bruno Haible  <bruno@clisp.org>
87107         New module mbspbrk.
87108         * modules/mbspbrk: New file.
87109         * lib/mbspbrk.c: New file.
87110         * lib/string_.h (strpbrk): Add a conditional link warning.
87111         (mbspbrk): New declaration.
87112         * m4/mbspbrk.m4: New file.
87113         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87114         GNULIB_MBSPBRK.
87115         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
87116         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
87118 2007-02-04  Bruno Haible  <bruno@clisp.org>
87120         New module mbscspn.
87121         * modules/mbscspn: New file.
87122         * lib/mbscspn.c: New file.
87123         * lib/string_.h (strcspn): Add a conditional link warning.
87124         (mbscspn): New declaration.
87125         * m4/mbscspn.m4: New file.
87126         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87127         GNULIB_MBSCSPN.
87128         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
87129         * MODULES.html.sh (Internationalization functions): Add mbscspn.
87131 2007-02-04  Bruno Haible  <bruno@clisp.org>
87133         New module mbscasestr, reduced goal of strcasestr.
87134         * modules/mbscasestr: New file.
87135         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
87136         (mbscasestr): Renamed from strcasestr.
87137         * lib/strcasestr.c: Don't include mbuiter.h.
87138         (strcasestr): Remove support for multibyte locales.
87139         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
87140         Change the conditional link warning.
87141         (mbscasestr): New declaration.
87142         * m4/mbscasestr.m4: New file.
87143         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
87144         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
87145         REPLACE_STRCASESTR.
87146         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
87147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
87148         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
87149         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
87150         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
87151         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
87152         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
87153         (Depends-on): Remove mbuiter.
87154         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
87156 2007-02-04  Bruno Haible  <bruno@clisp.org>
87158         Simplify handling of strncasecmp.
87159         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
87160         the conditional link warning.
87161         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
87162         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
87163         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
87164         * modules/strcase (configure.ac): Don't invoke
87165         gl_STRING_MODULE_INDICATOR.
87166         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
87168 2007-02-04  Bruno Haible  <bruno@clisp.org>
87170         New module mbscasecmp, reduced goal of strcasecmp.
87171         * modules/mbscasecmp: New file.
87172         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
87173         (mbscasecmp): Renamed from strcasecmp.
87174         * lib/strcasecmp.c: Don't include mbuiter.h.
87175         (strcasecmp): Remove support for multibyte locales.
87176         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
87177         Change the conditional link warning.
87178         (mbscasecmp): New declaration.
87179         * m4/mbscasecmp.m4: New file.
87180         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
87181         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
87182         REPLACE_STRCASECMP.
87183         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
87184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87185         GNULIB_MBSCASECMP.
87186         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
87187         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
87188         * modules/strcase (Files): Remove m4/mbrtowc.m4.
87189         (Depends-on): Remove mbuiter.
87190         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
87192 2007-02-04  Bruno Haible  <bruno@clisp.org>
87194         New module mbsstr. Remove module strstr.
87195         * modules/mbsstr: New file.
87196         * modules/strstr: Remove file.
87197         * lib/mbsstr.c: Renamed from lib/strstr.c.
87198         (mbsstr): Renamed from strstr.
87199         * lib/string_.h (strstr): Remove declaration. Change the conditional
87200         link warning.
87201         (mbsstr): New declaration.
87202         * m4/mbsstr.m4: New file.
87203         * m4/strstr.m4: Remove file.
87204         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
87205         REPLACE_STRSTR.
87206         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
87207         Don't initialize GNULIB_STRSTR.
87208         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
87209         substitute GNULIB_STRSTR and REPLACE_STRSTR.
87210         * MODULES.html.sh (Internationalization functions): Add mbsstr.
87211         (Support for systems lacking ANSI C 89): Remove strstr.
87213 2007-02-04  Bruno Haible  <bruno@clisp.org>
87215         New module mbsrchr.
87216         * modules/mbsrchr: New file.
87217         * lib/mbsrchr.c: New file.
87218         * lib/string_.h (strrchr): Add a conditional link warning.
87219         (mbsrchr): New declaration.
87220         * m4/mbsrchr.m4: New file.
87221         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87222         GNULIB_MBSRCHR.
87223         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
87224         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
87226 2007-02-04  Bruno Haible  <bruno@clisp.org>
87228         New module mbschr.
87229         * modules/mbschr: New file.
87230         * lib/mbschr.c: New file.
87231         * lib/string_.h (strchr): Add a conditional link warning.
87232         (mbschr): New declaration.
87233         * m4/mbschr.m4: New file.
87234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
87235         GNULIB_MBSCHR.
87236         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
87237         * MODULES.html.sh (Internationalization functions): Add mbschr.
87239 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
87241         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
87243         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
87245 2007-02-04  Bruno Haible  <bruno@clisp.org>
87247         New module description section 'configure.ac-early'.
87248         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
87249         (func_get_autoconf_early_snippet): New function.
87250         (func_import, func_create_testdir): Use it. Remove special cases for
87251         modules 'extensions' and 'lock'.
87252         * modules/extensions (configure.ac-early): Require
87253         gl_USE_SYSTEM_EXTENSIONS.
87254         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
87256 2007-02-04  Bruno Haible  <bruno@clisp.org>
87258         Make use of gcj-4.3's -fsource and -ftarget option.
87259         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
87260         and if so try the options -fsource and -ftarget.
87261         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
87262         source_version, ftarget_option, target_version arguments.
87263         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
87264         (is_envjavac_oldgcj_14_14_usable): Renamed from
87265         is_envjavac_gcj_14_14_usable.
87266         (is_envjavac_oldgcj_14_13_usable): Renamed from
87267         is_envjavac_gcj_14_13_usable.
87268         (is_gcj_present): Update.
87269         (is_gcj_43, is_gcj43_usable): New functions.
87270         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
87271         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
87272         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
87273         try the options -fsource and -ftarget.
87275 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87277         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
87278         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
87279         larger value.
87281 2007-02-03  Jim Meyering  <jim@meyering.net>
87283         Give tools a better chance to allocate space for very large buffers.
87284         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
87286         Make pwd and readlink work also when run with an unreadable parent dir
87287         on systems with openat support.
87288         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
87289         provided getcwd function, even when we have openat support.
87290         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
87292 2007-02-02  Bruno Haible  <bruno@clisp.org>
87294         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
87295         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
87296         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
87297         portability problems if one of these functions is only used on specific
87298         platforms.
87299         Reported by Paul Eggert.
87301 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
87303         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
87304         is causing more trouble than it's curing.
87305         * lib/regex_internal.h (__mempcpy): Remove.
87306         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
87307         (and make the code a tad smaller to boot).
87308         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
87310 2007-02-02  Jim Meyering  <jim@meyering.net>
87312         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
87313         section, not in the Makefile.am: one.
87315 2007-02-02  Eric Blake  <ebb9@byu.net>
87317         * lib/strchrnul.c: Always include config.h first.
87319         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
87320         gnulib strstr is not necessary here.
87322 2007-02-02  Simon Josefsson  <simon@josefsson.org>
87324         * m4/socklen.m4: Fix typo.
87326 2007-02-02  Eric Blake  <ebb9@byu.net>
87328         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
87329         * modules/netinet_in (Makefile.am): Likewise.
87331 2007-02-01  Bruno Haible  <bruno@clisp.org>
87333         * lib/string_.h (GL_LINK_WARNING): New macro.
87334         (strcasecmp, strstr, strcasestr): If provided by the system,
87335         conditionally define as a macro that leads to a warning instead of to
87336         an error.
87337         (strncasecmp): Conditionally define as a macro that leads to a warning.
87339 2007-02-01  Karl Berry  <karl@gnu.org>
87341         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
87343 2007-02-01  Bruno Haible  <bruno@clisp.org>
87345         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
87346         renamings.
87348 2007-02-01  Eric Blake  <ebb9@byu.net>
87350         * modules/regex (Depends-on): Revert dependence on mempcpy.
87351         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
87352         module's definition of mempcpy.
87353         Reported by Paul Eggert.
87355 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87357         * lib/string_.h: If the gnulib module XYZ is not present, undefine
87358         the symbol XYZ before redefining it.  This fixes a problem with
87359         programs that don't use XYZ, when compiled on systems that define
87360         XYZ to something else.
87362 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
87364         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
87365         occurs when "mkdir -m foo" creates a setgid directory that is (1)
87366         writeable to group or other and (2) is intended to have a special
87367         mode bit that is set or cleared.  In such a case, the directory
87368         should be neither group- nor other-writeable until the special
87369         mode bits are right.
87371 2007-01-31  Eric Blake  <ebb9@byu.net>
87373         * modules/mountlist (Depends-on): Add strstr.
87375         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
87376         bug.
87377         * modules/string (Makefile.am): Remove redundant replacement.
87378         * modules/regex (Depends-on): Add mempcpy.
87380 2007-01-31  Bruno Haible  <bruno@clisp.org>
87382         New module description field 'Link'.
87383         * gnulib-tool (func_usage): Document --extract-link-directive.
87384         (sed_extract_prog): Recognize 'Link' directive.
87385         (func_get_link_directive): New function.
87386         (func_import): Show summary of link directives.
87387         Handle --extract-link-directive option.
87388         * modules/acl (Link): New section.
87389         * modules/clock-time (Link): New section.
87390         * modules/euidaccess (Link): New section.
87391         * modules/gettext (Link): New section.
87392         * modules/iconv (Link): New section.
87393         * modules/lock (Link): New section.
87394         * modules/nanosleep (Link): New section.
87395         * modules/readline (Link): New section.
87397 2007-01-27  Bruno Haible  <bruno@clisp.org>
87399         Enforce the use of gnulib modules for unportable <string.h> functions.
87400         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
87401         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
87402         (gl_HEADER_STRING_H_BODY): Require it.
87403         * lib/string_.h: If the gnulib module XYZ is not present, redefine
87404         the symbol XYZ to one that gives a link error.
87405         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
87406         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
87407         * modules/mempcpy (configure.ac): Likewise.
87408         * modules/memrchr (configure.ac): Likewise.
87409         * modules/stpcpy (configure.ac): Likewise.
87410         * modules/stpncpy (configure.ac): Likewise.
87411         * modules/strcase (configure.ac): Likewise.
87412         * modules/strcasestr (configure.ac): Likewise.
87413         * modules/strchrnul (configure.ac): Likewise.
87414         * modules/strdup (configure.ac): Likewise.
87415         * modules/strndup (configure.ac): Likewise.
87416         * modules/strnlen (configure.ac): Likewise.
87417         * modules/strpbrk (configure.ac): Likewise.
87418         * modules/strsep (configure.ac): Likewise.
87419         * modules/strstr (configure.ac): Likewise.
87420         * modules/strtok_r (configure.ac): Likewise.
87422 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
87424         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
87426 2007-01-30  Jim Meyering  <jim@meyering.net>
87428         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
87430 2007-01-29  Bruno Haible  <bruno@clisp.org>
87432         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
87433         * lib/execute.c: Likewise.
87434         * lib/pipe.c: Likewise.
87435         * lib/printf-args.h: Likewise.
87436         * lib/printf-args.c: Likewise.
87437         * lib/printf-parse.c: Likewise.
87438         * lib/vasnprintf.c: Likewise.
87440 2007-01-29  Eric Blake  <ebb9@byu.net>
87442         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
87443         declaration.
87445 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
87447         * lib/strptime.h (strptime): Use 'restrict' for args where
87448         POSIX requires this.
87449         * lib/strptime.c (strptime): Likewise.
87450         Change license notice from LGPL to GPL, since gnulib-tool will
87451         change this as needed.
87452         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
87453         defined.
87454         Include "strptime.h" first, to check interface.
87455         Do not #undef _LIBC and _NL_CURRENT.
87456         Do not include <stdlib.h>; no longer needed.
87457         Include "time_r.h" and declare ptime_locale_status
87458         only if _LIBC is not defined.
87459         (__P): Remove unused macro.
87460         (match_string): Bring back glibc version, but use it only if _LIBC
87461         is defined.
87462         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
87463         Remove unnecessary assertion and abort() call.
87464         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
87465         * m4/strptime.m4: Fix serial number comment.
87466         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
87467         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
87468         (Depends-on): Add time_r.
87470 2007-01-29  Bruno Haible  <bruno@clisp.org>
87472         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87473         strptime.
87474         * modules/strptime (Depends-on): Add stdbool.
87475         * lib/strptime.h: Include <time.h> always. Add comments.
87477 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87479         * modules/strptime: New file.
87480         * lib/strptime.h: New file.
87481         * lib/strptime.c: New file.
87482         * m4/strptime.m4: New file.
87484 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87486         * MODULES.html.sh: New module mpsort.
87487         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
87489         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
87490         a circularity problem with HP-UX ia64 reported by Bob Proulx in
87491         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
87492         All uses changed.
87493         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
87494         All uses changed.
87495         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
87496         to _Restrict_.
87497         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
87498         the parameter matches the prototype.
87500 2007-01-28  Jim Meyering  <jim@meyering.net>
87502         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
87503         sys/time.h here, reverting that part of the previous patch:
87504         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
87506 2007-01-28  Bruno Haible  <bruno@clisp.org>
87508         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
87509         value of $(SYS_TIME_H).
87510         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
87511         remove it conditionally, too. [added by Jim Meyering]
87512         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
87513         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
87514         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
87515         GETTIMEOFDAY_REPLACEMENT to 1.
87517 2007-01-28  Bruno Haible  <bruno@clisp.org>
87519         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
87520         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
87521         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
87522         Set UNISTD_H instead of UNISTD_H2.
87523         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
87525 2007-01-28  Bruno Haible  <bruno@clisp.org>
87527         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
87528         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
87530 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87532         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
87533         (func_create_testdir): Ensure C locale for `grep' and `tr'
87534         character ranges.
87535         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
87536         ACLOCAL_AMFLAGS parsing state machine.
87538 2007-01-27  Bruno Haible  <bruno@clisp.org>
87540         * modules/unistr/base: Update.
87542 2007-01-27  Bruno Haible  <bruno@clisp.org>
87544         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
87545         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
87546         * modules/unistr/u32-mbtouc-unsafe: Renamed from
87547         modules/unistr/u32-mbtouc.
87548         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
87549         * lib/unistr.h: Update.
87550         * lib/linebreak.c: Update.
87551         * modules/unistr/u32-mbtouc: Renamed from
87552         modules/unistr/u32-mbtouc-safe.
87553         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
87554         * lib/unistr.h: Update.
87555         * lib/unistr/u32-to-u8.c: Update.
87556         * lib/unistr/u32-to-u16.c: Update.
87558 2007-01-27  Bruno Haible  <bruno@clisp.org>
87560         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
87561         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
87562         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
87563         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
87564         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
87565         * modules/unistr/u16-mbtouc-unsafe: Renamed from
87566         modules/unistr/u16-mbtouc.
87567         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
87568         * lib/unistr.h: Update.
87569         * lib/linebreak.c: Update.
87570         * modules/linebreak: Update.
87571         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
87572         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
87573         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
87574         * modules/unistr/u16-mbtouc: Renamed from
87575         modules/unistr/u16-mbtouc-safe.
87576         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
87577         * lib/unistr.h: Update.
87578         * lib/unistr/u16-to-u8.c: Update.
87579         * modules/unistr/u16-to-u8: Update.
87580         * lib/unistr/u16-to-u32.c: Update.
87581         * modules/unistr/u16-to-u32: Update.
87583 2007-01-27  Bruno Haible  <bruno@clisp.org>
87585         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
87586         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
87587         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
87588         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
87589         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
87590         * modules/unistr/u8-mbtouc-unsafe: Renamed from
87591         modules/unistr/u8-mbtouc.
87592         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
87593         * lib/unistr.h: Update.
87594         * lib/striconveh.c: Update.
87595         * modules/striconveh: Update.
87596         * lib/linebreak.c: Update.
87597         * modules/linebreak: Update.
87598         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
87599         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
87600         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
87601         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
87602         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
87603         * lib/unistr.h: Update.
87604         * lib/striconveh.c: Update.
87605         * modules/striconveh: Update.
87606         * lib/unistr/u8-to-u16.c: Update.
87607         * modules/unistr/u8-to-u16: Update.
87608         * lib/unistr/u8-to-u32.c: Update.
87609         * modules/unistr/u8-to-u32: Update.
87611 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87613         Sync from Libtool.
87614         * lib/argz.c: Do not include strings.h nor memory.h, include
87615         string.h unconditionally.  Patch by Simon Josefsson.
87617 2007-01-27  Bruno Haible  <bruno@clisp.org>
87619         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
87620         from gl_HEADER_STRING_H_BODY.
87621         (gl_HEADER_STRING_H_BODY): Require it.
87622         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
87623         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
87624         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
87625         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
87626         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
87627         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
87628         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
87629         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
87630         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
87631         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
87632         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
87633         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
87634         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
87635         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
87636         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
87638 2007-01-27  Bruno Haible  <bruno@clisp.org>
87640         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
87641         check_PROGRAMS into noinst_PROGRAMS.
87642         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
87643         check_PROGRAMS in this case.
87644         (func_import): Set for_test to false.
87645         (func_create_testdir): Set for_test to true.
87647 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87648             Bruno Haible  <bruno@clisp.org>
87650         * modules/strcasestr (Files): Remove lib/strcasestr.h.
87651         (Depends-on): Add string.
87652         (Includes): Use <string.h> instead of strcasestr.h.
87653         * modules/string (Makefile.am): Also substitute the value of
87654         REPLACE_STRCASESTR.
87655         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
87656         assume strcasestr is declared in <string.h> not <strings.h>. Also
87657         set REPLACE_STRCASESTR.
87658         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
87659         REPLACE_STRCASESTR.
87660         * lib/strcasestr.h: Remove file.
87661         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
87662         * lib/string_.h (strcasestr): New declaration.
87664 2007-01-27  Bruno Haible  <bruno@clisp.org>
87666         * lib/string_.h: Use 'extern'.
87668 2007-01-27  Jim Meyering  <jim@meyering.net>
87670         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
87671         of set-but-not-used local, "q".
87673         * lib/mempcpy.c: Include <config.h> before <string.h>.
87674         This fixes a compilation error on HP-UX, due to the system's
87675         "restrict"-using mempcpy prototype.
87677 2007-01-26  Bruno Haible  <bruno@clisp.org>
87679         Small optimization.
87680         * lib/javacomp.c: Include c-strstr.h.
87681          (is_envjavac_gcj): Use c_strstr instead of strstr.
87682         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
87684 2007-01-26  Bruno Haible  <bruno@clisp.org>
87686         * MODULES.html.sh (Unicode string functions): Add the new modules.
87688         * modules/uniconv/u32-strconv-to-locale: New file.
87689         * lib/uniconv/u32-strconv-to-locale.c: New file.
87691         * modules/uniconv/u16-strconv-to-locale: New file.
87692         * lib/uniconv/u16-strconv-to-locale.c: New file.
87694         * modules/uniconv/u8-strconv-to-locale: New file.
87695         * lib/uniconv/u8-strconv-to-locale.c: New file.
87697         * modules/uniconv/u32-strconv-from-locale: New file.
87698         * lib/uniconv/u32-strconv-from-locale.c: New file.
87700         * modules/uniconv/u16-strconv-from-locale: New file.
87701         * lib/uniconv/u16-strconv-from-locale.c: New file.
87703         * modules/uniconv/u8-strconv-from-locale: New file.
87704         * lib/uniconv/u8-strconv-from-locale.c: New file.
87706         * modules/uniconv/u32-strconv-to-enc: New file.
87707         * lib/uniconv/u32-strconv-to-enc.c: New file.
87708         * modules/uniconv/u32-strconv-to-enc-tests: New file.
87709         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
87711         * modules/uniconv/u16-strconv-to-enc: New file.
87712         * lib/uniconv/u16-strconv-to-enc.c: New file.
87713         * lib/uniconv/u-strconv-to-enc.h: New file.
87714         * modules/uniconv/u16-strconv-to-enc-tests: New file.
87715         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
87717         * modules/uniconv/u8-strconv-to-enc: New file.
87718         * lib/uniconv/u8-strconv-to-enc.c: New file.
87719         * modules/uniconv/u8-strconv-to-enc-tests: New file.
87720         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
87722         * modules/uniconv/u32-strconv-from-enc: New file.
87723         * lib/uniconv/u32-strconv-from-enc.c: New file.
87724         * modules/uniconv/u32-strconv-from-enc-tests: New file.
87725         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
87727         * modules/uniconv/u16-strconv-from-enc: New file.
87728         * lib/uniconv/u16-strconv-from-enc.c: New file.
87729         * modules/uniconv/u16-strconv-from-enc-tests: New file.
87730         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
87732         * modules/uniconv/u8-strconv-from-enc: New file.
87733         * lib/uniconv/u8-strconv-from-enc.c: New file.
87734         * lib/uniconv/u-strconv-from-enc.h: New file.
87735         * modules/uniconv/u8-strconv-from-enc-tests: New file.
87736         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
87738         * modules/uniconv/u32-conv-from-enc: New file.
87739         * lib/uniconv/u32-conv-from-enc.c: New file.
87740         * modules/uniconv/u32-conv-from-enc-tests: New file.
87741         * tests/uniconv/test-u32-conv-from-enc.c: New file.
87743         * modules/uniconv/u16-conv-from-enc: New file.
87744         * lib/uniconv/u16-conv-from-enc.c: New file.
87745         * lib/uniconv/u-conv-from-enc.h: New file.
87746         * modules/uniconv/u16-conv-from-enc-tests: New file.
87747         * tests/uniconv/test-u16-conv-from-enc.c: New file.
87749         * modules/uniconv/u8-conv-from-enc: New file.
87750         * lib/uniconv/u8-conv-from-enc.c: New file.
87751         * modules/uniconv/u8-conv-from-enc-tests: New file.
87752         * tests/uniconv/test-u8-conv-from-enc.c: New file.
87754         * modules/uniconv/base: New file.
87755         * lib/uniconv.h: New file.
87757 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
87759         * doc/gnulib-tool.texi (Initial import): Update to match current
87760         behavior with strdup module.
87761         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
87762         * lib/memmem.h: Remove; all uses removed.  This is now done
87763         by <string.h>.
87764         * lib/mempcpy.h: Likewise.
87765         * lib/memrchr.h: Likewise.
87766         * lib/stpcpy.h: Likewise.
87767         * lib/stpncpy.h: Likewise.
87768         * lib/strcase.h: Likewise.
87769         * lib/strchrnul.h: Likewise.
87770         * lib/strdup.h: Likewise.
87771         * lib/strndup.h: Likewise.
87772         * lib/strnlen.h: Likewise.
87773         * lib/strpbrk.h: Likewise.
87774         * lib/strsep.h: Likewise.
87775         * lib/strstr.h: Likewise.
87776         * lib/strtok_r.h: Likewise.
87777         * lib/string_.h: New file.
87778         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
87779         Rely on <string.h> instead.
87780         * lib/canon-host.c: Likewise.
87781         * lib/chdir-long.c: Likewise.
87782         * lib/concatpath.c: Likewise.
87783         * lib/exclude.c: Likewise.
87784         * lib/fchdir.c: Likewise.
87785         * lib/getaddrinfo.c: Likewise.
87786         * lib/getcwd.c: Likewise.
87787         * lib/getsubopt.c: Likewise.
87788         * lib/glob.c: Likewise.
87789         * lib/hard-locale.c: Likewise.
87790         * lib/iconvme.c: Likewise.
87791         * lib/javacomp.c: Likewise.
87792         * lib/mempcpy.c: Likewise.
87793         * lib/memrchr.c: Likewise.
87794         * lib/regex_internal.h: Likewise.
87795         * lib/stpncpy.c: Likewise.
87796         * lib/strcasecmp.c: Likewise.
87797         * lib/strchrnul.c: Likewise.
87798         * lib/strdup.c: Likewise.
87799         * lib/striconv.c: Likewise.
87800         * lib/striconveh.c: Likewise.
87801         * lib/striconveha.c: Likewise.
87802         * lib/strncasecmp.c: Likewise.
87803         * lib/strndup.c: Likewise.
87804         * lib/strnlen.c: Likewise.
87805         * lib/strsep.c: Likewise.
87806         * lib/strstr.c: Likewise.
87807         * lib/strtok_r.c: Likewise.
87808         * lib/userspec.c: Likewise.
87809         * lib/w32spawn.h: Likewise.
87810         * lib/xstrndup.c: Likewise.
87811         * lib/mountlist.c (strstr): Remove decl.
87812         * m4/string_h.m4: New file.
87813         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
87814         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
87815         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
87816         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
87817         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
87818         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
87819         Set REPLACE_STRCASECMP if necessary.
87820         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
87821         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
87822         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
87823         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
87824         HAVE_DECL_STRDUP if necessary.
87825         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
87826         since gl_FUNC_STRNDUP does that now.
87827         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
87828         Check for decl here...
87829         (gl_PREREQ_STRNLEN): ... not here.
87830         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
87831         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
87832         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
87833         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
87834         necessary.
87835         * modules/string: New file.
87836         * modules/memmem (Files): Remove special-purpose include file.
87837         (Depends-on): Add string.
87838         (Include): Include <string.h>, not the removed file.
87839         * modules/mempcpy: Likewise.
87840         * modules/memrchr: Likewise.
87841         * modules/stpcpy: Likewise.
87842         * modules/stpncpy: Likewise.
87843         * modules/strcase: Likewise.
87844         * modules/strchrnul: Likewise.
87845         * modules/strdup: Likewise.
87846         * modules/strndup: Likewise.
87847         * modules/strnlen: Likewise.
87848         * modules/strpbrk: Likewise.
87849         * modules/strsep: Likewise.
87850         * modules/strstr: Likewise.
87851         * modules/strtok_r: Likewise.
87852         * tests/test-dirname.c: Don't include "strdup.h", since
87853         <string.h> now suffices.
87854         * tests/test-memmem.c: Don't include "memmem.h", since
87855         <string.h> now suffices.
87857 2007-01-25  Bruno Haible  <bruno@clisp.org>
87859         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
87860         *resultp is 0.
87862         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
87863         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
87864         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
87865         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
87867         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
87868         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
87869         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
87870         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
87871         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
87872         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
87874 2007-01-24  Bruno Haible  <bruno@clisp.org>
87876         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
87877         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
87878         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
87879         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
87880         gl_FUNC_FTS_CORE.
87881         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
87882         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
87883         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
87884         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
87885         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
87886         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
87887         gl_FUNC_FCHOWNAT.
87888         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
87889         gl_FUNC_STRFTIME.
87890         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
87891         Reported by Ralf Wildenhues.
87893 2007-01-24  Bruno Haible  <bruno@clisp.org>
87895         Drop AC_REQUIRE calls that are redundant with the module dependencies.
87896         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
87897         gl_GETADDRINFO.
87898         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
87899         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
87900         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
87902 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
87904         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
87905         Don't use 'exit'; just return from 'main'.
87906         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
87908         * lib/fnmatch_.h: Readjust white space and comments to match
87909         glibc, to avoid spurious diffs.
87911 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87913         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
87914         2004-12-01 change by Jakub Jelinek, since this code won't compile
87915         if !LIBC.  Problem reported by Bob Proulx.
87917 2007-01-23  Bruno Haible  <bruno@clisp.org>
87919         * lib/striconveh.c: Include c-strcaseeq.h.
87920         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
87921         * modules/striconveh (Depends-on): Add c-strcaseeq.
87923 2007-01-23  Bruno Haible  <bruno@clisp.org>
87925         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
87927         * modules/c-strcaseeq: New file.
87928         * lib/c-strcaseeq.h: New file.
87930         * modules/streq: New file.
87931         * lib/streq.h: New file.
87933 2007-01-23  Bruno Haible  <bruno@clisp.org>
87935         * modules/striconveha-tests: New file.
87936         * tests/test-striconveha.c: New file.
87938         * lib/striconveha.h: Include <stdbool.h>.
87939         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
87940         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
87941         (mem_iconveha_notranslit): Renamed from mem_iconveha.
87942         (mem_iconveha): New function.
87943         (str_iconveha_notranslit): Renamed from str_iconveha.
87944         (str_iconveha): New function.
87945         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
87946         c-strcase.
87948 2007-01-23  Bruno Haible  <bruno@clisp.org>
87950         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
87951         encodings without forgiving before trying any encoding with handler.
87952         (str_iconveha): Try all encodings without forgiving before trying any
87953         encoding with handler.
87955 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87957         Import the following changes from libc.
87959         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
87961         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
87963         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
87965         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
87966         normal_bracket label.
87968         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
87970         [BZ #361]
87971         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
87972         to normal_bracket after fetching the next character.
87974 2007-01-22  Bruno Haible  <bruno@clisp.org>
87976         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
87977         argument.
87978         * lib/striconveh.c (iconv_carefully_1): New function.
87979         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
87980         argument.
87981         (str_cd_iconveh): Update.
87982         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
87983         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
87984         * tests/test-striconveh.c (MAGIC): New macro.
87985         (new_offsets): New function.
87986         (main): Test call with and without offsets.
87988 2007-01-22  Bruno Haible  <bruno@clisp.org>
87990         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
87991         * modules/sys_select (Makefile.am): Likewise.
87992         * modules/sys_socket (Makefile.am): Likewise.
87993         * modules/sys_time (Makefile.am): Likewise.
87995 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
87997         * modules/gettimeofday (License): Change from GPL to LGPL, since
87998         gettimeofday is a library function.
88000 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88002         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
88004 2007-01-21  Bruno Haible  <bruno@clisp.org>
88006         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
88008 2007-01-21  Bruno Haible  <bruno@clisp.org>
88010         * modules/striconveha: New file.
88011         * lib/striconveha.h: New file.
88012         * lib/striconveha.c: New file.
88013         * MODULES.html.sh (Internationalization functions): Add striconveha.
88014         * lib/striconv.c (str_iconv): Optimize the case of an empty input
88015         string.
88016         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
88018 2007-01-21  Bruno Haible  <bruno@clisp.org>
88020         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
88021         * lib/striconveh.c (str_iconveh): Likewise.
88023 2007-01-21  Bruno Haible  <bruno@clisp.org>
88025         * lib/striconveh.h (mem_iconveh): New declaration.
88026         * lib/striconveh.c (mem_iconveh): New function.
88027         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
88029 2007-01-21  Bruno Haible  <bruno@clisp.org>
88031         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
88033         * lib/striconveh.h (mem_cd_iconveh): Change specification.
88034         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
88035         original result buffer.
88036         (str_cd_iconveh): Update.
88037         * tests/test-striconveh.c (main): Update.
88039         * lib/striconv.h (mem_cd_iconv): Change specification.
88040         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
88041         result buffer.
88042         (str_cd_iconv): Update.
88043         * tests/test-striconv.c (main): Update.
88045 2007-01-21  Bruno Haible  <bruno@clisp.org>
88047         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
88049 2007-01-20  Jim Meyering  <jim@meyering.net>
88051         * lib/userspec.c (parse_with_separator): If a user or group string
88052         starts with "+", skip the corresponding name-to-ID look-up, since
88053         such a look-up must fail: user and group names may not include "+".
88055 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88057         * lib/poll.c: Include sys/time.h and time.h unconditionally,
88058         since we now assume the sys_time module.
88059         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
88060         check for sys/time.h; no longer needed.
88061         * modules/poll (Depends-on): Depend on sys_time.
88063 2007-01-18  Bruno Haible  <bruno@clisp.org>
88065         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
88066         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
88068         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
88069         gettimeofday.
88071         * tests/test-gettimeofday.c: Include <time.h>.
88072         (dummy): Remove variable.
88074         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
88075         gl_HEADER_SYS_TIME_H.
88076         (gl_HEADER_SYS_TIME_H): New macro.
88078         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
88079         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88080         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
88081         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
88082         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88083         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
88084         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
88085         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88086         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
88087         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
88088         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88090         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
88091         last change; it caused a compilation error when cross-compiling to
88092         Cygwin.
88094 2007-01-18  Jim Meyering  <jim@meyering.net>
88096         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
88097         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
88098         than the race-prone "test -d sys || mkdir sys".
88099         (configure.ac): Use AC_PROG_MKDIR_P.
88100         * modules/sys_select: Likewise.
88101         * modules/sys_socket: Likewise.
88102         * modules/sys_time: Likewise.
88104 2007-01-18  Eric Blake  <ebb9@byu.net>
88106         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
88107         replace gettimeofday.
88108         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
88109         name, to avoid infinite recursion.
88111 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
88113         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
88114         module sys_time.
88115         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
88116         assume timespec.h defines struct timeval.
88117         * lib/settime.c: Likewise.
88118         * lib/utimens.c: Likewise.
88119         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
88120         since we now assume the gettimeofday module.
88121         * lib/tempname.c (__gen_tempname): Likewise.
88122         * lib/gettimeofday.h: Remove.
88123         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
88124         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
88125         Include <time.h>, for 'time()'.
88126         (localtime_buffer_addr): Also use this workaround if
88127         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
88128         to simplify the uses.  All uses changed.
88129         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
88130         that #undef is inside {}, and 'const' follows type name consistently.
88131         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
88132         (gettimeofday): Do not use the maximum possible value for
88133         tv->tv_usec, since that might break usages other than ls.c.
88134         Instead, we'll leave ls.c alone.  This undoes today's patch
88135         by Bruno.  Add a compile-time warning for 1s-clock resolution;
88136         we've never observed the problem but might as well keep the
88137         canary.
88138         * lib/nanosleep.c: Include timespec.h first, for interface check.
88139         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
88140         now assume the sys_time module.
88141         * lib/tempname.c: Likewise.
88142         * lib/timespec.h: Likewise.
88143         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
88144         needed.
88145         * lib/strftime.c: Likewise.
88146         * lib/timespec.h: Likewise.
88147         * lib/posixtm.c: Include posixtm.h first, for interface check.
88148         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
88149         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
88150         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
88151         * lib/sys_time_.h: New file.
88152         * lib/timespec.h (struct timespec): Use long int, not long.
88153         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
88154         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
88155         Remove obsolescent call to AC_HEADER_TIME.
88156         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
88157         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
88158         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
88159         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
88160         Likewise.
88161         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
88162         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
88163         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
88164         into the sys_time module.  Check for gettimeofday just once.
88165         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
88166         for gettimeofday signature to just check the signature.  Merely
88167         compile it, since linking doesn't test signature.  Improve test for
88168         whether gettimeofday.o is actually needed.
88169         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
88170         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
88171         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
88172         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88173         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
88174         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
88175         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
88176         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
88177         than worrying about sys/time.h.
88178         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
88179         Don't bother worrying about TIME_WITH_SYS_TIME.
88180         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
88181         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
88182         * m4/sys_time_h.m4: New file.
88183         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
88184         Don't include sys/time.h.  Return from main rather than exiting.
88185         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
88186         all uses changed.
88187         * modules/gethrxtime (Depends-on): Add sys_time.
88188         * modules/gettime (Depends-on): Likewise.
88189         * modules/gettimeofday (Depends-on): Likewise.
88190         * modules/nanosleep (Depends-on): Likewise.
88191         * modules/settime (Depends-on): Likewise.
88192         * modules/tempname (Depends-on): Likewise.
88193         * modules/utimens (Depends-on): Likewise.
88194         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
88195         (Include): Change back to <sys/time.h>.
88196         (Maintainer): Add self.
88197         * modules/sys_time: New file.
88198         * modules/tempname (Depends-on): Add gettimeofday.
88199         * tests/test-gettimeofday.c: Include <sys/time.h>
88200         rather than gettimeofday.h.
88202 2007-01-17  Bruno Haible  <bruno@clisp.org>
88204         * gnulib-tool (func_get_license): Revert last patch. Instead, let
88205         the license default to GPL.
88206         (func_create_testdir): Don't complain if a module is LGPL and its
88207         tests module depends on GPLed modules.
88209 2007-01-17  Bruno Haible  <bruno@clisp.org>
88211         * lib/gettimeofday.c (gettimeofday): Add code for the case
88212         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
88213         maximum possible value for tv->tv_usec, rather than the minimum one.
88215 2005-10-08  Martin Lambers  <marlam@marlam.de>
88216 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
88217 2007-01-16  Bruno Haible  <bruno@clisp.org>
88219         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
88220         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
88221         gl_FUNC_GETTIMEOFDAY.
88222         (Include): Add gettimeofday.h.
88223         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
88224         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
88225         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
88226         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
88227         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
88228         * lib/gettimeofday.h: New file.
88229         * lib/gettimeofday.c: Include <sys/timeb.h>.
88230         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
88231         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
88232         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
88233         fall back on time().
88235         * tests/test-gettimeofday.c: New file.
88236         * modules/gettimeofday-tests: New file.
88238 2007-01-16  Eric Blake  <ebb9@byu.net>
88240         * modules/fnmatch (Depends-on): Depend on wchar.
88241         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
88242         * m4/fnmatch.m4: Likewise.
88243         * modules/mbchar (Makefile.am): Assume <wchar.h>.
88244         * m4/mbchar.m4: Likewise.
88245         * modules/mbswidth (Depends-on): Depend on wchar.
88246         * lib/mbswidth.c: Assume <wchar.h>.
88247         * m4/mbswidth.m4: Likewise.
88248         * modules/quotearg (Depends-on): Depend on wchar.
88249         * lib/quotearg.c: Assume <wchar.h>.
88250         * m4/quotearg.m4: Likewise.
88251         * modules/regex (Depends-on): Depend on wchar.
88252         * lib/regex_internal.h: Assume <wchar.h>.
88253         * m4/regex.m4: Likewise.
88254         * modules/stdint (Depends-on): Depend on wchar.
88255         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
88256         * m4/stdint.m4: Likewise.
88257         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
88258         * modules/strftime (Depends-on): Depend on wchar.
88259         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
88260         * modules/strtol (Depends-on): Depend on wchar.
88261         * lib/strtol.c: Assume <wchar.h>.
88262         * modules/wcwidth (Depends-on): Depend on wchar.
88263         * lib/wcwidth.h: Assume <wchar.h>.
88264         * m4/wcwidth.m4: Likewise.
88266 2007-01-16  Bruno Haible  <bruno@clisp.org>
88268         * modules/csharpexec-script: New, created from...
88269         * modules/csharpexec: ... this.
88271 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
88273         * modules/javaexec-script: New, created from...
88274         * modules/javaexec: ... this.
88276 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
88278         * modules/poll (Dependencies): Add sys_select.
88280 2007-01-15  Jim Meyering  <jim@meyering.net>
88282         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
88283         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
88284         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
88285         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
88287 2007-01-15  Bruno Haible  <bruno@clisp.org>
88289         * modules/striconveh: New file.
88290         * lib/striconveh.h: New file.
88291         * lib/striconveh.c: New file.
88292         * MODULES.html.sh (Internationalization functions): Add striconveh.
88294         * modules/striconveh-tests: New file.
88295         * tests/test-striconveh.c: New file.
88297 2007-01-15  Bruno Haible  <bruno@clisp.org>
88299         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
88300         not from GNU libiconv or GNU libc.
88302 2007-01-15  Bruno Haible  <bruno@clisp.org>
88304         * doc/gnulib-intro.texi (Copyright): Explain the different license
88305         terms for module descriptions, autoconf macros, tests, documentation.
88307 2007-01-14  Bruno Haible  <bruno@clisp.org>
88309         * modules/striconv-tests: New file.
88310         * tests/test-striconv.c: New file.
88312 2007-01-14  Bruno Haible  <bruno@clisp.org>
88314         * modules/iconv-tests: New file.
88315         * tests/test-iconv.c: New file.
88317 2007-01-14  Bruno Haible  <bruno@clisp.org>
88319         * gnulib-tool (func_get_license): For test modules, use the license of
88320         the main module.
88322 2007-01-14  Bruno Haible  <bruno@clisp.org>
88324         * modules/iconv (Include): Clarify that <iconv.h> can only be included
88325         if iconv is found to exist.
88327 2007-01-14  Bruno Haible  <bruno@clisp.org>
88329         * modules/c-ctype-tests: New file.
88330         * tests/test-c-ctype.c: New file.
88332 2007-01-14  Bruno Haible  <bruno@clisp.org>
88334         * modules/binary-io-tests: New file.
88335         * tests/test-binary-io.sh: New file.
88336         * tests/test-binary-io.c: New file.
88338 2007-01-14  Bruno Haible  <bruno@clisp.org>
88340         * modules/array-oset-tests: New file.
88341         * tests/test-array_oset.c: New file.
88343 2007-01-14  Bruno Haible  <bruno@clisp.org>
88345         * modules/array-list-tests: New file.
88346         * tests/test-array_list.c: New file.
88348 2007-01-14  Bruno Haible  <bruno@clisp.org>
88350         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
88351         and make.
88352         Reported by Simon Josefsson in
88353         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
88355 2007-01-14  Bruno Haible  <bruno@clisp.org>
88357         * modules/allocsa-tests: New file.
88358         * tests/test-allocsa.c: New file.
88360 2007-01-14  Bruno Haible  <bruno@clisp.org>
88362         * modules/fchdir (Depends-on): Add absolute-header.
88363         * modules/unistd (Depends-on): Likewise.
88365 2006-12-30  Bruno Haible  <bruno@clisp.org>
88367         * modules/fchdir: New file.
88368         * modules/unistd (Files): Add lib/unistd_.h.
88369         (Makefile.am): Generate unistd.h from unistd_.h.
88370         * lib/fchdir.c: New file.
88371         * lib/dirent_.h: New file.
88372         * lib/unistd_.h: New file.
88373         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
88374         * m4/fchdir.m4: New file.
88375         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
88376         (gl_HEADER_UNISTD): Invoke it.
88377         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
88378         function.
88379         * lib/backupfile.c (opendir, closedir): Undefine.
88380         * lib/chown.c (open, close): Undefine.
88381         * lib/clean-temp.c (open, close): Undefine.
88382         * lib/copy-file.c (open, close): Undefine.
88383         * lib/execute.c (open, close): Undefine.
88384         * lib/fsusage.c (open, close): Undefine.
88385         * lib/gc-gnulib.c (open, close): Undefine.
88386         * lib/getcwd.c (opendir, closedir): Undefine.
88387         * lib/glob.c (opendir, closedir): Undefine.
88388         * lib/javacomp.c (open, close): Undefine.
88389         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
88390         * lib/openat-proc.c (open, close): Undefine.
88391         * lib/pagealign_alloc.c (open, close): Undefine.
88392         * lib/pipe.c (open, close): Undefine.
88393         * lib/progreloc.c (open, close): Undefine.
88394         * lib/savedir.c (opendir, closedir): Undefine.
88395         * lib/utime.c (open, close): Undefine.
88396         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
88398 2007-01-10  Bruno Haible  <bruno@clisp.org>
88400         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
88402 2007-01-12  Eric Blake  <ebb9@byu.net>
88404         Provide a robust <wchar.h>.  Further simplifications are now
88405         possible in other modules, but not included here.
88406         * modules/wchar: New module.
88407         * m4/wchar.m4: New file.
88408         * lib/wchar_.h: Likewise.
88409         * modules/mbchar (Depends-on): Depend on wchar, as the first use
88410         of the new module.
88411         * MODULES.html.sh (Extended multibyte and wide character utilities):
88412         New section.
88414 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
88416         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
88417         to a reasonable default for memory allocation.
88418         (xreadlink): Don't allocate a huge buffer, to work around a buggy
88419         file system that reports garbage st_size values for symlinks.
88420         Problem reported by Liyang Hu.
88422 2007-01-11  Simon Josefsson  <simon@josefsson.org>
88424         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
88425         Emacs .#* auto-save files).
88427 2007-01-11  Bruno Haible  <bruno@clisp.org>
88429         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
88430         directory.
88432 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
88434         Use @...@ consistently in lib/wctype_.h.
88435         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
88436         on it being set to 1 or 0.
88437         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
88438         go back to AC_SUBSTing it.
88439         * modules/wctype (Makefile.am): Undo previous change.
88441 2007-01-10  Eric Blake  <ebb9@byu.net>
88443         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
88444         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
88445         * modules/wctype (Makefile.am): Likewise.
88446         Reported by Chris McGuire.
88448 2007-01-10  Jim Meyering  <jim@meyering.net>
88450         fts.c: a small readability/maintainability improvement
88451         * lib/fts.c (fts_read): Make this code slightly more readable and
88452         maintainable by hoisting the "sp->fts_cur = p" assignments to
88453         immediately follow the statements that set P.  Derived from
88454         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
88456 2007-01-10  Eric Blake  <ebb9@byu.net>
88458         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
88459         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
88460         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
88461         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
88462         Reported by Chris McGuire.
88464 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88466         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
88467         in sed script.
88469 2007-01-09  Bruno Haible  <bruno@clisp.org>
88471         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
88472         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
88473         variables.
88474         (func_module): Use them.
88476 2007-01-09  Bruno Haible  <bruno@clisp.org>
88478         * modules/unistr/base: New file.
88479         * lib/unistr.h: New file.
88481         * modules/unistr/u8-to-u16: New file.
88482         * lib/unistr/u8-to-u16.c: New file.
88484         * modules/unistr/u8-to-u32: New file.
88485         * lib/unistr/u8-to-u32.c: New file.
88487         * modules/unistr/u16-to-u8: New file.
88488         * lib/unistr/u16-to-u8.c: New file.
88490         * modules/unistr/u16-to-u32: New file.
88491         * lib/unistr/u16-to-u32.c: New file.
88493         * modules/unistr/u32-to-u8: New file.
88494         * lib/unistr/u32-to-u8.c: New file.
88496         * modules/unistr/u32-to-u16: New file.
88497         * lib/unistr/u32-to-u16.c: New file.
88499         * modules/unistr/u8-check: New file.
88500         * modules/unistr/u16-check: New file.
88501         * modules/unistr/u32-check: New file.
88502         * lib/unistr/u8-check.c: New file.
88503         * lib/unistr/u16-check.c: New file.
88504         * lib/unistr/u32-check.c: New file.
88506         * modules/unistr/u8-chr: New file.
88507         * modules/unistr/u16-chr: New file.
88508         * modules/unistr/u32-chr: New file.
88509         * lib/unistr/u8-chr.c: New file.
88510         * lib/unistr/u16-chr.c: New file.
88511         * lib/unistr/u32-chr.c: New file.
88513         * modules/unistr/u8-cmp: New file.
88514         * modules/unistr/u16-cmp: New file.
88515         * modules/unistr/u32-cmp: New file.
88516         * lib/unistr/u8-cmp.c: New file.
88517         * lib/unistr/u16-cmp.c: New file.
88518         * lib/unistr/u32-cmp.c: New file.
88520         * modules/unistr/u8-cpy: New file.
88521         * modules/unistr/u16-cpy: New file.
88522         * modules/unistr/u32-cpy: New file.
88523         * lib/unistr/u8-cpy.c: New file.
88524         * lib/unistr/u16-cpy.c: New file.
88525         * lib/unistr/u32-cpy.c: New file.
88526         * lib/unistr/u-cpy.h: New file.
88528         * modules/unistr/u8-cpy-alloc: New file.
88529         * modules/unistr/u16-cpy-alloc: New file.
88530         * modules/unistr/u32-cpy-alloc: New file.
88531         * lib/unistr/u8-cpy-alloc.c: New file.
88532         * lib/unistr/u16-cpy-alloc.c: New file.
88533         * lib/unistr/u32-cpy-alloc.c: New file.
88534         * lib/unistr/u-cpy-alloc.h: New file.
88536         * modules/unistr/u8-endswith: New file.
88537         * modules/unistr/u16-endswith: New file.
88538         * modules/unistr/u32-endswith: New file.
88539         * lib/unistr/u8-endswith.c: New file.
88540         * lib/unistr/u16-endswith.c: New file.
88541         * lib/unistr/u32-endswith.c: New file.
88542         * lib/unistr/u-endswith.h: New file.
88544         * modules/unistr/u8-mblen: New file.
88545         * modules/unistr/u16-mblen: New file.
88546         * modules/unistr/u32-mblen: New file.
88547         * lib/unistr/u8-mblen.c: New file.
88548         * lib/unistr/u16-mblen.c: New file.
88549         * lib/unistr/u32-mblen.c: New file.
88551         * modules/unistr/u8-mbtouc: New file.
88552         * modules/unistr/u16-mbtouc: New file.
88553         * modules/unistr/u32-mbtouc: New file.
88554         * lib/unistr/u8-mbtouc.c: New file.
88555         * lib/unistr/u16-mbtouc.c: New file.
88556         * lib/unistr/u32-mbtouc.c: New file.
88558         * modules/unistr/u8-mbtouc-safe: New file.
88559         * modules/unistr/u16-mbtouc-safe: New file.
88560         * modules/unistr/u32-mbtouc-safe: New file.
88561         * lib/unistr/u8-mbtouc-safe.c: New file.
88562         * lib/unistr/u16-mbtouc-safe.c: New file.
88563         * lib/unistr/u32-mbtouc-safe.c: New file.
88565         * modules/unistr/u8-move: New file.
88566         * modules/unistr/u16-move: New file.
88567         * modules/unistr/u32-move: New file.
88568         * lib/unistr/u8-move.c: New file.
88569         * lib/unistr/u16-move.c: New file.
88570         * lib/unistr/u32-move.c: New file.
88571         * lib/unistr/u-move.h: New file.
88573         * modules/unistr/u8-next: New file.
88574         * modules/unistr/u16-next: New file.
88575         * modules/unistr/u32-next: New file.
88576         * lib/unistr/u8-next.c: New file.
88577         * lib/unistr/u16-next.c: New file.
88578         * lib/unistr/u32-next.c: New file.
88580         * modules/unistr/u8-prev: New file.
88581         * modules/unistr/u16-prev: New file.
88582         * modules/unistr/u32-prev: New file.
88583         * lib/unistr/u8-prev.c: New file.
88584         * lib/unistr/u16-prev.c: New file.
88585         * lib/unistr/u32-prev.c: New file.
88587         * modules/unistr/u8-set: New file.
88588         * modules/unistr/u16-set: New file.
88589         * modules/unistr/u32-set: New file.
88590         * lib/unistr/u8-set.c: New file.
88591         * lib/unistr/u16-set.c: New file.
88592         * lib/unistr/u32-set.c: New file.
88593         * lib/unistr/u-set.h: New file.
88595         * modules/unistr/u8-startswith: New file.
88596         * modules/unistr/u16-startswith: New file.
88597         * modules/unistr/u32-startswith: New file.
88598         * lib/unistr/u8-startswith.c: New file.
88599         * lib/unistr/u16-startswith.c: New file.
88600         * lib/unistr/u32-startswith.c: New file.
88601         * lib/unistr/u-startswith.h: New file.
88603         * modules/unistr/u8-stpcpy: New file.
88604         * modules/unistr/u16-stpcpy: New file.
88605         * modules/unistr/u32-stpcpy: New file.
88606         * lib/unistr/u8-stpcpy.c: New file.
88607         * lib/unistr/u16-stpcpy.c: New file.
88608         * lib/unistr/u32-stpcpy.c: New file.
88609         * lib/unistr/u-stpcpy.h: New file.
88611         * modules/unistr/u8-stpncpy: New file.
88612         * modules/unistr/u16-stpncpy: New file.
88613         * modules/unistr/u32-stpncpy: New file.
88614         * lib/unistr/u8-stpncpy.c: New file.
88615         * lib/unistr/u16-stpncpy.c: New file.
88616         * lib/unistr/u32-stpncpy.c: New file.
88617         * lib/unistr/u-stpncpy.h: New file.
88619         * modules/unistr/u8-strcat: New file.
88620         * modules/unistr/u16-strcat: New file.
88621         * modules/unistr/u32-strcat: New file.
88622         * lib/unistr/u8-strcat.c: New file.
88623         * lib/unistr/u16-strcat.c: New file.
88624         * lib/unistr/u32-strcat.c: New file.
88625         * lib/unistr/u-strcat.h: New file.
88627         * modules/unistr/u8-strchr: New file.
88628         * modules/unistr/u16-strchr: New file.
88629         * modules/unistr/u32-strchr: New file.
88630         * lib/unistr/u8-strchr.c: New file.
88631         * lib/unistr/u16-strchr.c: New file.
88632         * lib/unistr/u32-strchr.c: New file.
88634         * modules/unistr/u8-strcmp: New file.
88635         * modules/unistr/u16-strcmp: New file.
88636         * modules/unistr/u32-strcmp: New file.
88637         * lib/unistr/u8-strcmp.c: New file.
88638         * lib/unistr/u16-strcmp.c: New file.
88639         * lib/unistr/u32-strcmp.c: New file.
88641         * modules/unistr/u8-strcpy: New file.
88642         * modules/unistr/u16-strcpy: New file.
88643         * modules/unistr/u32-strcpy: New file.
88644         * lib/unistr/u8-strcpy.c: New file.
88645         * lib/unistr/u16-strcpy.c: New file.
88646         * lib/unistr/u32-strcpy.c: New file.
88647         * lib/unistr/u-strcpy.h: New file.
88649         * modules/unistr/u8-strcspn: New file.
88650         * modules/unistr/u16-strcspn: New file.
88651         * modules/unistr/u32-strcspn: New file.
88652         * lib/unistr/u8-strcspn.c: New file.
88653         * lib/unistr/u16-strcspn.c: New file.
88654         * lib/unistr/u32-strcspn.c: New file.
88655         * lib/unistr/u-strcspn.h: New file.
88657         * modules/unistr/u8-strdup: New file.
88658         * modules/unistr/u16-strdup: New file.
88659         * modules/unistr/u32-strdup: New file.
88660         * lib/unistr/u8-strdup.c: New file.
88661         * lib/unistr/u16-strdup.c: New file.
88662         * lib/unistr/u32-strdup.c: New file.
88663         * lib/unistr/u-strdup.h: New file.
88665         * modules/unistr/u8-strlen: New file.
88666         * modules/unistr/u16-strlen: New file.
88667         * modules/unistr/u32-strlen: New file.
88668         * lib/unistr/u8-strlen.c: New file.
88669         * lib/unistr/u16-strlen.c: New file.
88670         * lib/unistr/u32-strlen.c: New file.
88671         * lib/unistr/u-strlen.h: New file.
88673         * modules/unistr/u8-strmblen: New file.
88674         * modules/unistr/u16-strmblen: New file.
88675         * modules/unistr/u32-strmblen: New file.
88676         * lib/unistr/u8-strmblen.c: New file.
88677         * lib/unistr/u16-strmblen.c: New file.
88678         * lib/unistr/u32-strmblen.c: New file.
88680         * modules/unistr/u8-strmbtouc: New file.
88681         * modules/unistr/u16-strmbtouc: New file.
88682         * modules/unistr/u32-strmbtouc: New file.
88683         * lib/unistr/u8-strmbtouc.c: New file.
88684         * lib/unistr/u16-strmbtouc.c: New file.
88685         * lib/unistr/u32-strmbtouc.c: New file.
88687         * modules/unistr/u8-strncat: New file.
88688         * modules/unistr/u16-strncat: New file.
88689         * modules/unistr/u32-strncat: New file.
88690         * lib/unistr/u8-strncat.c: New file.
88691         * lib/unistr/u16-strncat.c: New file.
88692         * lib/unistr/u32-strncat.c: New file.
88693         * lib/unistr/u-strncat.h: New file.
88695         * modules/unistr/u8-strncmp: New file.
88696         * modules/unistr/u16-strncmp: New file.
88697         * modules/unistr/u32-strncmp: New file.
88698         * lib/unistr/u8-strncmp.c: New file.
88699         * lib/unistr/u16-strncmp.c: New file.
88700         * lib/unistr/u32-strncmp.c: New file.
88702         * modules/unistr/u8-strncpy: New file.
88703         * modules/unistr/u16-strncpy: New file.
88704         * modules/unistr/u32-strncpy: New file.
88705         * lib/unistr/u8-strncpy.c: New file.
88706         * lib/unistr/u16-strncpy.c: New file.
88707         * lib/unistr/u32-strncpy.c: New file.
88708         * lib/unistr/u-strncpy.h: New file.
88710         * modules/unistr/u8-strnlen: New file.
88711         * modules/unistr/u16-strnlen: New file.
88712         * modules/unistr/u32-strnlen: New file.
88713         * lib/unistr/u8-strnlen.c: New file.
88714         * lib/unistr/u16-strnlen.c: New file.
88715         * lib/unistr/u32-strnlen.c: New file.
88716         * lib/unistr/u-strnlen.h: New file.
88718         * modules/unistr/u8-strpbrk: New file.
88719         * modules/unistr/u16-strpbrk: New file.
88720         * modules/unistr/u32-strpbrk: New file.
88721         * lib/unistr/u8-strpbrk.c: New file.
88722         * lib/unistr/u16-strpbrk.c: New file.
88723         * lib/unistr/u32-strpbrk.c: New file.
88724         * lib/unistr/u-strpbrk.h: New file.
88726         * modules/unistr/u8-strrchr: New file.
88727         * modules/unistr/u16-strrchr: New file.
88728         * modules/unistr/u32-strrchr: New file.
88729         * lib/unistr/u8-strrchr.c: New file.
88730         * lib/unistr/u16-strrchr.c: New file.
88731         * lib/unistr/u32-strrchr.c: New file.
88733         * modules/unistr/u8-strspn: New file.
88734         * modules/unistr/u16-strspn: New file.
88735         * modules/unistr/u32-strspn: New file.
88736         * lib/unistr/u8-strspn.c: New file.
88737         * lib/unistr/u16-strspn.c: New file.
88738         * lib/unistr/u32-strspn.c: New file.
88739         * lib/unistr/u-strspn.h: New file.
88741         * modules/unistr/u8-strstr: New file.
88742         * modules/unistr/u16-strstr: New file.
88743         * modules/unistr/u32-strstr: New file.
88744         * lib/unistr/u8-strstr.c: New file.
88745         * lib/unistr/u16-strstr.c: New file.
88746         * lib/unistr/u32-strstr.c: New file.
88747         * lib/unistr/u-strstr.h: New file.
88749         * modules/unistr/u8-strtok: New file.
88750         * modules/unistr/u16-strtok: New file.
88751         * modules/unistr/u32-strtok: New file.
88752         * lib/unistr/u8-strtok.c: New file.
88753         * lib/unistr/u16-strtok.c: New file.
88754         * lib/unistr/u32-strtok.c: New file.
88755         * lib/unistr/u-strtok.h: New file.
88757         * modules/unistr/u8-uctomb: New file.
88758         * modules/unistr/u16-uctomb: New file.
88759         * modules/unistr/u32-uctomb: New file.
88760         * lib/unistr/u8-uctomb.c: New file.
88761         * lib/unistr/u16-uctomb.c: New file.
88762         * lib/unistr/u32-uctomb.c: New file.
88764         * MODULES.html.sh (Unicode string functions): Add the new modules.
88766 2007-01-08  Bruno Haible  <bruno@clisp.org>
88768         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
88769         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
88770         subdirectories.
88772 2007-01-08  Karl Berry  <karl@gnu.org>
88774         * doc/error.texi: mention that main() fns must set program_name
88775         when progname is used.
88777 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
88779         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
88780         WCTYPE_H is empty, for the benefit of builds from non-distclean
88781         directories.  Problem reported by Eric Blake in
88782         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
88784 2007-01-08  Bruno Haible  <bruno@clisp.org>
88786         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
88787         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
88788         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
88789         PROVIDE_CANONICALIZE_FILENAME_MODE.
88790         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
88792 2007-01-08  Bruno Haible  <bruno@clisp.org>
88794         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
88795         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
88796         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
88797         * lib/fts.c: Likewise.
88798         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
88800 2006-12-25  Bruno Haible  <bruno@clisp.org>
88802         * modules/utf8-ucs4-safe: New file.
88803         * lib/utf8-ucs4-safe.h: New file.
88804         * lib/unistr/utf8-ucs4-safe.c: New file.
88806         * modules/utf16-ucs4-safe: New file.
88807         * lib/utf16-ucs4-safe.h: New file.
88808         * lib/unistr/utf16-ucs4-safe.c: New file.
88810         * MODULES.html.sh (Unicode string functions): Add the new modules.
88812 2007-01-08  Bruno Haible  <bruno@clisp.org>
88814         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
88815         (Depends-on): Add unitypes.
88816         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
88817         (u8_mbtouc_aux): Move out to separate file.
88818         (u8_mbtouc): Use ucs4_t, uint8_t types.
88819         * lib/unistr/utf8-ucs4.c: New file.
88821         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
88822         (Depends-on): Add unitypes.
88823         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
88824         (u16_mbtouc_aux): Move out to separate file.
88825         (u16_mbtouc): Use ucs4_t, uint16_t types.
88826         * lib/unistr/utf16-ucs4.c: New file.
88828         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
88829         (Depends-on): Add unitypes.
88830         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
88831         (u8_uctomb_aux): Move out to separate file.
88832         (u8_uctomb): Use ucs4_t, uint8_t types.
88833         * lib/unistr/ucs4-utf8.c: New file.
88835         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
88836         (Depends-on): Add unitypes.
88837         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
88838         (u16_uctomb_aux): Move out to separate file.
88839         (u16_uctomb): Use ucs4_t, uint16_t types.
88840         * lib/unistr/ucs4-utf16.c: New file.
88842 2006-12-25  Bruno Haible  <bruno@clisp.org>
88844         * modules/unitypes: New file.
88845         * lib/unitypes.h: New file.
88846         * MODULES.html.sh (func_all_modules): New section "Unicode string
88847         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
88848         this section. Add unitypes.
88850 2007-01-08  Bruno Haible  <bruno@clisp.org>
88852         Avoid variable names that conflict with those from libtool.
88853         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
88854         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
88855         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
88856         library_names_spec to acl_library_names_spec, hardcode_* to
88857         acl_hardcode_*.
88858         Reported by Ralf Wildenhues.
88860 2007-01-08  Bruno Haible  <bruno@clisp.org>
88862         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
88863         definition.
88864         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
88865         definition.
88866         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
88867         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
88868         definition.
88869         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
88870         definition.
88871         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
88872         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
88873         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
88874         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
88875         definition.
88876         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
88877         definition.
88878         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
88879         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
88880         GC_USE_<algorithm>.
88881         * lib/gc-libgcrypt.c: Likewise.
88882         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
88883         * modules/gc-arctwo (configure.ac): Likewise.
88884         * modules/gc-des (configure.ac): Likewise.
88885         * modules/gc-hmac-md5 (configure.ac): Likewise.
88886         * modules/gc-hmac-sha1 (configure.ac): Likewise.
88887         * modules/gc-md2 (configure.ac): Likewise.
88888         * modules/gc-md4 (configure.ac): Likewise.
88889         * modules/gc-md5 (configure.ac): Likewise.
88890         * modules/gc-random (configure.ac): Likewise.
88891         * modules/gc-rijndael (configure.ac): Likewise.
88892         * modules/gc-sha1 (configure.ac): Likewise.
88894 2007-01-08  Bruno Haible  <bruno@clisp.org>
88896         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
88897         macro definition.
88898         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
88899         definition.
88900         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
88901         definition.
88902         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
88903         * modules/fcntl-safer (configure.ac): Likewise.
88904         * modules/fopen-safer (configure.ac): Likewise.
88905         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
88906         GNULIB_FWRITEERROR macro definition.
88908 2007-01-08  Bruno Haible  <bruno@clisp.org>
88910         * m4/gnulib-common.m4: New file.
88911         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
88912         (func_get_filelist): Add m4/gnulib-common.m4.
88914 2007-01-08  Bruno Haible  <bruno@clisp.org>
88916         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
88917         command.
88919 2007-01-08  Jim Meyering  <jim@meyering.net>
88921         Use a more robust test for a "can't happen" condition.
88922         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
88923         narrowed the st_size value.  Presuming the "can't happen" condition
88924         is true, that narrowing could conceivably convert an invalid st_size
88925         value into a valid one.  Instead, use a change based on Matthew
88926         Woehlke's original patch.
88928         Slight readability improvement: use an assert-like macro
88929         in place of literal "abort ()" uses.
88930         * lib/fts.c (fts_assert): Define.
88931         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
88932         Use this macro instead of a bare 'abort'.
88934 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
88936         Don't worry about using IRIX 5.3's wctype.h broken definitions;
88937         simply work around them.
88938         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
88939         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
88940         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
88941         declaring.
88942         Don't bother to define as macros, since the standard doesn't require it.
88943         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
88944         longer worry about IRIX 5.3.
88945         (HAVE_WCTYPE_CTMP_BUG): Remove.
88947 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88949         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
88950         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
88951         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
88952         Problems reported by Georg Schwarz for IRIX 5.3.
88954         * gnulib-tool (autoconf_minversion): Take the maximum version number
88955         found, not the minimum.  Problem reported by James Youngman.
88957 2007-01-03  Karl Berry  <karl@gnu.org>
88959         * doc/error.texi: new file, explaining interaction with progname.
88960         * doc/gnulib.texi: include it.  Update copyright.
88962 2007-01-03  Simon Josefsson  <simon@josefsson.org>
88964         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
88965         AC_CANONICAL_HOST, to improve autobuild outputs.
88967 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
88968             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
88970         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
88971         sockets, server sockets, and other file descriptors.  Count errors
88972         to compute the return value.  Reorder the code a bit to be easier
88973         to follow.  Don't set event bits that were not requested (except
88974         POLLERR and POLLHUP).
88976 2007-01-01  Bruno Haible  <bruno@clisp.org>
88978         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
88980 2007-01-03  Jim Meyering  <jim@meyering.net>
88982         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
88984 2007-01-02  Bruno Haible  <bruno@clisp.org>
88986         * modules/settime (Include): Require timespec.h.
88987         * modules/nanosleep (Include): Likewise.
88989 2007-01-01  Bruno Haible  <bruno@clisp.org>
88991         * gnulib-tool (func_emit_copyright_notice): Bump year.
88992         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
88994 2007-01-01  Bruno Haible  <bruno@clisp.org>
88996         Improve support for OpenBSD.
88997         * build-aux/config.rpath (libname_spec): Export.
88998         (library_names_spec): New variable. Export.
88999         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
89000         library_names_spec from the config.rpath output. Locate shared library
89001         through the name pattern in library_names_spec.
89003 2007-01-01  Eric Blake  <ebb9@byu.net>
89005         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
89007 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
89009         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
89010         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
89011         assume the C locale, and avoid an "eval" that could cause trouble.
89012         Problem with SORT reported by Bob Proulx.
89014         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
89015         Define.  Trivial patch from Henning Nielsen Lund, originally
89016         sent to bug-grep@gnu.org today.
89018 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
89020         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
89021         struct stat.  Problem reported by Henning Nielsen Lund.
89022         * lib/acl.c: Include acl.h first, to check interface.  Don't
89023         bother to include sys/types.h and sys/stat.h again.
89025 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
89027         Import the following change from libc; problem reported by
89028         Sven Verdoolaege.
89030         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
89032         [BZ #1373]
89033         * lib/argp.h: Remove __NTH for __argp_usage inline function.
89035 2006-12-28  Jim Meyering  <jim@meyering.net>
89037         * build-aux/announce-gen: Do not assume that the package
89038         builds any of tar.gz, tar.bz2, and .xdelta files.
89039         Suggestion from Simon Josefsson.
89041 2006-12-28  Simon Josefsson  <simon@josefsson.org>
89043         * modules/announce-gen: New file.
89045 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
89047         * lib/mbchar.h: Just include <wctype.h>; the wctype module
89048         handles its gotchas now.
89049         * lib/mbswidth.c: Likewise.
89050         * lib/wcwidth.h: Likewise.
89051         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
89052         and iswcntrl; the wctype module does this stuff now.
89053         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
89054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
89055         * modules/mbchar (Depends-on): Add wctype.
89056         * modules/mbswidth (Depends-on): Likewise.
89057         * modules/wcwidth (Depends-on): Likewise.
89059 2006-12-27  Eric Blake  <ebb9@byu.net>
89061         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
89062         module uses more than what <wctype.h> is required to provide.
89064 2006-12-26  Eric Blake  <ebb9@byu.net>
89066         * gnulib-tool (sed_extract_prog): Avoid space-tab.
89068 2006-12-26  Eric Blake  <ebb9@byu.net>
89070         * modules/absolute-header: New module.
89071         * modules/fcntl (Depends-on): Depend on it.
89072         * modules/inttypes (Depends-on): Likewise.
89073         * modules/stdint (Depends-on): Likewise.
89074         * modules/sys_stat (Depends-on): Likewise.
89075         * modules/wctype (Depends-on): Likewise.
89076         * MODULES.html.sh (Support for building libraries and
89077         executables): Document it.
89079 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
89081         * gnulib-tool (SED): Remove, undoing previous change.
89082         The problem was that it broke coreutils on Solaris, because
89083         "sed --posix" leaked into a makefile.
89084         (sed): New alias, if 'alias' and GNU sed.
89086 2006-12-24  Jim Meyering  <jim@meyering.net>
89088         Work around an fchownat bug in glibc-2.4:
89089         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
89090         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
89091         in spite of the -P option.
89092         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
89093         New macros.
89094         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
89095         * modules/openat (Files): Add lib/fchownat.c.
89096         * lib/openat.c (fchownat): Don't define here.  Move to...
89097         * lib/fchownat.c: ...this new file.
89099 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
89101         Fix bug reported by Bruno Haible in
89102         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
89103         where quotearg.c didn't compile on Mac OS X 10.2 because it
89104         lacks <wchar.h> and wint_t.
89105         * lib/wctype_.h (__wctype_wint_t): New type.
89106         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
89107         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
89108         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
89109         Arg is now of type __wctype_wint_t, not wint_t.
89110         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
89111         substitute HAVE_WINT_T.
89112         * modules/wctype (Files): Add m4/wint_t.m4.
89113         (wctype.h): Substitute HAVE_WINT_T.
89115 2006-12-23  Bruno Haible  <bruno@clisp.org>
89117         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
89119 2006-12-23  Bruno Haible  <bruno@clisp.org>
89121         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
89122         S_ISLNK.
89123         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
89124         mingw.
89126 2006-12-22  Bruno Haible  <bruno@clisp.org>
89128         * lib/copy-file.c: Include acl.h.
89129         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
89130         Close the file descriptors only after being done with copy_acl.
89131         * modules/copy-file (Depends-on): Add acl.
89133 2006-12-22  Bruno Haible  <bruno@clisp.org>
89135         * gnulib-tool (SED): New variable.
89136         Use $SED instead of sed everywhere.
89138 2006-12-22  Bruno Haible  <bruno@clisp.org>
89140         * modules/no-c++: New file.
89141         * m4/no-c++.m4: New file.
89142         * MODULES.html.sh (Support for building libraries and executables):
89143         Add no-c++.
89145 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
89147         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
89148         Include <limits.h>, and use its INT_MAX to rewrite the
89149         j loop so that it does not overflow 'int'.  Problem reported by
89150         Ralf Wildenhues in
89151         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
89152         Play it safe by shifting left by 1 rather than multiplying by 2,
89153         as GCC is less likely to optimize this away when the value
89154         is signed (when it assumes overflow leads to undefined behavior).
89155         Also, don't assume time_t uses two's complement.
89157 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
89159         * MODULES.html.sh: New module wctype.
89160         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
89161         * lib/fnmatch.c: Don't bother to include <wchar.h> before
89162         <wctype.h>, since the new wctype module should fix this.
89163         * lib/quotearg.c: Include <wctype.h> unconditionally, since
89164         the wctype module should arrange for it.
89165         * lib/regex_internal.h: Likewise.
89166         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
89167         since the wctype module should handle this now.
89168         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
89169         * modules/fnmatch (Depends-on): Add wctype.
89170         * modules/quotearg (Depends-on): Likewise.
89171         * modules/regex (Depends-on): Likewise.
89173 2006-12-19  Bruno Haible  <bruno@clisp.org>
89175         * lib/strdup.h [C++]: Wrap definitions in extern "C".
89176         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
89178 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89180         * modules/savewd (Depends-on): Fix dependency on fcntl.
89182 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
89184         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
89185         conforms to C99, rather than relying on the user's environment
89186         setting of STDINT_H.
89188 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
89189         and Eric Blake  <ebb9@byu.net>
89191         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
89192         This is more consistent with the other defines here.
89193         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
89194         Port to z/OS.  Problem reported by Paul Gilmartin.
89195         Change local vars to use gl_ prefix rather than ac_.
89196         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
89197         with other defines.
89198         * modules/double-slash-root: New module.
89199         * modules/dirname (Files): Remove m4/double-slash-root.m4.
89200         (Depends-on): Add double-slash-root.
89201         * MODULES.html.sh (File system functions): Mention new module.
89203 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
89205         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
89206         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
89207         This is for the benefit of gzip, which doesn't do i18n.
89209 2006-12-12  Jim Meyering  <jim@meyering.net>
89211         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
89212         Reported by Andreas Schwab <schwab@suse.de>.
89214 2006-12-12  Bruno Haible  <bruno@clisp.org>
89216         Merge these changes.
89217         2006-09-05  Bruno Haible  <bruno@clisp.org>
89218         * lib/iconvme.c (iconv_string): No need to save and restore errno when
89219         iconv_alloc succeeded.
89220         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
89221         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
89222         test for " && dest " at the end - dest is always != NULL there. Call
89223         iconv with 4xNULL arguments initially, to reset the state. Call iconv
89224         with 2xNULL arguments, also to flush the state storage. Handle the
89225         IRIX iconv behaviour. Realloc the final result, to throw away unused
89226         memory.
89228 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
89230         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
89231         and fchmodat unconditionally, since glibc 2.4 has them.
89232         Problem reported by Arkadiusz Miskiewicz.
89234 2006-12-10  Bruno Haible  <bruno@clisp.org>
89236         * gnulib-tool (func_import): Show the include files only for those
89237         modules that are copied and specified.
89238         Reported by Karl Berry.
89240 2006-12-08  Jim Meyering  <jim@meyering.net>
89242         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
89243         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
89245         * build-aux/announce-gen: Add two new options, both optional:
89246         --bootstrap-tools=TOOL_LIST
89247               a comma-separated list of tools, e.g.,
89248               autoconf,automake,bison,gnulib
89249         --gnulib-snapshot-date=DATE
89250               if gnulib is in the bootstrap tool list,
89251               then report this as the snapshot date.
89252               If not specified, use the current date/time.
89253               If you specify a date here, be sure it's UTC.
89255 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89257         * tests/test-argp-2.sh: Fix test to match actual output.
89258         (func_compare): Fix sed script to be portable.
89260 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
89262         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
89263         workaround for this case.  It is not autoconfigured now; offhand
89264         it's hard to see how to autoconfigure it.
89266 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
89268         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
89269         a directory that is about to be chowned.  Such a directory's
89270         initial file permissions should permit the owner only and this
89271         should not be changed until after the chown, since the group and
89272         other bits would be incorrect if they granted permission before
89273         the chown.
89275         Fix porting problem for iswctype reported by Georg Schwarz in:
89276         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
89277         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
89278         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
89279         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
89280         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
89282 2006-12-03  Jim Meyering  <jim@meyering.net>
89284         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
89285         p->fts_statp may not yet be defined.
89286         (fts_read): Instead, set it in the caller, once p->fts_statp is
89287         sure to be defined, and corresponds to a top-level directory.
89288         This bug made du -x fail.  Here's the coreutils test case:
89289         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
89290         Reported by Mike Frysinger.
89292 2006-12-01  Jim Meyering  <jim@meyering.net>
89294         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
89295         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
89296         Reported by Simon Josefsson.
89298 2006-11-30  Jim Meyering  <jim@meyering.net>
89300         * m4/warning.m4: Use the all-permissive copyright notice
89301         recommended by RMS (rather than LGPL).
89302         * m4/vararrays.m4: Likewise.
89303         * m4/flexmember.m4: Likewise.
89305 2006-11-29  Bruno Haible  <bruno@clisp.org>
89307         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
89308         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
89309         using +=.
89310         Reported by Simon Josefsson <simon@josefsson.org>.
89312 2006-11-28  James Youngman  <jay@gnu.org>
89314         * README: Advise users that they might find the bug-gnulib@gnu.org
89315         and autotools-announce@gnu.org mailing lists useful.
89317 2006-11-28  Bruno Haible  <bruno@clisp.org>
89319         * m4/ptrdiff_max.m4: Remove file.
89321 2006-11-21  Bruno Haible  <bruno@clisp.org>
89323         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
89324         _AC_COMPUTE_INT.
89325         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
89326         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
89327         _AC_COMPUTE_INT.
89328         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
89329         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
89330         _AC_COMPUTE_INT.
89331         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
89333 2006-11-28  Jim Meyering  <jim@meyering.net>
89335         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
89336         warning from "gcc -Wshadow" about shadowing the builtin.
89338 2006-11-27  Bruno Haible  <bruno@clisp.org>
89340         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
89341         _AC_COMPUTE_INT.
89342         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
89344 2006-11-27  Bruno Haible  <bruno@clisp.org>
89345             Paul Eggert  <eggert@cs.ucla.edu>
89347         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
89349 2006-11-26  Bruno Haible  <bruno@clisp.org>
89351         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
89352         noinst_LTLIBRARIES.
89354 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
89355             Bruno Haible  <bruno@clisp.org>
89357         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
89358         if compiling with "gcc -ansi".
89360 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
89362         Fix some incompatibilities with gcc -ansi -pedantic.
89363         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
89364         if compiling pedantically with GCC, unless it's C99 or later.
89365         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
89366         it mishandles gcc -ansi -pedantic as well.
89367         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
89368         if gcc -pedantic.
89369         * lib/regexec.c (check_node_accept_bytes): Don't use auto
89370         initializers for struct if -pedantic, unless it's C99 or later.
89372 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
89374         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
89375         Don't close an fd more than once. Identical atimes indicate
89376         success, not failure.
89378 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
89380         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
89382 2006-11-23  Jim Meyering  <jim@meyering.net>
89384         * build-aux/announce-gen: New file.  From coreutils.
89386 2006-11-22  Jim Meyering  <jim@meyering.net>
89388         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
89389         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
89390         (fts_read): Use a temporary to narrow the overused st_size member
89391         before using it in a switch statement.  Reported by Matthew Woehlke.
89393         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
89394         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
89396 2006-11-20  Bruno Haible  <bruno@clisp.org>
89398         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
89399         changequote instead of pairs of brackets.
89400         Reported by Andreas Schwab <schwab@suse.de>.
89402 2006-11-21  Jim Meyering  <jim@meyering.net>
89404         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
89405         so as to remain compatible with older compilers.
89406         Patch from Michael Deutschmann.
89408 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89410         * MODULES.html.sh (File system functions): Add openat.
89412         * lib/openat.h (rpl_fstatat): New macro, if
89413         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
89414         (fstatat): Define to rpl_fstatat under the same conditions,
89415         unless COMPILING_FSTATAT.
89416         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
89417         seems to have the bug.
89418         * lib/fstatat.c: New file.
89419         * modules/openat (Files): Add it.
89421 2006-11-20  Bruno Haible  <bruno@clisp.org>
89423         * Makefile: New file.
89425 2006-11-20  Jim Meyering  <jim@meyering.net>
89427         The beginnings of syntax-related checks for gnulib.
89428         * lib/Makefile: New file.
89429         * lib/t-idcache: New script.  Ensure that the two halves of
89430         idcache.c stay in sync.
89432         * lib/idcache.c: Adjust comments in user- and group- portions to
89433         be more accurate, and to be consistent with one another.
89435 2006-11-20  Jim Meyering  <jim@meyering.net>
89437         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
89438         continue using the flexible array member (thus, this module performs
89439         half as many malloc calls), with the addition that...
89440         (getgroup, getuser): Consistently record a non-match via an empty
89441         "name" string, and map an empty string match to a NULL return value.
89442         * modules/idcache (Depends-on): Re-add flexmember.
89444         * lib/idcache.c (getuser): Remove all uses of the register keyword.
89445         (getuidbyname, getgroup, getgidbyname): Likewise.
89447         Use cleaner syntax: NULL rather than 0.
89448         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
89450 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
89452         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
89453         It mishandled the case where the group was missing.
89454         Problem reported by Greg Schafer.
89455         * modules/idcache: Likewise.
89457 2006-11-18  Jim Meyering  <jim@meyering.net>
89459         * check-module (%exempt_header): Add exception for some
89460         conditionally-included headers.
89462         * modules/i-ring (Depends-on): Add verify.
89463         (License): Change to LGPL.
89465 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89467         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
89468         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
89469         and inttostr.h.  Use snprintf rather than uinttostr, so that
89470         LGPLed code doesn't depend on GPLed.
89472 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89474         * modules/inline (License): Change from GPL to LGPL.
89476 2006-11-17  Jim Meyering  <jim@meyering.net>
89478         * modules/d-type (License): Switch to LGPL.
89480 2006-11-15  Bruno Haible  <bruno@clisp.org>
89482         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
89484 2006-11-15  Eric Blake  <ebb9@byu.net>
89486         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
89487         the module dependency.
89489 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
89490             Bruno Haible  <bruno@clisp.org>
89492         * gnulib-tool (func_create_testdir): Add license consistency check.
89494 2006-11-15  Eric Blake  <ebb9@byu.net>
89496         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
89497         random "(cached)" in configure output.
89499 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89501         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
89502         test for conforming inttypes.h is both announced and cached.
89504         * MODULES.html.sh (seen_modules, seen_files): New variables.
89505         (func_module): Rewrite to use a few less gnulib-tool and sed
89506         invocations.  Avoid a couple of quadratic algorithms for ...
89507         (missed_modules, missed_files): ... these, with ...
89508         (func_append, func_tmpdir): ... these new functions, from
89509         gnulib-tool.  Analogously, install traps for cleanup.
89511         * tests/test-gc.c (main): Remove unused variables.
89512         * tests/test-read-file.c: Include stdlib.h, for 'free'.
89514 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
89516         * modules/inttostr (License): Change to LGPL.
89518 2006-11-14  Eric Blake  <ebb9@byu.net>
89520         * modules/tempname (License): Change to LGPL.
89522 2006-11-14  Eric Blake  <ebb9@byu.net>
89524         * doc/functions.texi (Function Portability): *printf functions on
89525         Cygwin now understand all POSIX size specifiers.
89527 2006-11-14  Bruno Haible  <bruno@clisp.org>
89529         * modules/c-ctype (License): Change to LGPL.
89531 2006-11-12  Bruno Haible  <bruno@clisp.org>
89533         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
89534         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
89535         for GNOME libraries, for which the include files are installed in
89536         subdirectories of $prefix/include.
89538 2006-11-12  Bruno Haible  <bruno@clisp.org>
89540         * m4/lib-link.m4: Require at least autoconf-2.54.
89541         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
89542         name to underscores for the --with option.
89544 2006-11-13  Bruno Haible  <bruno@clisp.org>
89546         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
89547         the tests directory.
89548         Reported by Ralf Wildenhues.
89550 2006-11-13  Bruno Haible  <bruno@clisp.org>
89552         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
89553         (func_emit_initmacro_end): Undo the override here.
89554         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
89555         Works around the famous automake error in coreutils.
89557 2006-11-13  Eric Blake  <ebb9@byu.net>
89559         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
89560         element, not its node.
89562 2006-11-12  Bruno Haible  <bruno@clisp.org>
89564         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
89565         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
89567 2006-11-12  Bruno Haible  <bruno@clisp.org>
89569         * gnulib-tool: New option --local-symlink.
89570         (func_usage): Document it.
89571         (lsymbolic): New variable.
89572         (func_import, func_create_testdir): If --symlink was not specified,
89573         test whether --local-symlink was specified and the file comes from
89574         the local_gnulib_dir.
89576 2006-11-12  Bruno Haible  <bruno@clisp.org>
89578         * gnulib-tool (func_ln): New function.
89579         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
89581 2006-11-12  Bruno Haible  <bruno@clisp.org>
89583         Finish support for source files in subdirectories.
89584         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
89585         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
89586         AUTOMAKE_OPTIONS.
89587         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
89589 2006-11-12  Bruno Haible  <bruno@clisp.org>
89591         * gnulib-tool (func_get_automake_snippet): Synthesize also an
89592         EXTRA_lib_SOURCES augmentation.
89593         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
89595 2006-11-12  Jim Meyering  <jim@meyering.net>
89597         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
89598         file descriptors.  This also averts a failure on systems with
89599         native openat support when a traversed directory lacks "x" access.
89600         * lib/fts_.h: Include "i-ring.h"
89601         (struct FTS) [fts_fd_ring]: New member.
89602         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
89603         (FCHDIR): Add parentheses.
89604         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
89605         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
89606         When descending, rather than simply closing the previous
89607         fts_cwd_fd value, push that file descriptor onto the ring.
89608         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
89609         (fts_open): Initialize the new fd_ring member.
89610         (fts_close): Clear the ring.
89611         (fts_safe_changedir): When possible, use our new fd_ring to skip
89612         the diropen and fstat and dev/ino comparison that would normally
89613         accompany a virtual `chdir ("..")'.
89615         * modules/fts (Depends-on): Add i-ring.
89616         * modules/i-ring: New module.
89617         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
89618         * m4/i-ring.m4: New file.
89620 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89622         * gnulib-tool (func_create_testdir): Fix replacement of
89623         `build-aux' in configure.ac.  Run autotools in gltests
89624         subdirectory.
89625         (func_create_testdir, func_create_megatestdir, test): There is
89626         no need for '--force' in most autotool invocations in a new
89627         tree.  Actually fail the whole test if any of the tools, or the
89628         configure or make stages fail.
89630         Sync from Automake.
89631         * build-aux/gnupload: Revert last change.  Add pointer to upload
89632         instructions of the GNU Maintenance Instructions.
89633         Suggestion by Karl Berry.
89635 2006-11-10  Jim Meyering  <jim@meyering.net>
89637         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
89639 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89641         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
89642         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
89643         (bind_textdomain_codeset) [! ENABLE_NLS]:
89644         Evaluate all the arguments.  That way, callers get compatible behavior
89645         if the arguments have side effects.  Also, it avoids some GCC
89646         diagnostics in some cases; Joel E. Denny reported problems when Bison
89647         was configured with --enable-gcc-warnigs.
89649 2006-11-10  Jim Meyering  <jim@meyering.net>
89651         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
89652         relevant options in CFLAGS (like -O, -fno-inline) are taken into
89653         account.
89655 2006-11-10  Jim Meyering  <jim@meyering.net>
89657         * modules/inline: New file/module.
89658         * modules/xalloc (Files): Remove m4/inline.m4.
89659         (Depends-on): Add inline, instead.
89660         * modules/oset: Likewise.
89661         * modules/list: Likewise.
89663 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89665         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
89666         Problem reported by Matthew Woehlke.
89668 2006-11-09  Bruno Haible  <bruno@clisp.org>
89670         * lib/tempname.c (gen_tempname): Remove variant that invokes
89671         __gen_tempname.
89672         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
89673         __gen_tempname.
89675 2006-11-08  Bruno Haible  <bruno@clisp.org>
89677         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
89678         to 'yes' instead of 'cross-compiling'.
89680 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
89682         * lib/quotearg.h (quotearg_free): New decl.
89683         * lib/quotearg.c (quotearg_free): New function.
89684         (slot0, nslots, slotvec0, slotvec):
89685         Now file-scope so that quotearg_free can get at them.
89687 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89689         Sync from Automake.
89690         * build-aux/gnupload: Add missing 'gnu' to example URL.
89691         Report by Karl Berry.
89693 2006-11-08  Bruno Haible  <bruno@clisp.org>
89695         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
89696         Suggested by Paul Eggert.
89698 2006-11-08  Jim Meyering  <jim@meyering.net>
89700         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
89701         It's already included if !_LIBC.
89702         (fts_safe_changedir): Add a comment.
89704 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
89706         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
89707         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
89708         Matthew Woehlke.
89710         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
89711         definitions up, to avoid colliding with change below.
89712         (static_inline) [HAVE_INLINE]: New macro.
89713         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
89714         Provide extern decls when !HAVE_INLINE.  Do not define unless
89715         static_inline is defined, either by us or by xmalloc.c.  Use
89716         static_inline rather than static inline.
89717         (XCALLOC): Optimize sizeof(T) = 1 case.
89718         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
89720 2006-11-07  Bruno Haible  <bruno@clisp.org>
89722         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
89723         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
89724         AC_C_INLINE.
89725         * modules/xalloc (Files): Add m4/inline.m4.
89727 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89729         * README: Fix typo.
89730         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
89731         (Miscellanous Notes): ...from this.
89733 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
89735         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
89736         Mention that offsetof should be used instead of sizeof.
89737         From Bruno Haible.
89739 2006-11-07  Bruno Haible  <bruno@clisp.org>
89741         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
89743 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
89745         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
89746         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
89747         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
89748         (gl_tree_add_before, gl_tree_add_after):
89749         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
89750         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
89751         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
89752         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
89753         (gl_linked_add_after, gl_linked_add_at): Likewise.
89754         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
89755         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
89756         (gl_tree_add_before, gl_tree_add_after): Likewise.
89757         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
89758         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
89759         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
89761 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
89763         * lib/gl_oset.h: Use C comment style, not C++ comment style.
89765 2006-11-06  Bruno Haible  <bruno@clisp.org>
89767         * m4/inline.m4: New file.
89768         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
89769         * modules/list (Files): Add m4/inline.m4.
89770         * modules/oset (Files): Likewise.
89772 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
89774         * lib/idcache.c: Include <stddef.h>, for offsetof.
89775         (struct userid.name): Change from char * to a flexible array member.
89776         All uses changed.
89777         * modules/idcache (Depends-on): Add flexmember.
89779         * MODULES.html.sh (Core language properties): New module flexmember.
89780         * modules/flexmember, m4/flexmember.m4: New files.
89782         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
89783         inline functions that are identical with the old xnmalloc_inline,
89784         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
89785         that we can avoid some unnecessary integer multiplications and
89786         divisions in the common case where the element size is known at
89787         compile time.
89788         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
89789         needed.
89790         (xnboundedmalloc): Remove.
89791         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
89792         arguments, for consistency with rest of this header.
89793         (xcharalloc): Rewrite using XNMALLOC.
89794         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
89795         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
89796         versions have been moved to lib/xalloc.h and renamed to be the
89797         non-*_inline versions.
89798         (xmalloc, xrealloc): Implement without reference to the xnmalloc
89799         and xnrealloc functions, since those functions are now inline and
89800         now call us.
89801         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
89802         renaming described above.
89803         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
89804         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
89805         captures the dependency in AC_C_INLINE.
89807         New module canonicalize-lgpl, proposed by Charles Wilson in
89808         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
89809         with a few small changes afterwards.
89810         * MODULES.html.sh (File system functions): New module
89811         canonicalize-lgpl.
89812         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
89813         and canonicalize_file_name.
89814         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
89815         * modules/canonicalize-lgpl: New files.
89817 2006-11-05  Bruno Haible  <bruno@clisp.org>
89819         * gnulib-tool (func_import, func_create_testdir): Create directories
89820         also for files in subdirectories of lib/.
89822 2006-11-05  Bruno Haible  <bruno@clisp.org>
89824         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
89825         ANSI C compliant.
89827 2006-11-03  Bruno Haible  <bruno@clisp.org>
89829         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
89830         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
89831         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
89832         (xnboundedmalloc): New inline function.
89833         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
89834         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
89835         xmalloc.
89836         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
89837         xmalloc.
89838         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
89839         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
89840         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
89841         xmalloc.
89842         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
89843         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
89844         xmalloc.
89845         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
89846         gl_tree_add_after): Use XMALLOC instead of xmalloc.
89847         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
89848         xmalloc.
89849         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
89850         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
89851         gl_tree_add_after): Use XMALLOC instead of xmalloc.
89852         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
89853         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
89854         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
89855         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
89857 2006-11-03  Bruno Haible  <bruno@clisp.org>
89859         * lib/c-ctype.h [C++]: Define functions without name mangling.
89860         * lib/fwriteerror.h [C++]: Likewise.
89861         * lib/gcd.h [C++]: Likewise.
89862         * lib/linebreak.h [C++]: Likewise.
89864 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89866         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
89867         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
89868         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
89869         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
89870         Check for functions and headers just once.
89871         Check for declaration of canonicalize_file_name.
89872         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
89874 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
89876         * gnulib-tool (func_import): Fix typo in actioncmd.
89878 2006-11-02  Bruno Haible  <bruno@clisp.org>
89880         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
89881         newline sequence in the Makefile.am snippet as a space, like "make"
89882         does.
89883         Reported by Roger Persson <perrog@gmail.com>.
89885 2006-11-01  Bruno Haible  <bruno@clisp.org>
89887         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
89888         already declared in <string.h>.
89889         * lib/strcase.h (strncasecmp): Don't declare it if yes.
89891 2006-11-01  Bruno Haible  <bruno@clisp.org>
89893         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
89894         * lib/strcase.h: Include <string.h>.
89895         (strcasecmp): Define to rpl_strcasecmp here.
89897 2006-11-01  Bruno Haible  <bruno@clisp.org>
89899         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
89901 2006-11-01  Eric Blake  <ebb9@byu.net>
89903         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
89905         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
89907 2006-10-29  Bruno Haible  <bruno@clisp.org>
89909         Make it compile in C++ mode.
89910         * lib/full-write.c (full_rw): Add a cast.
89912 2006-11-01  Bruno Haible  <bruno@clisp.org>
89914         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
89915         be POSIX compliant.
89916         Reported by Roger Persson <perrog@gmail.com>.
89918 2006-11-01  Eric Blake  <ebb9@byu.net>
89920         * lib/getopt_.h: Fix comments.
89922 2006-10-31  Eric Blake  <ebb9@byu.net>
89924         * modules/tmpdir (Depends-on): Add sys_stat.
89925         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
89926         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
89927         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
89928         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
89929         tempname.
89931 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
89933         Avoid some C++ diagnostics reported by Bruno Haible.
89934         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
89935         xmalloc.
89936         (quotearg_alloc): Use xcharalloc rather than xmalloc.
89937         (struct slotvec): Move to top level.
89938         (quotearg_n_options): Rewrite to avoid xmalloc.
89939         * lib/xalloc.h (xcharalloc): New function.
89940         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
89941         [defined __cplusplus]: Add function template that provides result
89942         type propagation.  This part of the change is from Bruno Haible.
89944 2006-10-29  Bruno Haible  <bruno@clisp.org>
89946         Make it compile in C++ mode.
89947         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
89948         * lib/strnlen1.c (strnlen1): Cast memchr result.
89949         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
89950         * lib/clean-temp.c (string_equals, string_hash): Add casts.
89951         (create_temp_dir): Rename local variable 'template'.
89952         (compile_csharp_using_sscli): Add cast.
89953         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
89954         * lib/findprog.c (find_in_path): Likewise.
89955         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
89956         * lib/wait-process.c (register_slave_subprocess): Likewise.
89958 2006-10-22  Bruno Haible  <bruno@clisp.org>
89960         * modules/tsearch: New file.
89961         * lib/tsearch.h: New file.
89962         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
89963         * m4/tsearch.m4: New file.
89964         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
89966 2006-10-29  Eric Blake  <ebb9@byu.net>
89968         * lib/arcfour.c: Assume config.h.
89969         * lib/arctwo.c: Likewise.
89970         * lib/base64.c: Likewise.
89971         * lib/check-version.c: Likewise.
89972         * lib/crc.c: Likewise.
89973         * lib/des.c: Likewise.
89974         * lib/gc-gnulib.c: Likewise.
89975         * lib/gc-libgcrypt.c: Likewise.
89976         * lib/gc-pbkdf2-sha1.c: Likewise.
89977         * lib/getaddrinfo.c: Likewise.
89978         * lib/getdelim.c: Likewise.
89979         * lib/getline.c: Likewise.
89980         * lib/hmac-md5.c: Likewise.
89981         * lib/hmac-sha1.c: Likewise.
89982         * lib/iconvme.c: Likewise.
89983         * lib/md2.c: Likewise.
89984         * lib/md4.c: Likewise.
89985         * lib/memxor.c: Likewise.
89986         * lib/read-file.c: Likewise.
89987         * lib/readline.c: Likewise.
89988         * lib/rijndael-alg-fst.c: Likewise.
89989         * lib/rijndael-api-fst.c: Likewise.
89990         * lib/xgetdomainname.c: Likewise.
89992 2006-10-28  Eric Blake  <ebb9@byu.net>
89994         * lib/xstrndup.c: Assume config.h.
89996 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
89998         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
89999         stat-macros.h is now for our own macros, whereas stat_h is for
90000         macros in the <sys/stat.h> name space.
90001         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
90002         (STAT_MACROS_H): Remove.
90003         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
90004         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
90005         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
90006         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
90007         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
90008         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
90009         Move these macros to ...
90010         * lib/stat_.h: here.  Don't include stat-macros.h.
90011         * lib/canonicalize.c: Don't include stat-macros.h.
90012         * lib/chown.c: Likewise.
90013         * lib/euidaccess.c: Likewise.
90014         * lib/file-type.c: Likewise.
90015         * lib/filemode.c: Likewise.
90016         * lib/glob.c: Likewise.
90017         * lib/isapipe.c: Likewise.
90018         * lib/lchown.c: Likewise.
90019         * lib/lstat.c: Likewise.
90020         * lib/mkdir-p.c: Likewise.
90021         * lib/rmdir.c: Likewise.
90022         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
90023         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
90024         unless mkdir isn't declared, to speed up 'configure'.
90025         Always create sys/stat.h, since it's unlikely any real sys/stat.h
90026         would define all the S_* symbols.
90027         * modules/canonicalize (Depends-on):
90028         Depend on sys_stat, not stat-macros.
90029         * modules/chown: Likewise.
90030         * modules/euidaccess: Likewise.
90031         * modules/filemode: Likewise.
90032         * modules/file-type: Likewise.
90033         * modules/glob: Likewise.
90034         * modules/isapipe: Likewise.
90035         * modules/lchown: Likewise.
90036         * modules/lstat: Likewise.
90037         * modules/mkancesdirs: Likewise.
90038         * modules/rmdir: Likewise.
90039         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
90040         * modules/modechange: Likewise.
90041         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
90042         (configure.ac): Remove gl_STAT_MACROS.
90043         * modules/sys_stat (Depends-on): Remove stat-macros.
90045 2006-10-27  Bruno Haible  <bruno@clisp.org>
90047         * m4/signed.m4: Remove file.
90048         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
90049         invocation.
90050         * modules/vasnprintf (Files): Remove m4/signed.m4.
90052 2006-10-27  Bruno Haible  <bruno@clisp.org>
90054         Update to GNU gettext 0.16.
90055         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
90056         m4/inttypes-h.m4, m4/signed.m4.
90057         * m4/gettext.m4: Update to GNU gettext 0.16.
90058         * m4/intl.m4: New file, from GNU gettext.
90059         * m4/intldir.m4: New file, from GNU gettext.
90060         * config/srclist.txt: Update
90062 2006-10-27  Eric Blake  <ebb9@byu.net>
90064         * MODULES.html.sh: Document tempname.
90065         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
90066         dependencies.
90067         (Files): Move lib/tempname.c...
90068         * modules/tempname: ...to this new module.
90069         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
90070         (gl_PREREQ_TEMPNAME): Move...
90071         * m4/tempname.m4: ...to this new file.
90072         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
90073         * modules/sys_stat (Depends-on): Add stat-macros.
90074         * lib/stat_.h (includes): Pick up stat macros.
90075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
90076         if stat macros are broken.
90077         * lib/tempname.c (includes): No need to include "stat-macros.h".
90078         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
90079         (direxists, __path_search) [!_LIBC]: Don't compile these in
90080         gnulib; the tmpdir module covers that.
90081         * lib/tempname.h: New file.
90083 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
90085         * COPYING: Explain how gnulib-tool converts licence headers.
90086         Almost all wording by Eric Blake.
90088 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
90090         * lib/mbchar.h (is_basic_table): Make read-only.
90091         * lib/mbchar.c (is_basic_table): Likewise.
90092         Reported by John Darrington.
90094 2006-10-25  Bruno Haible  <bruno@clisp.org>
90096         * lib/progname.h (set_program_name): Undefine before defining.
90098 2006-10-25  Bruno Haible  <bruno@clisp.org>
90100         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
90101         false for non-gcc C++ compilers.
90102         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
90104 2006-10-24  Bruno Haible  <bruno@clisp.org>
90106         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
90107         iconv implementations like Irix iconv.
90109 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90111         * modules/vararrays: New file.
90112         * m4/vararrays.m4: New file, taken from diffutils.
90113         * MODULES.html.sh: New module vararrays.
90115 2006-10-24  Karl Berry  <karl@gnu.org>
90117         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
90118         Don't call GNU Unix.
90120 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90122         * users.txt: Add Libtool.
90124         Sync from Libtool:
90126         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90128         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
90129         to gnulib's policy of including config.h unconditionally.
90131 2006-10-24  Bruno Haible  <bruno@clisp.org>
90133         * modules/wcwidth (Files): Add m4/wint_t.m4.
90134         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
90135         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
90137 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
90139         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
90140         to pacify GCC with some -W flags enabled.  Problem reported by
90141         Bruno Haible.
90143 2006-10-24  Jim Meyering  <jim@meyering.net>
90145         * MODULES.html.sh: Remove uinttostr.  It's not a module.
90146         Reported by Karl Berry.
90148 2006-10-23  Bruno Haible  <bruno@clisp.org>
90150         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
90152 2006-10-24  Bruno Haible  <bruno@clisp.org>
90154         * lib/gl_list.h: Use C comment style, not C++ comment style.
90156 2006-10-23  Eric Blake  <ebb9@byu.net>
90158         * lib/getaddrinfo.c (includes): Add missing include.
90160 2006-10-23  Bruno Haible  <bruno@clisp.org>
90161             Paul Eggert  <eggert@cs.ucla.edu>
90163         Ability to rename obstack_free.
90164         * lib/obstack.h (__obstack_free): New macro. Declare instead of
90165         obstack_free.
90166         (obstack_free): Invoke the __obstack_free macro.
90167         * lib/obstack.c (obstack_free): Use __obstack_free macro.
90169 2006-10-23  Bruno Haible  <bruno@clisp.org>
90170             Paul Eggert  <eggert@cs.ucla.edu>
90172         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
90173         __argc, __argv from the declaration. (They are defined as macros on
90174         mingw.)
90176 2006-10-22  Bruno Haible  <bruno@clisp.org>
90178         * doc/gnulib-intro.texi: New file.
90179         * doc/gnulib.texi: Include it.
90181 2006-10-21  Bruno Haible  <bruno@clisp.org>
90183         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
90184         "Introduction", "Miscellanous Notes", "Particular Modules".
90186 2006-10-21  Bruno Haible  <bruno@clisp.org>
90188         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
90189         Change mostlyclean-local rule to avoid sh syntax error from bash
90190         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
90192 2006-10-23  Jim Meyering  <jim@meyering.net>
90194         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
90195         in place of snprintf.
90197         * modules/inttostr (Files): Add lib/uinttostr.c.
90198         * lib/uinttostr.c (inttostr): New file/function.
90199         * lib/inttostr.h (uinttostr): Declare.
90200         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
90201         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
90202         Add uinttostr.
90203         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
90205 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
90207         * lib/canonicalize.c (ELOOP): Define if not already defined.
90208         Problem reported by Bruno Haible in
90209         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
90211 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
90213         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
90214         Problem reported by Perry Smith and Ville Laurikari.
90216         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
90217         uses.
90219 2006-10-19  Bruno Haible  <bruno@clisp.org>
90221         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
90222         for mingw.
90224 2006-10-19  Bruno Haible  <bruno@clisp.org>
90226         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
90227         Needed for mingw.
90229 2006-10-19  Bruno Haible  <bruno@clisp.org>
90231         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
90233 2006-10-19  Bruno Haible  <bruno@clisp.org>
90235         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
90236         it.
90238 2006-10-19  Bruno Haible  <bruno@clisp.org>
90240         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
90241         invocation.
90243 2006-10-19  Bruno Haible  <bruno@clisp.org>
90245         * gnulib-tool (func_create_testdir): Don't include ftruncate and
90246         mountlist by default.
90248 2006-10-16  Bruno Haible  <bruno@clisp.org>
90250         * lib/c-strstr.c: Include c-strstr.h.
90252 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
90254         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
90255         in a slash.
90257 2006-10-18  Bruno Haible  <bruno@clisp.org>
90259         * lib/lock.h [C++]: Wrap definitions in extern "C".
90261 2006-10-18  Bruno Haible  <bruno@clisp.org>
90263         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
90264         gl_LIBOBJS list.
90266 2006-10-18  Bruno Haible  <bruno@clisp.org>
90268         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
90270 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
90272         * lib/xstrtol.h: Include gettext.h.
90273         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
90274         Problem reported by Eric Blake.
90275         * modules/xstrtol (Depends-on): Add gettext-h.
90277 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
90279         * lib/strftime.c (advance): New macro.
90280         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
90281         incomplete type, so you can't add 0 to it.  Problem and patch
90282         reported by Eelco Dolstra for dietlibc.
90284 2006-10-18  Jim Meyering  <jim@meyering.net>
90286         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
90287         type for a local, and rename it: s/up/user_proc/.
90289 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
90291         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
90292         READ_UTMP_USER_PROCESS.
90293         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
90295 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
90297         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
90298         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
90300 2006-10-17  Eric Blake  <ebb9@byu.net>
90302         * lib/sigprocmask.c (sigprocmask): Fix typo.
90304         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
90306         * modules/clean-temp (Makefile.am): Don't add to make output...
90307         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
90308         config.h.
90310 2006-10-17  Bruno Haible  <bruno@clisp.org>
90312         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
90313         differently if DEFAULT_TEXT_DOMAIN is set.
90315 2006-10-16  Bruno Haible  <bruno@clisp.org>
90317         * lib/clean-temp.c: Include fwriteerror.h.
90319 2006-10-16  Bruno Haible  <bruno@clisp.org>
90321         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
90323 2006-10-16  Bruno Haible  <bruno@clisp.org>
90325         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
90326         * lib/sigprocmask.h: Include <sys/types.h>.
90327         (sigset_t): Use the system's definition if present.
90329 2006-10-17  Eric Blake  <ebb9@byu.net>
90331         * lib/xvasprintf.c (includes): Assume config.h.
90332         * lib/xasprintf.c (includes): Likewise.
90334 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90336         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
90337         at least as wide as intmax_t.
90339 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
90341         (Imported from Automake.)
90342         * build-aux/gnupload: Update to version 1.1 of directive file.
90344 2006-10-16  Eric Blake  <ebb9@byu.net>
90346         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
90347         match Automake 1.10a.
90349 2006-10-14  Bruno Haible  <bruno@clisp.org>
90351         * modules/sigprocmask: New file.
90352         * lib/sigprocmask.h: New file.
90353         * lib/sigprocmask.c: New file.
90354         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
90355         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
90356         request sigprocmask.o.
90357         (gl_PREREQ_SIGPROCMASK): New macro.
90358         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
90359         (Depends-on): Add sigprocmask.
90360         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
90361         gt_SIGNALBLOCKING. Test for 'raise' only once.
90362         * lib/fatal-signal.c: Include sigprocmask.h.
90363         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
90364         unblock_fatal_signals): Define always.
90365         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90366         sigprocmask.
90368 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
90370         Sync from Automake.
90371         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
90372         which incorrectly sets the mode of an existing destination
90373         directory.  In some cases the unpatched install-sh could do the
90374         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
90375         system.  We hope this is rare in practice, but it's clearly worth
90376         fixing.  Problem reported by Alex Unleashed in
90377         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
90378         Also, don't bother to check for -m bugs unless we're using -m;
90379         suggested by Stepan Kasal.
90381 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
90383         Sync from Automake.
90384         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
90385         `-c' flag, so they appear at the same position as in %FASTDEP%
90386         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
90387         which ignores unknown options only after the first non-option.
90388         Bug report against M4 by Nelson H. F. Beebe.
90390 2006-10-13  Jim Meyering  <jim@meyering.net>
90392         Fix a bug in yesterday's change.
90393         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
90394         p->fts_statp->st_dev would be used uninitialized.
90395         Ensures that we always call fts_stat on the very first entry.
90396         Miklos Szeredi reported that find -xdev stopped working.
90398 2006-10-12  Bruno Haible  <bruno@clisp.org>
90400         * gnulib-tool (func_get_automake_snippet): Append an automatically
90401         computed EXTRA_DIST augmentation.
90402         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
90403         * modules/alloca-opt (Makefile.am): Likewise.
90404         * modules/allocsa (Makefile.am): Likewise.
90405         * modules/arcfour (Makefile.am): Likewise.
90406         * modules/arctwo (Makefile.am): Likewise.
90407         * modules/argmatch (Makefile.am): Likewise.
90408         * modules/argz (Makefile.am): Likewise.
90409         * modules/atexit (Makefile.am): Likewise.
90410         * modules/backupfile (Makefile.am): Likewise.
90411         * modules/byteswap (Makefile.am): Likewise.
90412         * modules/c-strtod (Makefile.am): Likewise.
90413         * modules/c-strtold (Makefile.am): Likewise.
90414         * modules/calloc (Makefile.am): Likewise.
90415         * modules/canon-host (Makefile.am): Likewise.
90416         * modules/canonicalize (Makefile.am): Likewise.
90417         * modules/chdir-long (Makefile.am): Likewise.
90418         * modules/chdir-safer (Makefile.am): Likewise.
90419         * modules/check-version (Makefile.am): Likewise.
90420         * modules/chown (Makefile.am): Likewise.
90421         * modules/cloexec (Makefile.am): Likewise.
90422         * modules/close-stream (Makefile.am): Likewise.
90423         * modules/closeout (Makefile.am): Likewise.
90424         * modules/crc (Makefile.am): Likewise.
90425         * modules/csharpexec (Makefile.am): Likewise.
90426         * modules/cycle-check (Makefile.am): Likewise.
90427         * modules/des (Makefile.am): Likewise.
90428         * modules/dev-ino (Makefile.am): Likewise.
90429         * modules/dirfd (Makefile.am): Likewise.
90430         * modules/dirname (Makefile.am): Likewise.
90431         * modules/dup2 (Makefile.am): Likewise.
90432         * modules/eealloc (Makefile.am): Likewise.
90433         * modules/error (Makefile.am): Likewise.
90434         * modules/euidaccess (Makefile.am): Likewise.
90435         * modules/exclude (Makefile.am): Likewise.
90436         * modules/exitfail (Makefile.am): Likewise.
90437         * modules/fcntl-safer (Makefile.am): Likewise.
90438         * modules/fcntl (Makefile.am): Likewise.
90439         * modules/file-type (Makefile.am): Likewise.
90440         * modules/fileblocks (Makefile.am): Likewise.
90441         * modules/filemode (Makefile.am): Likewise.
90442         * modules/filenamecat (Makefile.am): Likewise.
90443         * modules/fnmatch (Makefile.am): Likewise.
90444         * modules/fopen-safer (Makefile.am): Likewise.
90445         * modules/fpending (Makefile.am): Likewise.
90446         * modules/fprintftime (Makefile.am): Likewise.
90447         * modules/free (Makefile.am): Likewise.
90448         * modules/fsusage (Makefile.am): Likewise.
90449         * modules/ftruncate (Makefile.am): Likewise.
90450         * modules/fts (Makefile.am): Likewise.
90451         * modules/gc-arcfour (Makefile.am): Likewise.
90452         * modules/gc-des (Makefile.am): Likewise.
90453         * modules/gc-hmac-md5 (Makefile.am): Likewise.
90454         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
90455         * modules/gc-md4 (Makefile.am): Likewise.
90456         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
90457         * modules/gc-sha1 (Makefile.am): Likewise.
90458         * modules/gc (Makefile.am): Likewise.
90459         * modules/getaddrinfo (Makefile.am): Likewise.
90460         * modules/getcwd (Makefile.am): Likewise.
90461         * modules/getdelim (Makefile.am): Likewise.
90462         * modules/getdomainname (Makefile.am): Likewise.
90463         * modules/getgroups (Makefile.am): Likewise.
90464         * modules/gethostname (Makefile.am): Likewise.
90465         * modules/gethrxtime (Makefile.am): Likewise.
90466         * modules/getline (Makefile.am): Likewise.
90467         * modules/getloadavg (Makefile.am): Likewise.
90468         * modules/getlogin_r (Makefile.am): Likewise.
90469         * modules/getndelim2 (Makefile.am): Likewise.
90470         * modules/getopt (Makefile.am): Likewise.
90471         * modules/getpagesize (Makefile.am): Likewise.
90472         * modules/getpass-gnu (Makefile.am): Likewise.
90473         * modules/getpass (Makefile.am): Likewise.
90474         * modules/getsubopt (Makefile.am): Likewise.
90475         * modules/gettime (Makefile.am): Likewise.
90476         * modules/gettimeofday (Makefile.am): Likewise.
90477         * modules/getugroups (Makefile.am): Likewise.
90478         * modules/getusershell (Makefile.am): Likewise.
90479         * modules/glob (Makefile.am): Likewise.
90480         * modules/group-member (Makefile.am): Likewise.
90481         * modules/hard-locale (Makefile.am): Likewise.
90482         * modules/hash (Makefile.am): Likewise.
90483         * modules/hmac-md5 (Makefile.am): Likewise.
90484         * modules/hmac-sha1 (Makefile.am): Likewise.
90485         * modules/human (Makefile.am): Likewise.
90486         * modules/idcache (Makefile.am): Likewise.
90487         * modules/imaxabs (Makefile.am): Likewise.
90488         * modules/imaxdiv (Makefile.am): Likewise.
90489         * modules/inet_ntop (Makefile.am): Likewise.
90490         * modules/inet_pton (Makefile.am): Likewise.
90491         * modules/intprops (Makefile.am): Likewise.
90492         * modules/inttostr (Makefile.am): Likewise.
90493         * modules/inttypes (Makefile.am): Likewise.
90494         * modules/isapipe (Makefile.am): Likewise.
90495         * modules/javaversion (Makefile.am): Likewise.
90496         * modules/lchmod (Makefile.am): Likewise.
90497         * modules/lchown (Makefile.am): Likewise.
90498         * modules/localcharset (Makefile.am): Likewise.
90499         * modules/long-options (Makefile.am): Likewise.
90500         * modules/lstat (Makefile.am): Likewise.
90501         * modules/malloc (Makefile.am): Likewise.
90502         * modules/mathl (Makefile.am): Likewise.
90503         * modules/mbchar (Makefile.am): Likewise.
90504         * modules/md2 (Makefile.am): Likewise.
90505         * modules/md4 (Makefile.am): Likewise.
90506         * modules/md5 (Makefile.am): Likewise.
90507         * modules/memcasecmp (Makefile.am): Likewise.
90508         * modules/memchr (Makefile.am): Likewise.
90509         * modules/memcmp (Makefile.am): Likewise.
90510         * modules/memcoll (Makefile.am): Likewise.
90511         * modules/memcpy (Makefile.am): Likewise.
90512         * modules/memmem (Makefile.am): Likewise.
90513         * modules/memmove (Makefile.am): Likewise.
90514         * modules/mempcpy (Makefile.am): Likewise.
90515         * modules/memrchr (Makefile.am): Likewise.
90516         * modules/memset (Makefile.am): Likewise.
90517         * modules/memxor (Makefile.am): Likewise.
90518         * modules/mkancesdirs (Makefile.am): Likewise.
90519         * modules/mkdir-p (Makefile.am): Likewise.
90520         * modules/mkdir (Makefile.am): Likewise.
90521         * modules/mkdtemp (Makefile.am): Likewise.
90522         * modules/mkstemp (Makefile.am): Likewise.
90523         * modules/mktime (Makefile.am): Likewise.
90524         * modules/modechange (Makefile.am): Likewise.
90525         * modules/mountlist (Makefile.am): Likewise.
90526         * modules/nanosleep (Makefile.am): Likewise.
90527         * modules/obstack (Makefile.am): Likewise.
90528         * modules/openat (Makefile.am): Likewise.
90529         * modules/pagealign_alloc (Makefile.am): Likewise.
90530         * modules/pathmax (Makefile.am): Likewise.
90531         * modules/physmem (Makefile.am): Likewise.
90532         * modules/poll (Makefile.am): Likewise.
90533         * modules/posixtm (Makefile.am): Likewise.
90534         * modules/posixver (Makefile.am): Likewise.
90535         * modules/putenv (Makefile.am): Likewise.
90536         * modules/quote (Makefile.am): Likewise.
90537         * modules/quotearg (Makefile.am): Likewise.
90538         * modules/raise (Makefile.am): Likewise.
90539         * modules/read-file (Makefile.am): Likewise.
90540         * modules/readline (Makefile.am): Likewise.
90541         * modules/readlink (Makefile.am): Likewise.
90542         * modules/readtokens (Makefile.am): Likewise.
90543         * modules/readutmp (Makefile.am): Likewise.
90544         * modules/realloc (Makefile.am): Likewise.
90545         * modules/regex (Makefile.am): Likewise.
90546         * modules/rename-dest-slash (Makefile.am): Likewise.
90547         * modules/rename (Makefile.am): Likewise.
90548         * modules/rijndael (Makefile.am): Likewise.
90549         * modules/rmdir (Makefile.am): Likewise.
90550         * modules/rpmatch (Makefile.am): Likewise.
90551         * modules/safe-read (Makefile.am): Likewise.
90552         * modules/safe-write (Makefile.am): Likewise.
90553         * modules/same-inode (Makefile.am): Likewise.
90554         * modules/same (Makefile.am): Likewise.
90555         * modules/save-cwd (Makefile.am): Likewise.
90556         * modules/savedir (Makefile.am): Likewise.
90557         * modules/setenv (Makefile.am): Likewise.
90558         * modules/settime (Makefile.am): Likewise.
90559         * modules/sha1 (Makefile.am): Likewise.
90560         * modules/sig2str (Makefile.am): Likewise.
90561         * modules/snprintf (Makefile.am): Likewise.
90562         * modules/stat-macros (Makefile.am): Likewise.
90563         * modules/stat-time (Makefile.am): Likewise.
90564         * modules/stdbool (Makefile.am): Likewise.
90565         * modules/stdint (Makefile.am): Likewise.
90566         * modules/stdlib-safer (Makefile.am): Likewise.
90567         * modules/stpcpy (Makefile.am): Likewise.
90568         * modules/stpncpy (Makefile.am): Likewise.
90569         * modules/strcase (Makefile.am): Likewise.
90570         * modules/strcasestr (Makefile.am): Likewise.
90571         * modules/strchrnul (Makefile.am): Likewise.
90572         * modules/strcspn (Makefile.am): Likewise.
90573         * modules/strdup (Makefile.am): Likewise.
90574         * modules/strerror (Makefile.am): Likewise.
90575         * modules/strftime (Makefile.am): Likewise.
90576         * modules/strndup (Makefile.am): Likewise.
90577         * modules/strnlen (Makefile.am): Likewise.
90578         * modules/strpbrk (Makefile.am): Likewise.
90579         * modules/strsep (Makefile.am): Likewise.
90580         * modules/strstr (Makefile.am): Likewise.
90581         * modules/strtod (Makefile.am): Likewise.
90582         * modules/strtoimax (Makefile.am): Likewise.
90583         * modules/strtok_r (Makefile.am): Likewise.
90584         * modules/strtol (Makefile.am): Likewise.
90585         * modules/strtoll (Makefile.am): Likewise.
90586         * modules/strtoul (Makefile.am): Likewise.
90587         * modules/strtoull (Makefile.am): Likewise.
90588         * modules/strtoumax (Makefile.am): Likewise.
90589         * modules/strverscmp (Makefile.am): Likewise.
90590         * modules/sys_socket (Makefile.am): Likewise.
90591         * modules/sys_stat (Makefile.am): Likewise.
90592         * modules/sysexits (Makefile.am): Likewise.
90593         * modules/time_r (Makefile.am): Likewise.
90594         * modules/timegm (Makefile.am): Likewise.
90595         * modules/timespec (Makefile.am): Likewise.
90596         * modules/tmpfile-safer (Makefile.am): Likewise.
90597         * modules/trim (Makefile.am): Likewise.
90598         * modules/unistd-safer (Makefile.am): Likewise.
90599         * modules/unlinkdir (Makefile.am): Likewise.
90600         * modules/unlocked-io (Makefile.am): Likewise.
90601         * modules/userspec (Makefile.am): Likewise.
90602         * modules/utime (Makefile.am): Likewise.
90603         * modules/utimecmp (Makefile.am): Likewise.
90604         * modules/utimens (Makefile.am): Likewise.
90605         * modules/vasnprintf (Makefile.am): Likewise.
90606         * modules/vasprintf (Makefile.am): Likewise.
90607         * modules/vsnprintf (Makefile.am): Likewise.
90608         * modules/xalloc (Makefile.am): Likewise.
90609         * modules/xgetcwd (Makefile.am): Likewise.
90610         * modules/xnanosleep (Makefile.am): Likewise.
90611         * modules/xreadlink (Makefile.am): Likewise.
90612         * modules/xstrtod (Makefile.am): Likewise.
90613         * modules/xstrtol (Makefile.am): Likewise.
90614         * modules/xstrtold (Makefile.am): Likewise.
90615         * modules/yesno (Makefile.am): Likewise.
90616         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
90618 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
90620         * modules/error (Makefile.am): Distribute files through
90621         EXTRA_DIST, not lib_SOURCES.
90623 2006-10-12  Eric Blake  <ebb9@byu.net>
90625         * modules/error (Makefile.am): Distribute files in /lib.
90626         * modules/obstack (Makefile.am): Likewise.
90628 2006-10-12  Bruno Haible  <bruno@clisp.org>
90630         * modules/acl (Makefile.am): Distribute all files in lib/ through
90631         EXTRA_DIST.
90632         * modules/arcfour (Makefile.am): Likewise.
90633         * modules/arctwo (Makefile.am): Likewise.
90634         * modules/argmatch (Makefile.am): Likewise.
90635         * modules/argz (Makefile.am): Likewise.
90636         * modules/atexit (Makefile.am): Likewise.
90637         * modules/backupfile (Makefile.am): Likewise.
90638         * modules/c-strtod (Makefile.am): Likewise.
90639         * modules/c-strtold (Makefile.am): Likewise.
90640         * modules/calloc (Makefile.am): Likewise.
90641         * modules/canon-host (Makefile.am): Likewise.
90642         * modules/canonicalize (Makefile.am): Likewise.
90643         * modules/chdir-long (Makefile.am): Likewise.
90644         * modules/chdir-safer (Makefile.am): Likewise.
90645         * modules/check-version (Makefile.am): Likewise.
90646         * modules/chown (Makefile.am): Likewise.
90647         * modules/cloexec (Makefile.am): Likewise.
90648         * modules/close-stream (Makefile.am): Likewise.
90649         * modules/closeout (Makefile.am): Likewise.
90650         * modules/crc (Makefile.am): Likewise.
90651         * modules/cycle-check (Makefile.am): Likewise.
90652         * modules/des (Makefile.am): Likewise.
90653         * modules/dirfd (Makefile.am): Likewise.
90654         * modules/dirname (Makefile.am): Likewise.
90655         * modules/dup2 (Makefile.am): Likewise.
90656         * modules/euidaccess (Makefile.am): Likewise.
90657         * modules/exclude (Makefile.am): Likewise.
90658         * modules/exitfail (Makefile.am): Likewise.
90659         * modules/fcntl-safer (Makefile.am): Likewise.
90660         * modules/file-type (Makefile.am): Likewise.
90661         * modules/fileblocks (Makefile.am): Likewise.
90662         * modules/filemode (Makefile.am): Likewise.
90663         * modules/filenamecat (Makefile.am): Likewise.
90664         * modules/fnmatch (Makefile.am): Likewise.
90665         * modules/fopen-safer (Makefile.am): Likewise.
90666         * modules/fpending (Makefile.am): Likewise.
90667         * modules/fprintftime (Makefile.am): Likewise.
90668         * modules/free (Makefile.am): Likewise.
90669         * modules/fsusage (Makefile.am): Likewise.
90670         * modules/ftruncate (Makefile.am): Likewise.
90671         * modules/fts (Makefile.am): Likewise.
90672         * modules/gc (Makefile.am): Likewise.
90673         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
90674         * modules/getaddrinfo (Makefile.am): Likewise.
90675         * modules/getcwd (Makefile.am): Likewise.
90676         * modules/getdelim (Makefile.am): Likewise.
90677         * modules/getdomainname (Makefile.am): Likewise.
90678         * modules/getgroups (Makefile.am): Likewise.
90679         * modules/gethostname (Makefile.am): Likewise.
90680         * modules/gethrxtime (Makefile.am): Likewise.
90681         * modules/getline (Makefile.am): Likewise.
90682         * modules/getloadavg (Makefile.am): Likewise.
90683         * modules/getlogin_r (Makefile.am): Likewise.
90684         * modules/getopt (Makefile.am): Likewise.
90685         * modules/getpass (Makefile.am): Likewise.
90686         * modules/getpass-gnu (Makefile.am): Likewise.
90687         * modules/getsubopt (Makefile.am): Likewise.
90688         * modules/gettime (Makefile.am): Likewise.
90689         * modules/gettimeofday (Makefile.am): Likewise.
90690         * modules/getugroups (Makefile.am): Likewise.
90691         * modules/getusershell (Makefile.am): Likewise.
90692         * modules/glob (Makefile.am): Likewise.
90693         * modules/group-member (Makefile.am): Likewise.
90694         * modules/hard-locale (Makefile.am): Likewise.
90695         * modules/hash (Makefile.am): Likewise.
90696         * modules/hmac-md5 (Makefile.am): Likewise.
90697         * modules/hmac-sha1 (Makefile.am): Likewise.
90698         * modules/human (Makefile.am): Likewise.
90699         * modules/idcache (Makefile.am): Likewise.
90700         * modules/imaxabs (Makefile.am): Likewise.
90701         * modules/imaxdiv (Makefile.am): Likewise.
90702         * modules/inet_ntop (Makefile.am): Likewise.
90703         * modules/inet_pton (Makefile.am): Likewise.
90704         * modules/inttostr (Makefile.am): Likewise.
90705         * modules/isapipe (Makefile.am): Likewise.
90706         * modules/lchown (Makefile.am): Likewise.
90707         * modules/long-options (Makefile.am): Likewise.
90708         * modules/lstat (Makefile.am): Likewise.
90709         * modules/malloc (Makefile.am): Likewise.
90710         * modules/mathl (Makefile.am): Likewise.
90711         * modules/mbchar (Makefile.am): Likewise.
90712         * modules/md2 (Makefile.am): Likewise.
90713         * modules/md4 (Makefile.am): Likewise.
90714         * modules/md5 (Makefile.am): Likewise.
90715         * modules/memcasecmp (Makefile.am): Likewise.
90716         * modules/memchr (Makefile.am): Likewise.
90717         * modules/memcmp (Makefile.am): Likewise.
90718         * modules/memcoll (Makefile.am): Likewise.
90719         * modules/memcpy (Makefile.am): Likewise.
90720         * modules/memmem (Makefile.am): Likewise.
90721         * modules/memmove (Makefile.am): Likewise.
90722         * modules/mempcpy (Makefile.am): Likewise.
90723         * modules/memrchr (Makefile.am): Likewise.
90724         * modules/memset (Makefile.am): Likewise.
90725         * modules/memxor (Makefile.am): Likewise.
90726         * modules/mkancesdirs (Makefile.am): Likewise.
90727         * modules/mkdir (Makefile.am): Likewise.
90728         * modules/mkdir-p (Makefile.am): Likewise.
90729         * modules/mkdtemp (Makefile.am): Likewise.
90730         * modules/mkstemp (Makefile.am): Likewise.
90731         * modules/mktime (Makefile.am): Likewise.
90732         * modules/modechange (Makefile.am): Likewise.
90733         * modules/mountlist (Makefile.am): Likewise.
90734         * modules/nanosleep (Makefile.am): Likewise.
90735         * modules/openat (Makefile.am): Likewise.
90736         * modules/pagealign_alloc (Makefile.am): Likewise.
90737         * modules/physmem (Makefile.am): Likewise.
90738         * modules/poll (Makefile.am): Likewise.
90739         * modules/posixtm (Makefile.am): Likewise.
90740         * modules/posixver (Makefile.am): Likewise.
90741         * modules/putenv (Makefile.am): Likewise.
90742         * modules/quote (Makefile.am): Likewise.
90743         * modules/quotearg (Makefile.am): Likewise.
90744         * modules/raise (Makefile.am): Likewise.
90745         * modules/read-file (Makefile.am): Likewise.
90746         * modules/readline (Makefile.am): Likewise.
90747         * modules/readlink (Makefile.am): Likewise.
90748         * modules/readtokens (Makefile.am): Likewise.
90749         * modules/readutmp (Makefile.am): Likewise.
90750         * modules/realloc (Makefile.am): Likewise.
90751         * modules/regex (Makefile.am): Likewise.
90752         * modules/rename (Makefile.am): Likewise.
90753         * modules/rename-dest-slash (Makefile.am): Likewise.
90754         * modules/rijndael (Makefile.am): Likewise.
90755         * modules/rmdir (Makefile.am): Likewise.
90756         * modules/rpmatch (Makefile.am): Likewise.
90757         * modules/safe-read (Makefile.am): Likewise.
90758         * modules/safe-write (Makefile.am): Likewise.
90759         * modules/same (Makefile.am): Likewise.
90760         * modules/save-cwd (Makefile.am): Likewise.
90761         * modules/savedir (Makefile.am): Likewise.
90762         * modules/setenv (Makefile.am): Likewise.
90763         * modules/settime (Makefile.am): Likewise.
90764         * modules/sha1 (Makefile.am): Likewise.
90765         * modules/sig2str (Makefile.am): Likewise.
90766         * modules/snprintf (Makefile.am): Likewise.
90767         * modules/stdlib-safer (Makefile.am): Likewise.
90768         * modules/stpcpy (Makefile.am): Likewise.
90769         * modules/stpncpy (Makefile.am): Likewise.
90770         * modules/strcase (Makefile.am): Likewise.
90771         * modules/strcasestr (Makefile.am): Likewise.
90772         * modules/strchrnul (Makefile.am): Likewise.
90773         * modules/strcspn (Makefile.am): Likewise.
90774         * modules/strdup (Makefile.am): Likewise.
90775         * modules/strerror (Makefile.am): Likewise.
90776         * modules/strftime (Makefile.am): Likewise.
90777         * modules/strndup (Makefile.am): Likewise.
90778         * modules/strnlen (Makefile.am): Likewise.
90779         * modules/strpbrk (Makefile.am): Likewise.
90780         * modules/strsep (Makefile.am): Likewise.
90781         * modules/strstr (Makefile.am): Likewise.
90782         * modules/strtod (Makefile.am): Likewise.
90783         * modules/strtoimax (Makefile.am): Likewise.
90784         * modules/strtok_r (Makefile.am): Likewise.
90785         * modules/strtol (Makefile.am): Likewise.
90786         * modules/strtoll (Makefile.am): Likewise.
90787         * modules/strtoul (Makefile.am): Likewise.
90788         * modules/strtoull (Makefile.am): Likewise.
90789         * modules/strtoumax (Makefile.am): Likewise.
90790         * modules/strverscmp (Makefile.am): Likewise.
90791         * modules/time_r (Makefile.am): Likewise.
90792         * modules/timegm (Makefile.am): Likewise.
90793         * modules/tmpfile-safer (Makefile.am): Likewise.
90794         * modules/unistd-safer (Makefile.am): Likewise.
90795         * modules/unlinkdir (Makefile.am): Likewise.
90796         * modules/userspec (Makefile.am): Likewise.
90797         * modules/utime (Makefile.am): Likewise.
90798         * modules/utimecmp (Makefile.am): Likewise.
90799         * modules/utimens (Makefile.am): Likewise.
90800         * modules/vasnprintf (Makefile.am): Likewise.
90801         * modules/vasprintf (Makefile.am): Likewise.
90802         * modules/vsnprintf (Makefile.am): Likewise.
90803         * modules/xalloc (Makefile.am): Likewise.
90804         * modules/xgetcwd (Makefile.am): Likewise.
90805         * modules/xnanosleep (Makefile.am): Likewise.
90806         * modules/xreadlink (Makefile.am): Likewise.
90807         * modules/xstrtod (Makefile.am): Likewise.
90808         * modules/xstrtol (Makefile.am): Likewise.
90809         * modules/xstrtold (Makefile.am): Likewise.
90810         * modules/yesno (Makefile.am): Likewise.
90812 2006-10-12  Jim Meyering  <jim@meyering.net>
90814         * m4/getloadavg.m4: Revert the change below.
90816         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
90817         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
90818         fail with a symlink, which is what coreutils' ./bootstrap now
90819         creates by default.
90821 2006-10-12  Bruno Haible  <bruno@clisp.org>
90823         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
90824         mingw.
90825         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
90826         MSVC and mingw explicitly.
90828 2006-10-11  Simon Josefsson  <jas@extundo.com>
90829             Bruno Haible  <bruno@clisp.org>
90831         Add support for multiple gnulib-tool invocations in the scope of a
90832         single configure.ac file.
90833         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
90834         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
90835         with the same contents as the _LIBADD variable.
90836         (func_emit_initmacro_start, func_emit_initmacro_end,
90837         func_emit_initmacro_done): New functions.
90838         (func_import, func_create_testdir): Invoke them. Allow the identifiers
90839         gl_LIBOBJS and gl_LTLIBOBJS.
90841 2006-10-11  Bruno Haible  <bruno@clisp.org>
90843         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
90844         (func_create_testdir): Don't create po/Makefile.am, don't invoke
90845         autoreconf. Instead, invoke autopoint explicitly but move back the
90846         *.m4 files from gnulib.
90848 2006-10-11  Bruno Haible  <bruno@clisp.org>
90850         * gnulib-tool (func_usage): Make module names after --create-testdir
90851         optional.
90852         (func_create_testdir): If no module was specified, use nearly all
90853         modules.
90855 2006-10-12  Jim Meyering  <jim@meyering.net>
90857         Big performance improvement for fts-based tools that use FTS_NOSTAT.
90858         Avoid spurious inode-mismatch problems on non-POSIX file systems.
90859         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
90860         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
90861         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
90862         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
90863         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
90864         (fts_set_stat_required): New function.
90865         (fts_open): Defer the calls to fts_stat, if possible or requested.
90866         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
90867         into fts_stat itself.
90868         (fts_read): Perform any required (deferred) fts_stat call.
90869         (fts_build): Likewise, for the directory we're about to open and read.
90870         In the readdir loop, carefully decide whether each entry will require
90871         an eventual call to fts_stat, using dirent.d_type info if available.
90872         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
90873         a command line argument into this function.  Update all callers.
90874         Map a return value of FTS_DOT to FTS_D for a command line argument.
90875         * modules/fts (Depends-on): Add d-type.  Alphabetize.
90876         Thanks to Miklos Szeredi for his tenacity and for the initial
90877         bug report about "find" failing on a FUSE-based file system.
90879         * lib/fts.c (fts_open): Use consistent indentation.
90881 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
90883         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
90884         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
90885         reported by Jim Meyering.  All uses of cache variables renamed
90886         to match Autoconf's.
90887         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
90888         the other one.
90890         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
90891         Fix misspelling in diagnostic.
90893 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
90895         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
90896         defined.  Problem reported by Matthew Woehlke.
90898         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
90899         Add support for Tandem NonStop R series.
90900         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
90901         Use new macro.
90903         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
90904         (has_trailing_slash): Omit size arg; all callers changed.
90905         Omit 'inline', since it doesn't help performance and we'd
90906         need to configure it.
90907         Don't count //, ///, etc. as having a trailing slash.
90908         As a side effect, this removes a C99ism reported by Matthew Woehlke.
90909         (rpl_rename_dest_slash): On failure, use rename's errno rather
90910         than (in some cases) an incorrect or junk errno.
90911         Simplify code by removing need to compute length; this does
90912         cause it to make two passes instead of one over the file name,
90913         but it's worth it.
90915         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
90916         change, since Autoconf's version may no longer be appropriate now
90917         that we are using CVS Autoconf's version.  Add support for Tandem.
90919 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
90920             Bruno Haible  <bruno@clisp.org>
90922         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
90923         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
90924         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
90925         gl_AC_TYPE_LONG_LONG.
90927         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
90928         instead of HAVE_LONG_LONG.
90929         * lib/printf-args.c (printf_fetchargs): Likewise.
90930         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
90931         * lib/vasnprintf.c (VASNPRINTF): Likewise.
90932         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
90933         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
90934         gl_AC_TYPE_LONG_LONG.
90936 2006-10-11  Bruno Haible  <bruno@clisp.org>
90938         * m4/longlong.m4: Add comments.
90939         * m4/ulonglong.m4: Likewise.
90941 2006-10-10  Bruno Haible  <bruno@clisp.org>
90943         Make it possible to #define stpcpy, strdup to aliases.
90944         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
90945         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
90947 2006-10-10  Bruno Haible  <bruno@clisp.org>
90949         Make it possible to #define gcd to an alias.
90950         * lib/gcd.c: Include config.h.
90952 2006-10-10  Bruno Haible  <bruno@clisp.org>
90954         Make it possible to #define c_isascii to an alias.
90955         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
90956         defined. Undefine the macros before defining them, to avoid gcc
90957         warnings.
90958         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
90959         define NO_C_CTYPE_MACROS early.
90961 2006-10-10  Bruno Haible  <bruno@clisp.org>
90963         Make it possible to #define set_program_name to an alias.
90964         * lib/progname.c: Don't undefine set_program_name; instead, undefine
90965         ENABLE_RELOCATABLE early.
90967 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
90969         Port to Tandem NSK OSS, which has 64-bit signed int but at most
90970         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
90971         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
90972         More generally, don't assume that 64-bit signed int is available
90973         if unsigned int is, and vice versa.
90974         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
90975         unsigned symbols, not on their signed counterparts.
90976         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
90977         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
90978         (UINT64_C, UINTMAX_C):
90979         Likewise.
90980         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
90981         unsigned counterparts.
90982         (Have_long_long, Unsigned): New macros.
90983         (Int): Renamed from INT.
90984         (strtoimax): Use the new macros.
90985         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
90986         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
90987         * modules/inttypes (inttypes.h): Substitute
90988         HAVE_UNSIGNED_LONG_LONG_INT.
90989         * modules/stdint (stdint.h): Likewise.
90990         (Files): Add m4/ulonglong.m4.
90992 2006-10-10  Bruno Haible  <bruno@clisp.org>
90994         Fix a gcc -Wshadow warning.
90995         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
90996         to 'bucket'.
90997         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
90998         gl_linked_indexof_from_to): Likewise.
90999         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
91000         Likewise.
91001         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
91002         Likewise.
91003         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
91004         Reported by Eric Blake.
91006 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
91008         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
91009         for NetBSD.  Problem reported by Bruno Haible.
91011 2006-10-09  Jim Meyering  <jim@meyering.net>
91013         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
91014         Patch from Bruno Haible.
91016 2006-10-09  Jim Meyering  <jim@meyering.net>
91018         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
91019         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
91020         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
91022 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
91024         Don't include <config.h> twice; this doesn't work in some cases,
91025         e.g., when config.h has "#define intmax_t long long int" and
91026         we include <config.h>, <inttypes.h>, <config.h> in that order.
91027         Problem reported by Matthew Woehlke in:
91028         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
91029         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
91030         * lib/fts-cycle.c: Don't include config.h.
91031         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
91032         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
91033         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
91034         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
91035         inttypes.h.
91036         * lib/xstrtoumax.c: Likewise.
91037         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
91038         __strtol and the like, so that this module is more like its siblings.
91039         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
91040         Remove; no longer needed now that we assume gnulib inttypes.h.
91042 2006-10-08  Bruno Haible  <bruno@clisp.org>
91044         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
91045         option.
91047 2006-10-07  Jim Meyering  <jim@meyering.net>
91049         * modules/inttypes (inttypes.h): Revert what seems to have been
91050         an inadvertent part of today's change: use "|", not "/" in the
91051         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
91053 2006-10-07  Bruno Haible  <bruno@clisp.org>
91055         * modules/sublist: New file.
91057 2006-10-07  Bruno Haible  <bruno@clisp.org>
91059         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
91060         * modules/argz (argz.h): Likewise.
91061         * modules/arpa_inet (arpa/inet.h): Likewise.
91062         * modules/byteswap (byteswap.h): Likewise.
91063         * modules/configmake (configmake.h): Likewise.
91064         * modules/fcntl (fcntl.h): Likewise.
91065         * modules/fnmatch (fnmatch.h): Likewise.
91066         * modules/getopt (getopt.h): Likewise.
91067         * modules/glob (glob.h): Likewise.
91068         * modules/inttypes (inttypes.h): Likewise.
91069         * modules/netinet_in (netinet/in.h): Likewise.
91070         * modules/poll (poll.h): Likewise.
91071         * modules/stdbool (stdbool.h): Likewise.
91072         * modules/stdint (stdint.h): Likewise.
91073         * modules/sys_select (sys/select.h): Likewise.
91074         * modules/sys_socket (sys/socket.h): Likewise.
91075         * modules/sys_stat (sys/stat.h): Likewise.
91076         * modules/sysexits (sysexits.h): Likewise.
91077         * modules/unistd (unistd.h): Likewise.
91078         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
91079         Add a "DO NOT EDIT" comment to the generated file.
91080         (func_import): Likewise for gnulib-comp.m4.
91082 2006-10-07  Bruno Haible  <bruno@clisp.org>
91084         * lib/gl_sublist.h: New file.
91085         * lib/gl_sublist.c: New file.
91087 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
91089         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
91090         name (relative to the original working directory) and the file
91091         name component (relative to the temporary working directory).  All
91092         callers changed.
91093         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
91094         * lib/mkdir-p.c (make_dir_parents): Likewise.
91095         * lib/mkdir-p.h (make_dir_parents): Likewise.
91097 2006-10-06  Eric Blake  <ebb9@byu.net>
91099         Define several macros for use by the clean-temp module.
91100         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
91101         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
91102         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
91104         * lib/clean-temp.h (close_stream_temp): New declaration.
91105         * lib/clean-temp.c (includes): Pull in headers according to what
91106         other modules are in use.
91107         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
91109 2006-10-06  Bruno Haible  <bruno@clisp.org>
91111         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
91112         instead of fopen, fwriteerror.
91114 2006-10-06  Bruno Haible  <bruno@clisp.org>
91116         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
91117         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
91118         int.
91119         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
91120         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
91121         Return an error indicator.
91122         Suggested by Eric Blake.
91124 2006-10-06  Bruno Haible  <bruno@clisp.org>
91126         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
91127         Reported by Eric Blake.
91129 2006-10-06  Bruno Haible  <bruno@clisp.org>
91131         * modules/closeout (Description): Mention stderr too.
91133 2006-10-06  Bruno Haible  <bruno@clisp.org>
91134         and Paul Eggert  <eggert@cs.ucla.edu>
91136         * lib/closeout.c (close_stdout): Also close stderr.
91137         * lib/closeout.h: Update comment.
91139 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
91141         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
91142         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
91143         * lib/dirchownmod.c: Include lchown.h.
91144         * lib/lchown.c: Don't include files that lchown.h now includes.
91145         Don't declare chown, since lchown.h now does that.
91146         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
91147         (lchown): Define to rpl_chown if lchown is declared but
91148         does not exist.  Declare using a prototype if lchown is not
91149         declared.  Add a copyright notice.
91150         * lib/mkstemp.h: Include <unistd.h>.
91151         * lib/openat.c: Include lchown.h.
91153         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
91154         we now test for that separately.
91155         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
91156         rather than O_NOFOLLOW, when testing whether it's possible to
91157         avoid a race condition reliably.
91158         * lib/savewd.c (savewd_chdir): Likewise.
91160         Remove macros that are no longer needed now that stdint.h is
91161         reliable.
91162         * lib/fsusage.c (UINTMAX_MAX): Remove.
91163         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
91164         * lib/utimecmp.c (SIZE_MAX): Remove.
91166         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
91168         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
91169         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
91170         O_NOATIME works.
91172 2006-10-05  Bruno Haible  <bruno@clisp.org>
91174         * lib/gl_list.h (gl_sortedlist_search_from_to,
91175         gl_sortedlist_indexof_from_to): New declarations.
91176         (gl_list_implementation): New fields sortedlist_search_from_to,
91177         sortedlist_indexof_from_to.
91178         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
91179         inline functions.
91180         * lib/gl_list.c (gl_sortedlist_search_from_to,
91181         gl_sortedlist_indexof_from_to): New functions.
91182         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
91183         function.
91184         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
91185         (gl_array_sortedlist_search_from_to): New function.
91186         (gl_array_list_implementation): Update.
91187         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
91188         function.
91189         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
91190         (gl_carray_sortedlist_search_from_to): New function.
91191         (gl_carray_list_implementation): Update.
91192         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
91193         gl_linked_sortedlist_indexof_from_to): New functions.
91194         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
91195         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
91196         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
91197         gl_tree_sortedlist_indexof_from_to): New functions.
91198         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
91199         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
91200         Update.
91201         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
91202         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
91203         Update.
91205 2006-10-05  Bruno Haible  <bruno@clisp.org>
91207         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
91208         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
91209         (struct gl_list_implementation): Add fields search_from_to,
91210         indexof_from_to. Remove fields search, indexof.
91211         (gl_list_search): Use the search_from_to method.
91212         (gl_list_search_from, gl_list_search_from_to): New functions.
91213         (gl_list_indexof): Use the indexof_from_to method.
91214         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
91215         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
91216         (gl_list_search_from, gl_list_search_from_to): New functions.
91217         (gl_list_indexof): Use the indexof_from_to method.
91218         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
91219         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
91220         gl_array_indexof. Add start_index, end_index arguments.
91221         (gl_array_search_from_to): Renamed from gl_array_search. Add
91222         start_index, end_index arguments.
91223         (gl_array_remove, gl_array_list_implementation): Update.
91224         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
91225         gl_carray_indexof. Add start_index, end_index arguments.
91226         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
91227         start_index, end_index arguments.
91228         (gl_carray_remove, gl_carray_list_implementation): Update.
91229         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
91230         gl_linked_search. Add start_index, end_index arguments.
91231         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
91232         start_index, end_index arguments.
91233         (gl_linked_remove): Update.
91234         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
91235         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
91236         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
91237         field to 'size_t'.
91238         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
91239         gl_tree_search. Add start_index, end_index arguments.
91240         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
91241         start_index, end_index arguments.
91242         (gl_tree_remove): Update.
91243         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
91244         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
91245         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
91246         function.
91247         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
91248         gl_tree_search. Add start_index, end_index arguments.
91249         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
91250         start_index, end_index arguments.
91251         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
91252         Update.
91253         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
91255 2006-10-05  Bruno Haible  <bruno@clisp.org>
91257         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
91259         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
91260         fwriteerror_temp): New declarations.
91261         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
91262         (descriptors): New variable.
91263         (cleanup): First, close the descriptors.
91264         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
91265         fclose_temp, fwriteerror_temp): New functions.
91267 2006-10-04  Jim Meyering  <jim@meyering.net>
91269         * lib/fts.c (fts_open): Tiny comment change.
91271 2006-10-04  Bruno Haible  <bruno@clisp.org>
91273         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
91274         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
91275         gl_LOCK_BODY.
91276         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
91277         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
91278         gl_LOCK_EARLY_BODY.
91279         (gl_LOCK): Require gl_LOCK_BODY.
91281 2006-10-04  Bruno Haible  <bruno@clisp.org>
91283         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
91284         (gl_oset_search_atleast): New declaration.
91285         (struct gl_oset_implementation): Add field 'search_atleast'.
91286         (gl_oset_search_atleast): New inline function.
91287         * lib/gl_oset.c (gl_oset_search_atleast): New function.
91288         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
91289         (gl_array_oset_implementation): Update.
91290         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
91291         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
91292         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
91294 2006-10-04  Bruno Haible  <bruno@clisp.org>
91296         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
91298 2006-10-03  Bruno Haible  <bruno@clisp.org>
91300         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
91301         from gl_avltreehash_list_implementation.
91303 2006-10-03  Bruno Haible  <bruno@clisp.org>
91305         * lib/gl_oset.c (gl_oset_add): Fix return type.
91307 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
91309         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
91311 2006-10-02  Eric Blake  <ebb9@byu.net>
91313         * modules/strnlen (Depends-on): Add extensions.
91315 2006-10-02  Eric Blake  <ebb9@byu.net>
91317         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
91318         definition in 2.60+.
91320 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
91322         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
91323         checks.
91325 2006-10-02  Bruno Haible  <bruno@clisp.org>
91327         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
91328         to the AUTOMAKE_OPTIONS.
91329         Reported by Jim Meyering.
91331 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
91333         Work around bug in Solaris 10 /proc file system:
91334         /proc/self/fd/NNN/.. isn't the parent directory of
91335         the directory whose file descriptor is NNN.  This needs to
91336         be worked around at run time, not compile time, since a
91337         program might be built on Solaris 8, where things work, and
91338         run on Solaris 10.
91339         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
91340         to use the following interface instead:
91341         (OPENAT_BUFFER_SIZE): New macro.
91342         (openat_proc_name): New function.
91343         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
91344         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
91345         Likewise.
91346         * lib/openat-proc.c: New file.
91347         * modules/openat (Files): Add lib/openat-proc.c.
91348         (Depends-on): Add same-inode, stdbool.
91349         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
91351 2006-09-29  Bruno Haible  <bruno@clisp.org>
91353         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
91354         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
91355         argument. Set stdout_closed before testing for ferror, not after.
91356         (fwriteerror, fwriteerror_no_ebadf): New functions.
91358 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91360         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
91362 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
91364         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
91365         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
91367 2006-09-28  Jim Meyering  <jim@meyering.net>
91369         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
91370         Include <unistd.h>.
91372 2006-09-28  Bruno Haible  <bruno@clisp.org>
91374         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
91375         * modules/linkedhash-list (Depends-on): Likewise.
91376         * modules/rbtreehash-list (Depends-on): Likewise.
91378 2006-09-28  Bruno Haible  <bruno@clisp.org>
91380         * lib/strndup.h: Simplify the redefinition of strndup.
91381         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
91382         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
91384 2006-09-28  Bruno Haible  <bruno@clisp.org>
91386         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
91387         * lib/gl_linkedhash_list.c: Likewise.
91388         * lib/gl_rbtreehash_list.c: Likewise.
91390 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
91392         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
91393         getaddrinfo.
91395         * lib/__fpending.h: Don't include <stdio_ext.h> unless
91396         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
91397         it causes <stdio_ext.h> to cause a compile-time error.
91398         Problem reported by Nelson H. F. Beebe.
91399         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
91400         of HAVE_DECL___PENDING.
91402         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
91403         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
91404         declaration.
91406 2006-09-27  Jim Meyering  <jim@meyering.net>
91408         This file could end up with a definition for a function
91409         named __strndup, rather than rpl_strndup on a system with
91410         incomplete weak_alias support.
91411         * lib/strndup.c (strndup): Rename from __strndup.
91412         Remove #defines that used to map __strndup to strndup.
91413         Don't use K&R prototypes.
91414         Remove LIBC-related code, since this file is not sync'd with glibc.
91415         * lib/strndup.h: Revamp, accordingly.
91416         * m4/strndup.m4: Modernize.
91418 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
91420         * modules/savewd (Depends-on): Add 'raise'.
91421         * lib/savewd.c: Include <signal.h>, for 'raise'.
91423 2006-09-26  Jim Meyering  <jim@meyering.net>
91425         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
91426         when we detect Darwin 8.7.0's acl_get_file bug.
91427         Rearrange to perform the new (below) run-test while $LIBS
91428         contains any acl-related library.  Set USE_ACL at the end.
91429         (gl_ACL_GET_FILE): New function.
91431 2006-09-26  Eric Blake  <ebb9@byu.net>
91433         * lib/verror.c: Include <config.h> unconditionally.
91435 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
91437         * modules/clock-time (Maintainer): Add self.
91438         * modules/getlogin_r (Depends-on): Add extensions.
91440 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91442         * modules/clock-time: New module.
91443         * modules/nanosleep (Depends-on): Add clock-time.
91444         * modules/gethrxtime (Depends-on): Likewise.
91445         * modules/gettime (Depends-on): Likewise.
91446         * modules/settime (Depends-on): Likewise.
91448         * modules/fts-lgpl: Depend on openat.
91449         * modules/mkancesdirs: Depend on savewd.
91450         * modules/mkdir-p: Likewise.
91452 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91454         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
91456         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
91457         `gl_have_arbitrary_file_name_length_limit' to
91458         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
91459         actually works between configure runs.
91461 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91462             Bruno Haible  <bruno@clisp.org>
91464         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
91466 2006-09-25  Jim Meyering  <jim@meyering.net>
91468         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
91469         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
91471 2006-09-25  Eric Blake  <ebb9@byu.net>
91473         * gnulib-tool (func_import, func_create_testdir): Fix typos in
91474         exec's in 2006-09-18 patch when shuffling fds.
91476 2006-09-25  Bruno Haible  <bruno@clisp.org>
91478         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
91479         Reported by Jim Meyering.
91481 2006-09-24  Jim Meyering  <jim@meyering.net>
91483         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
91484         compare a pointer against a literal "0".  That caused failures with
91485         at least HP-UX's hpcc.
91487 2006-09-22  Simon Josefsson  <jas@extundo.com>
91489         * modules/gc-sha1:
91490         * modules/gc-md4:
91491         * modules/gc-hmac-sha1:
91492         * modules/gc-hmac-md5:
91493         * modules/gc-des:
91494         * modules/gc-arcfour: Distribute more files.
91496 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91498         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
91499         (gl_linked_iterator_from_to): Initialize struct completely.
91500         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
91501         (gl_tree_iterator_from_to): Likewise
91502         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
91503         * lib/gl_array_list.c [lint] (gl_array_iterator)
91504         (gl_array_iterator_from_to): Likewise.
91505         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
91506         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
91507         (gl_carray_iterator_from_to): Likewise.
91509         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
91510         * lib/md4.c (md4_process_block): Remove unused variable.
91511         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
91512         parentheses for clarity.
91514 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91516         * modules/bison-i18n (Depends-on): Add gettext.
91518 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91520         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
91521         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
91522         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
91523         also add missing comma that caused broken test.
91524         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
91525         stdlib.h, for `abort'.
91526         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
91527         variables.
91528         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
91529         include unistd.h if present, for `rmdir'.
91530         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
91531         variables.
91532         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
91533         in the process include standard headers for prototypes.
91534         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
91535         gets declared on GNU/Linux.
91536         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
91537         unistd.h, for `rmdir'.
91538         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
91540         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
91541         always true.
91542         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
91544         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
91546 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91548         * gnulib-tool (func_version): Create output all at once.  This
91549         may help avoid triggering unnecessary SIGPIPEs, and at any
91550         rate it doesn't hurt.
91552 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91553             Bruno Haible  <bruno@clisp.org>
91555         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
91556         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
91557         * m4/signed.m4 (bh_C_SIGNED): Likewise.
91559         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
91560         (gl_FUNC_VASPRINTF): Invoke it.
91562 2006-09-22  Bruno Haible  <bruno@clisp.org>
91564         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
91565         getloadavg.c as first argument.
91567 2006-09-22  Bruno Haible  <bruno@clisp.org>
91569         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
91570         at the beginning of the gl_INIT macro.
91571         * modules/getloadavg (configure.ac): Pass $gl_source_base to
91572         gl_GETLOADAVG.
91574 2006-09-22  Bruno Haible  <bruno@clisp.org>
91576         * gnulib-tool (func_create_megatestdir): Don't include the config-h
91577         module.
91578         Suggested by Ralf Wildenhues.
91580 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
91582         Import this patch from libc:
91584         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
91586         * lib/regex_internal.c (re_string_reconstruct): Handle
91587         offset < pstr->valid_raw_len && pstr->offsets_needed case.
91588         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
91589         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
91590         re_string_context_at.
91592         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
91593         now requires it.
91594         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
91595         gl_REGEX now does it for us.
91596         (gl_REGEX): Add test taken from
91597         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
91599         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
91600         Check that large offsets work.  Modernize Autoconf usages.
91601         Prefer "yes" to mean a good thing rather than a bad.
91602         Don't put "#define mkstemp" in config.h, as this might interfere
91603         with standard system headers that "#define mkstemp mkstemp64".
91605         * modules/mkstemp (Depends-on): Add extensions, so that
91606         mkstemp is visible on some platforms.
91607         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
91608         (Include): Change to "mkstemp.h" from <stdlib.h>.
91609         (Files): Add mkstemp.h.
91611         * lib/mkstemp.h: New file, since some standard headers
91612         #define mkstemp.
91613         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
91614         Include "mkstemp.h".
91615         Make the _LIBC code resemble glibc original more,
91616         e.g., use K&R style.
91617         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
91618         (mkstemp): Remove, since mkstemp.h does this for us.
91619         * lib/stdlib--.h: Include mkstemp.h.
91621         Import this patch from libc:
91623         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
91625         * lib/tempname.c (__gen_tempname): Change attempts_min
91626         into a macro.  Use preprocessor to decide how to initialize
91627         attempts [Coverity CID 67].
91629 2006-09-20  Bruno Haible  <bruno@clisp.org>
91631         * lib/mkdtemp.c: Import from libc.
91632         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
91633                 * sysdeps/posix/tempname.c (__gen_tempname): Change
91634                 attempts_min into a macro.  Use preprocessor to decide how to
91635                 initialize attempts [Coverity CID 67].
91636         2001-11-27  Paul Eggert  <eggert@twinsun.com>
91637                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
91638                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
91640 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91642         * gnulib-tool (func_exit): New function, to allow to pass the
91643         exit status portably through the trap.  Use everywhere.
91644         (--help, --version): Signal a write error.
91645         (trap): catch SIGPIPE, for write errors.
91646         Exit at the end of the trap, with the correct exit status.
91648 2006-09-19  Karl Berry  <karl@gnu.org>
91650         * doc/gnulib.texi: note about the license texinfo files.
91652 2006-09-19  Eric Blake  <ebb9@byu.net>
91654         * gnulib-tool: Avoid space-tab.
91656 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
91658         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
91659         that prevented coreutils 6.1 from building.  Problem reported
91660         by Petter Reinholdtsen.
91662 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
91664         * gnulib-tool (avoidlist): Fix typo that broke options like
91665         --avoid=lock that are used by coreutils bootstrap.
91667 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
91669         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
91670         more systematically.
91672 2006-09-18  Jim Meyering  <jim@meyering.net>
91674         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
91676 2006-09-18  Bruno Haible  <bruno@clisp.org>
91678         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
91680 2006-09-18  Bruno Haible  <bruno@clisp.org>
91682         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
91683         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
91684         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
91685         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
91686         * m4/gettext.m4: Require autoconf >= 2.52.
91687         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
91688         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
91689         of gl_cv_header_inttypes_h.
91691 2006-09-18  Bruno Haible  <bruno@clisp.org>
91693         * lib/javaversion.c: Include configmake.h.
91695 2006-09-18  Bruno Haible  <bruno@clisp.org>
91697         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
91698         avoid that the while loops be executed in a subshell.
91700 2006-09-18  Bruno Haible  <bruno@clisp.org>
91702         * MODULES.html.sh (func_module): Break long lines.
91703         Suggested by Bruce Korb <bkorb@gnu.org>.
91705 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91707         Speed up by a factor of 1.12.
91708         * gnulib-tool (nl): New variable.
91709         (func_import): Rewrite include directive extraction to only read each
91710         directive once.
91712 2006-09-17  Bruno Haible  <bruno@clisp.org>
91714         * modules/javaversion (Makefile.am): Remove DEFS setting.
91715         (Depends-on): Add configmake, for PKGDATADIR definition.
91717 2006-09-17  Bruno Haible  <bruno@clisp.org>
91719         * gnulib-tool (func_create_testdir): Rewrite all files at once.
91721 2006-09-17  Bruno Haible  <bruno@clisp.org>
91723         * gnulib-tool (func_append): New function, stolen from libtool.m4.
91724         (func_modules_transitive_closure, func_modules_add_dummy,
91725         func_modules_to_filelist, func_import, func_create_testdir,
91726         func_create_megatestdir, ...): Use it wherever possible.
91727         Suggested by Ralf Wildenhues.
91729 2006-09-16  Karl Berry  <karl@gnu.org>
91731         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
91732         to avoid sectioning errors.
91733         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
91734         [ifinfo]: blank line after @center-ed titles.
91735         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
91736         Spell FSF address consistently with others.
91737         (These changes approved by rms.)
91739 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91741         Speed up by a factor of 1.61.
91742         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
91743         already checked module names again.
91745 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91747         Speed up by a factor of 1.13.
91748         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
91749         for new_files, and the input to func_add_or_update.
91751 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91753         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
91754         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
91756 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
91758         * modules/mkancesdirs (Depends-on): Add fcntl.
91759         * modules/savewd: New file.
91760         * MODULES.html.sh (File system functions): Add savewd.
91762         * modules/configmake (Makefile.am): Add support for the
91763         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
91765 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
91767         * m4/savewd.m4: New file.
91769 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
91771         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
91772         (dirchownmod): New arg FD.  All callers changed.
91773         Use FD rather than opening the directory ourself, as opening is
91774         now the caller's responsibility.
91775         * lib/dirchownmod.h: Likewise.
91776         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
91777         hosts that require <sys/types.h> before <sys/stat.h>.  Include
91778         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
91779         (test_dir): Remove.
91780         (mkancesdirs): Return length of prefix of FILE that has already
91781         been made, or -2 if there is a child doing the work.  Redo
91782         algorithm so that it is O(N) rather than O(N**2).  Optimize away
91783         ".", and treat ".." specially since it might stray back into
91784         already-created areas.  Use a subprocess if necessary.  New arg
91785         WD; all users changed.  MAKE_DIR function should now return 1
91786         if it creates a directory that is not readable.  Return -2 if
91787         a child process is spun off.
91788         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
91789         Adjust signature to match code.
91790         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
91791         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
91792         all users changed.
91793         * lib/savewd.c, lib/savewd.h: New files.
91795 2006-09-15  Jim Meyering  <jim@meyering.net>
91797         * modules/rename-dest-slash: New module.
91798         * MODULES.html.sh (posix_compat): Add it here.
91800         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
91802 2006-09-15  Jim Meyering  <jim@meyering.net>
91804         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
91805         file.
91807         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
91809 2006-09-15  Jim Meyering  <jim@meyering.net>
91811         * lib/rename-dest-slash.c (has_trailing_slash): Use
91812         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
91813         (rpl_rename_dest_slash): Perform the cheaper trailing slash
91814         test before testing whether SRC is a directory.
91815         Suggestions from Bruno Haible.
91817         Avoid a warning about an unused variable.
91818         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
91819         into the #ifdef block where it's used.
91821         * lib/rename-dest-slash.c: New file.
91823 2006-09-14  Bruno Haible  <bruno@clisp.org>
91825         * lib/allocsa.c: Include <config.h> unconditionally.
91826         * lib/asnprintf.c: Likewise.
91827         * lib/asprintf.c: Likewise.
91828         * lib/c-strcasecmp.c: Likewise.
91829         * lib/c-strcasestr.c: Likewise.
91830         * lib/c-strncasecmp.c: Likewise.
91831         * lib/c-strstr.c: Likewise.
91832         * lib/classpath.c: Likewise.
91833         * lib/clean-temp.c: Likewise.
91834         * lib/concatpath.c: Likewise.
91835         * lib/copy-file.c: Likewise.
91836         * lib/csharpcomp.c: Likewise.
91837         * lib/csharpexec.c: Likewise.
91838         * lib/execute.c: Likewise.
91839         * lib/fatal-signal.c: Likewise.
91840         * lib/findprog.c: Likewise.
91841         * lib/fwriteerror.c: Likewise.
91842         * lib/gl_array_list.c: Likewise.
91843         * lib/gl_array_oset.c: Likewise.
91844         * lib/gl_avltree_list.c: Likewise.
91845         * lib/gl_avltree_oset.c: Likewise.
91846         * lib/gl_avltreehash_list.c: Likewise.
91847         * lib/gl_carray_list.c: Likewise.
91848         * lib/gl_linked_list.c: Likewise.
91849         * lib/gl_linkedhash_list.c: Likewise.
91850         * lib/gl_list.c: Likewise.
91851         * lib/gl_oset.c: Likewise.
91852         * lib/gl_rbtree_list.c: Likewise.
91853         * lib/gl_rbtree_oset.c: Likewise.
91854         * lib/gl_rbtreehash_list.c: Likewise.
91855         * lib/imaxabs.c: Likewise.
91856         * lib/imaxdiv.c: Likewise.
91857         * lib/javacomp.c: Likewise.
91858         * lib/javaexec.c: Likewise.
91859         * lib/javaversion.c: Likewise.
91860         * lib/linebreak.c: Likewise.
91861         * lib/localcharset.c: Likewise.
91862         * lib/lock.c: Likewise.
91863         * lib/mbchar.c: Likewise.
91864         * lib/mbswidth.c: Likewise.
91865         * lib/mkdtemp.c: Likewise.
91866         * lib/pipe.c: Likewise.
91867         * lib/printf-args.c: Likewise.
91868         * lib/printf-parse.c: Likewise.
91869         * lib/progname.c: Likewise.
91870         * lib/progreloc.c: Likewise.
91871         * lib/readlink.c: Likewise.
91872         * lib/sh-quote.c: Likewise.
91873         * lib/stpcpy.c: Likewise.
91874         * lib/stpncpy.c: Likewise.
91875         * lib/strcasecmp.c: Likewise.
91876         * lib/strcasestr.c: Likewise.
91877         * lib/strcspn.c: Likewise.
91878         * lib/striconv.c: Likewise.
91879         * lib/strncasecmp.c: Likewise.
91880         * lib/strnlen1.c: Likewise.
91881         * lib/strstr.c: Likewise.
91882         * lib/strtok_r.c: Likewise.
91883         * lib/tls.c: Likewise.
91884         * lib/tmpdir.c: Likewise.
91885         * lib/unicodeio.c: Likewise.
91886         * lib/unsetenv.c: Likewise.
91887         * lib/vasnprintf.c: Likewise.
91888         * lib/vasprintf.c: Likewise.
91889         * lib/wait-process.c: Likewise.
91890         * lib/xallocsa.c: Likewise.
91891         * lib/xsetenv.c: Likewise.
91892         * lib/xstriconv.c: Likewise.
91894 2006-09-13  Simon Josefsson  <jas@extundo.com>
91896         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
91897         that internally, suggested by Ralf Wildenhues
91898         <Ralf.Wildenhues@gmx.de>.
91900 2006-09-13  Simon Josefsson  <jas@extundo.com>
91902         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
91903         @LIBOBJS@.
91904         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
91906 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
91908         * lib/_fpending.c: Include <config.h> unconditionally, since we no
91909         longer worry about uses that don't define HAVE_CONFIG_H.
91910         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
91911         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
91912         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
91913         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
91914         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
91915         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
91916         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
91917         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
91918         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
91919         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
91920         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
91921         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
91922         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
91923         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
91924         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
91925         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
91926         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
91927         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
91928         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
91929         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
91930         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
91931         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
91932         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
91933         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
91934         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
91935         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
91936         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
91937         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
91938         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
91939         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
91940         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
91941         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
91942         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
91943         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
91944         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
91945         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
91946         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
91947         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
91948         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
91949         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
91950         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
91951         Likewise.
91953 2006-09-13  Eric Blake  <ebb9@byu.net>
91955         * lib/getopt.c: Fix typo in last commit.
91957 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
91959         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
91960         dgettext.
91962 2006-09-12  Jim Meyering  <jim@meyering.net>
91964         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
91965         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
91966         Reported by Nelson H. F. Beebe.
91968 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
91970         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
91971         program_invocation_name and program_invocation_short_name are
91972         initialized.
91973         * lib/argp-namefrob.h: Move declarations of program_invocation_name
91974         and program_invocation_short_name to argp.h, so they are visible
91975         to user programs.
91976         * lib/argp.h: Likewise
91978 2006-09-10  Bruno Haible  <bruno@clisp.org>
91980         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
91981         m4/inttypes_h.m4, m4/uintmax_t.m4.
91983 2006-09-10  Bruno Haible  <bruno@clisp.org>
91985         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
91986         gl_AC_TYPE_UINTMAX_T.
91988 2006-09-10  Bruno Haible  <bruno@clisp.org>
91990         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
91992 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
91994         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
91995         convention.  Text proposed by Bruno Haible.
91996         (struct argp_option): Document the use of N_() wrappers.
91998         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
91999         '\v', and translate the two parts separately, instead of feeding
92000         the whole string to gettext.  This allows to exclude
92001         '\v' from the strings visible to the translator by writing doc
92002         strings as N_("..") "\v" N_("..").
92004 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
92006         * config/srclist.txt: Undo latest change; the bug was fixed.
92008 2006-09-09  Bruno Haible  <bruno@clisp.org>
92010         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
92011         assignments if building a library without libtool.
92012         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
92013         in func_emit_lib_Makefile_am.
92014         (func_import): When building a static library libfoo.a, arrange to
92015         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
92016         (func_create_testdir): Likewise.
92017         * modules/gc (configure.ac, Makefile.am): If building statically,
92018         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
92019         * modules/iconvme (configure.ac, Makefile.am): Likewise.
92020         * modules/striconv (configure.ac, Makefile.am): Likewise.
92021         Based on a suggestion by Ralf Wildenhues.
92023 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92025         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
92026         Check for unistd.h too, since Autoconf doesn't assume POSIX.
92027         Also:
92029         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92030         Add year_2050_test to catch glibc bug 2821
92031         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
92033         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
92034         Prefer #ifdef to #if.
92036         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
92037         Return from 'main' instead of calling 'exit'.
92039 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92041         * lib/mktime.c (guess_time_tm): Fix bug where mktime
92042         returned the maximum time_t value rather than (time_t) -1.
92043         Problem originally reported by William Bardwell
92044         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
92046         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
92047         Moved to here ...
92048         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
92049         ... from here.
92051 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
92053         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
92054         2821 is fixed.
92056 2006-09-08  Jim Meyering  <jim@meyering.net>
92058         Don't make generated files read-only.  That would bother too many
92059         people.  However, do retain the ability to work when targets are
92060         read-only: remove the destination and temporary files before writing
92061         them (when generated via sed or echo), or by using the -f option for
92062         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
92063         * modules/alloca-opt, modules/argz, modules/arpa_inet:
92064         * modules/byteswap, modules/configmake, modules/fcntl:
92065         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
92066         * modules/localcharset, modules/netinet_in, modules/poll:
92067         * modules/stdbool, modules/stdint, modules/sys_select:
92068         * modules/sys_socket, modules/sys_stat, modules/sysexits:
92070 2006-09-08  Jim Meyering  <jim@meyering.net>
92072         Avoid new build failure on FreeBSD 6.0.
92073         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
92074         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
92075         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
92077 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92079         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
92081 2006-09-07  Jim Meyering  <jim@meyering.net>
92083         Fix global typo in last change: use chmod u-w, not chmod u-x.
92084         Spotted by Paul Eggert and Bruce Korb.
92085         * modules/alloca-opt, modules/argz, modules/arpa_inet:
92086         * modules/byteswap, modules/configmake, modules/fcntl:
92087         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
92088         * modules/localcharset, modules/netinet_in, modules/poll:
92089         * modules/stdbool, modules/stdint, modules/sys_select:
92090         * modules/sys_socket, modules/sys_stat, modules/sysexits:
92092 2006-09-06  Jim Meyering  <jim@meyering.net>
92094         Make generated files be read-only.
92095         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
92096         Ensure that each generated file is now read-only.
92097         * modules/argz: Likewise.
92098         * modules/arpa_inet: Likewise.
92099         * modules/byteswap: Likewise.
92100         * modules/configmake: Likewise.
92101         * modules/fcntl: Likewise.
92102         * modules/fnmatch: Likewise.
92103         * modules/getopt: Likewise.
92104         * modules/glob: Likewise.
92105         * modules/inttypes: Likewise.
92106         * modules/netinet_in: Likewise.
92107         * modules/poll: Likewise.
92108         * modules/stdbool: Likewise.
92109         * modules/stdint: Likewise.
92110         * modules/sys_select: Likewise.
92111         * modules/sys_socket: Likewise.
92112         * modules/sys_stat: Likewise.
92113         * modules/sysexits: Likewise.
92114         * modules/localcharset: Same as above, but continue using temporary
92115         file named "t-$@" (why different?) rather than the "$@-t" used
92116         everywhere else.
92118         * modules/sysexits (Makefile.am): Replace literal occurrences
92119         of "sysexit.h" more readable, and more consistent, "$@".
92121 2006-09-06  Bruno Haible  <bruno@clisp.org>
92123         * modules/striconv: New file.
92124         * modules/xstriconv: New file.
92125         * MODULES.html.sh (Internationalization functions): Add striconv,
92126         xstriconv.
92128 2006-09-06  Bruno Haible  <bruno@clisp.org>
92130         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
92131         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
92132         not using libtool correctly.
92134 2006-09-06  Bruno Haible  <bruno@clisp.org>
92136         * lib/striconv.h: New file.
92137         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
92138         iconvstring.c.
92139         * lib/xstriconv.h: New file.
92140         * lib/xstriconv.c: New file.
92142 2006-09-06  Bruno Haible  <bruno@clisp.org>
92144         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
92145         lib_..._LDFLAGS.
92147 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92149         * lib/argz_.h: Sync from Libtool.
92151         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
92152                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
92154         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
92156 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
92158         * modules/trim: New file.
92160 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
92162         * lib/trim.h: New file.
92163         * lib/trim.c: New file.
92165 2006-09-05  Bruno Haible  <bruno@clisp.org>
92167         * MODULES.html.sh (String handling): Add trim.
92169 2006-09-04  Karl Berry  <karl@gnu.org>
92171         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
92172         until next release.
92174 2006-09-03  Bruno Haible  <bruno@clisp.org>
92176         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
92177         correctly.
92179 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
92181         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
92182         not gl_GETLOADAVG.  Omit unneeded semicolons.
92183         Problems reported by Ralf Wildenhues in
92184         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
92185         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
92186         at the end, which is the usual gnulib style.
92188         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
92189         of doing all the work ourselves.
92190         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
92191         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
92193 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
92195         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
92196         Problem reported by Ralf Wildenhues in
92197         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
92199         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
92200         HAVE_STRUCT_STATFS_F_FSTYPENAME.
92202 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
92204         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
92205         yesterday's patch by changing test -n to test -z.
92207 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
92209         * modules/getloadavg (Files): Add m4/getloadavg.m4.
92210         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
92211         the former is now obsolescent.
92213         * modules/chdir-long (Depends-on): Add fcntl.
92215 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
92217         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
92218         obsolescent, and programs should use gnulib instead.
92219         * m4/getloadavg.m4: New file, with contents taken from Autoconf
92220         but with prefixes changed.
92222 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
92224         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
92225         or stdbool.h, because they might not exist while configuring.
92227         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
92228         Don't include unistd.h or limits.h; not needed, since chdir-long.h
92229         does that for us.
92230         (O_DIRECTORY): Remove.
92232 2006-08-31  Eric Blake  <ebb9@byu.net>
92234         * gnulib-tool: Don't let emacs change spaces to TAB.
92236 2006-08-31  Bruno Haible  <bruno@clisp.org>
92238         * gnulib-tool: When calling func_import more than once, do it in a
92239         subshell.
92240         Reported by Eric Blake <ebb9@byu.net>.
92242 2006-08-31  Bruno Haible  <bruno@clisp.org>
92244         * gnulib-tool (nl): Remove variable.
92245         (sed_transform_lib_file): Use more robust test for config-h module.
92246         (func_import): Fix typo in 2006-08-25 patch.
92248 2006-08-31  Bruno Haible  <bruno@clisp.org>
92250         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
92251         specified, augment Makefile.am variables instead of assigning them.
92253 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
92255         Work around a bug in both the Linux and SunOS 64-bit kernels:
92256         nanosleep mishandles sleeps for longer than 2**31 seconds.
92257         Problem reported by Frank v Waveren in
92258         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
92259         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
92260         Check for nanosleep bug.
92261         (LIB_NANOSLEEP): Append clock_gettime library if needed.
92263 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
92265         Work around a bug in both the Linux and SunOS 64-bit kernels:
92266         nanosleep mishandles sleeps for longer than 2**31 seconds.
92267         Problem reported by Frank v Waveren in
92268         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
92269         * lib/nanosleep.c (BILLION): New constant.
92270         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
92271         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
92272         implementation.
92274 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
92276         * modules/nanosleep (Depends-on): Add gettime.
92278 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
92279         and Simon Josefsson  <jas@extundo.com>
92280         and Oskar Liljeblad  <oskar@osk.mine.nu>
92282         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
92283         * gnulib-tool (func_import): New license type 'unmodifiable license
92284         text'.
92285         * modules/fdl: Use it.  Longer description.
92286         * module/gpl, module/lgpl: New files.
92288 2006-08-30  Jim Meyering  <jim@meyering.net>
92290         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
92291         shadowing the parameter.
92293 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92295         Sync from Libtool:
92297         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92299         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
92300         sharing with gnulib.  Report by Eric Blake.
92302 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
92304         * modules/isapipe: New file.
92305         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
92307 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
92309         * modules/configmake (Makefile.am): Add a comment, and omit
92310         the CONFIGMAKE_ prefix from generated macro names.  Suggested
92311         by Bruno Haible.
92313 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
92315         * m4/isapipe.m4: New file.
92317 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
92319         * lib/isapipe.c, lib/isapipe.h: New files.
92321 2006-08-29  Jim Meyering  <jim@meyering.net>
92323         * modules/configmake (Makefile.am): Make configmake.h depend on
92324         Makefile.  Otherwise, a stale configmake.h could hang around.
92326 2006-08-29  Eric Blake  <ebb9@byu.net>
92328         * lib/error.c (error_at_line, print_errno_message): Match libc, after
92329         resolution of upstream bug 3044.
92331 2006-08-29  Bruno Haible  <bruno@clisp.org>
92333         * modules/localcharset (Depends-on): Add configmake.
92334         (Makefile.am): Remove setting of LIBDIR through DEFS.
92336 2006-08-29  Bruno Haible  <bruno@clisp.org>
92338         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
92339         defined.
92341 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
92343         * modules/fcntl: New file.
92344         * modules/chdir-safer (Depends-on): Add fcntl.
92345         * modules/fts: Likewise.
92346         * modules/mkdir-p: Likewise.
92348         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
92349         This undoes the most recent change, since we're now addressing the
92350         problem in a different way.
92352         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
92353         into output, since the output might be called Makefile.am even
92354         if $makefile_name is something different.
92355         (func_import): Use $makefile_am rather than
92356         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
92357         empty.
92359         * modules/inttypes (Files): Add m4/inttypes-h.m4.
92361 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
92363         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
92364         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
92365         recent change to stdint.m4, since we're now addressing the problem in a
92366         different way.
92368 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
92370         * m4/fcntl_h.m4: New file.
92372 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
92374         * lib/fcntl_.h: New file.
92375         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
92376         the fcntl module.
92377         * lib/dirchownmod.c: Likewise.
92378         * lib/fts.c: Likewise.
92380         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
92381         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
92382         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
92383         just before including <inttypes.h>, to avoid circular inclusion.
92385 2006-08-28  Jim Meyering  <jim@meyering.net>
92387         * doc/visibility.texi: Actually read and correct the grammar of the
92388         sentence affected by yesterday's change.
92390 2006-08-28  Eric Blake  <ebb9@byu.net>
92392         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
92393         needs wrapper.
92395 2006-08-28  Eric Blake  <ebb9@byu.net>
92397         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
92399 2006-08-28  Eric Blake  <ebb9@byu.net>
92401         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
92403 2006-08-28  Bruno Haible  <bruno@clisp.org>
92405         * modules/c-strstr: New file, from GNU gettext.
92406         * MODULES.html.sh (String handling): Add c-strstr.
92408 2006-08-28  Bruno Haible  <bruno@clisp.org>
92410         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
92411         macros.
92412         Reported by Eric Blake.
92414 2006-08-28  Bruno Haible  <bruno@clisp.org>
92416         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
92417         (VASNPRINTF): Return a string of length > INT_MAX without failing.
92418         * lib/vasprintf.c: Include errno.h, limits.h.
92419         (EOVERFLOW): New fallback definition.
92420         (vasprintf): Test here whether the string length is > INT_MAX.
92421         * lib/vsnprintf.c: Include errno.h, limits.h.
92422         (EOVERFLOW): New fallback definition.
92423         (vsnprintf): Fix bug when generated string was too long for the buffer.
92424         Test here whether the string length is > INT_MAX.
92426 2006-08-28  Bruno Haible  <bruno@clisp.org>
92428         * lib/inttypes_.h (SCNX*): Remove definitions.
92429         Reported by Eric Blake.
92431 2006-08-28  Bruno Haible  <bruno@clisp.org>
92433         * lib/c-strstr.h: New file, from GNU gettext.
92434         * lib/c-strstr.c: New file, from GNU gettext.
92436 2006-08-28  Bruno Haible  <bruno@clisp.org>
92438         * gnulib-tool: Reorder some statements.
92440 2006-08-28  Bruno Haible  <bruno@clisp.org>
92442         * gnulib-tool: New option --makefile-name.
92443         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
92444         $makefile_name.
92445         (func_import): Write $makefile_name to the cache file, and read it from
92446         there unless explicitly specified. Use $makefile_name as file name
92447         instead of Makefile.am. Adjust the recommendations accordingly.
92449 2006-08-28  Bruno Haible  <bruno@clisp.org>
92451         * gnulib-tool (func_verify_module): Check against misapplying patch.
92453 2006-08-28  Bruno Haible  <bruno@clisp.org>
92455         * gnulib-tool (func_relativize, func_relconcat): New functions.
92456         Give an error if --local-dir is given with --update.
92457         Remove trailing slashes from $local_gnulib_dir.
92458         (func_import): Store the relativized $local_gnulib_dir in
92459         gnulib-cache.m4, and read it from there if not specified explicitly.
92461 2006-08-28  Bruno Haible  <bruno@clisp.org>
92463         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
92464         is the current directory. Respect also $local_gnulib_dir.
92466 2006-08-28  Bruno Haible  <bruno@clisp.org>
92467             Simon Josefsson  <jas@extundo.com>
92469         BeOS portability.
92470         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
92472 2006-08-27  Jim Meyering  <jim@meyering.net>
92474         * doc/visibility.texi: Remove duplicate word: "pointer".
92476 2006-08-26  Bruno Haible  <bruno@clisp.org>
92478         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
92479         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
92480         (Makefile.am): Create inttypes.h from inttypes_.h.
92481         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
92483         * modules/imaxabs: New file.
92485         * modules/imaxdiv: New file.
92487 2006-08-26  Bruno Haible  <bruno@clisp.org>
92489         * m4/inttypes.m4: New file.
92490         * m4/_inttypes_h.m4: Remove file.
92491         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
92492         PRI_MACROS_BROKEN.
92493         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
92495         * m4/imaxabs.m4: New file.
92497         * m4/imaxdiv.m4: New file.
92499 2006-08-26  Bruno Haible  <bruno@clisp.org>
92501         * lib/inttypes_.h: New file.
92502         * lib/inttypes.h: Remove file.
92503         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
92505         * lib/imaxabs.c: New file.
92507         * lib/imaxdiv.c: New file.
92509 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
92511         New config-h module, so that "make" output needn't be cluttered
92512         by -DHAVE_CONFIG_H.
92513         * MODULES.html.sh (Support for building libraries and executables):
92514         Add config-h.
92515         * modules/config-h: New file.
92516         * gnulib-tool (nl, sed_transform_lib_file): New vars.
92517         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
92518         the config-h module is used.
92520         New configmake module, so that "make" output needn't be cluttered
92521         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
92522         * MODULES.html.sh (Support for building libraries and executables):
92523         Add configmake.
92524         * modules/configmake: New file.
92526 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
92528         * m4/config-h.m4: New file.
92530 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
92532         * config/srclist.txt: Add elisp-comp.
92534 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
92536         * MODULES.html.sh (Support for building libraries and executables):
92537         Add elisp-comp.
92538         * build-aux/elisp-comp: New file.
92539         * modules/elisp-comp: New file.
92541 2006-08-24  Bruno Haible  <bruno@clisp.org>
92543         * gnulib-tool (func_create_testdir): Use non-default values of
92544         sourcebase and m4base.
92546 2006-08-24  Bruno Haible  <bruno@clisp.org>
92548         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
92549         HTML structure.
92551 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
92553         * modules/openat (Depends-on): Add lchown.
92555 2006-08-23  Bruno Haible  <bruno@clisp.org>
92557         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
92558         of gl_LOCK_EARLY instead of gl_LOCK.
92560 2006-08-23  Bruno Haible  <bruno@clisp.org>
92562         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
92563         on OSF/1 to no.
92564         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
92566 2006-08-23  Bruno Haible  <bruno@clisp.org>
92568         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
92569         as unusable.
92571         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
92572         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
92573         (gl_LOCK): New macro.
92575 2006-08-22  Simon Josefsson  <jas@extundo.com>
92577         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
92578         to md5 module.
92580 2006-08-22  Simon Josefsson  <jas@extundo.com>
92582         * MODULES.html.sh: Add "Support for maintaining and release
92583         projects".
92585         * build-aux/gnupload: New file, from coreutils.
92587 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
92589         Avoid the need for AC_LIBSOURCES in m4 macros.
92590         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
92591         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
92592         * modules/check-version (EXTRA_DIST): Add check-version.h.
92593         * modules/crc (EXTRA_DIST): Add crc.h.
92594         * modules/des (EXTRA_DIST): Add des.h.
92595         * modules/gc (EXTRA_DIST): Add gc.h.
92596         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
92597         * modules/getline (EXTRA_DIST): Add getline.h.
92598         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
92599         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
92600         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
92601         * modules/md2 (EXTRA_DIST): Add md2.h.
92602         * modules/md4 (EXTRA_DIST): Add md4.h.
92603         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
92604         * modules/read-file (EXTRA_DIST): Add read-file.h.
92605         * modules/readline (EXTRA_DIST): Add readline.h.
92606         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
92607         rijndael-api-fst.h.
92609 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
92611         * m4/rijndael.m4 (gl_ARCFOUR):
92612         * m4/arctwo.m4 (gl_ARCTWO):
92613         * m4/check-version.m4 (gl_CHECK_VERSION):
92614         * m4/crc.m4 (gl_CRC):
92615         * m4/des.m4 (gl_DES):
92616         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
92617         * m4/gc.m4 (gl_GC):
92618         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
92619         * m4/getline.m4 (gl_FUNC_GETLINE):
92620         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
92621         * m4/hmac-md5.m4 (gl_HMAC_MD5):
92622         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
92623         * m4/md2.m4 (gl_MD2):
92624         * m4/md4.m4 (gl_MD4):
92625         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
92626         * m4/read-file.m4 (gl_FUNC_READ_FILE):
92627         * m4/readline.m4 (gl_FUNC_READLINE):
92628         * m4/rijndael.m4 (gl_RIJNDAEL):
92629         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
92630         to get the necessary .h files and whatnot.
92632 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
92634         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
92635         gnulib rather than the other way around.
92636         * config/srclistvars.sh (COREUTILS): Remove.
92638 2006-08-22  Jim Meyering  <jim@meyering.net>
92640         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
92642         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
92644 2006-08-22  Eric Blake  <ebb9@byu.net>
92646         * modules/regexprops-generic: New file.
92647         * MODULES.html.sh (Support for building documentation): List it.
92649 2006-08-22  Eric Blake  <ebb9@byu.net>
92651         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
92652         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
92653         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
92654         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
92656 2006-08-22  Bruno Haible  <bruno@clisp.org>
92658         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
92659         and lib_LTLIBRARIES like the other lib_* variables.
92661 2006-08-22  Bruno Haible  <bruno@clisp.org>
92663         * build-aux/x-to-1.in: New file, from GNU gettext.
92665 2006-08-22  Bruno Haible  <bruno@clisp.org>
92667         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
92668         <utmpx.h> exists.
92670 2006-08-22  Bruno Haible  <bruno@clisp.org>
92672         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
92673         <utmpx.h> exists.
92675 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
92677         BeOS portability.
92678         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
92679         exist.
92680         Problem reported by Bruno Haible.
92682 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
92684         Avoid the need for AC_LIBSOURCES in m4 macros.
92685         * modules/acl (EXTRA_DIST): Add acl.h.
92686         * modules/argmatch (Files): Add m4/argmatch.m4.
92687         (configure.ac): Add gl_ARGMATCH.
92688         (EXTRA_DIST): Renamed from lib_SOURCES, for
92689         consistency with the other modules.  Remove argmatch.c.
92690         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
92691         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
92692         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
92693         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
92694         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
92695         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
92696         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
92697         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
92698         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
92699         * modules/closeout (EXTRA_DIST): Add closeout.h.
92700         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
92701         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
92702         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
92703         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
92704         dirname.h; remove basename.c and stripslash.c.
92705         * modules/exclude (EXTRA_DIST): Add exclude.h.
92706         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
92707         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
92708         * modules/file-type (EXTRA_DIST): Add file-type.h.
92709         * modules/filemode (EXTRA_DIST): Add filemode.h.
92710         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
92711         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
92712         * modules/fpending (EXTRA_DIST): Add __fpending.h.
92713         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
92714         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
92715         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
92716         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
92717         * modules/getdate (EXTRA_DIST): Add getdate.c.
92718         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
92719         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
92720         * modules/getpass (EXTRA_DIST): Add getpass.h.
92721         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
92722         * modules/group-member (EXTRA_DIST): Add group-member.h.
92723         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
92724         * modules/hash (EXTRA_DIST): Add hash.h.
92725         * modules/human (EXTRA_DIST): Add human.h.
92726         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
92727         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
92728         * modules/lchown (EXTRA_DIST): Add lchown.h.
92729         * modules/long-options (EXTRA_DIST): Add long-options.h.
92730         * modules/lstat (EXTRA_DIST): Add lstat.h.
92731         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
92732         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
92733         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
92734         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
92735         * modules/memxor (EXTRA_DIST): Add memxor.h.
92736         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
92737         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
92738         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
92739         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
92740         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
92741         * modules/physmem (EXTRA_DIST): Add physmem.h.
92742         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
92743         * modules/posixver (EXTRA_DIST): Add posixver.h.
92744         * modules/quote (EXTRA_DIST): Add quote.h.
92745         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
92746         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
92747         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
92748         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
92749         regex_internal.h regexec.c.
92750         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
92751         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
92752         * modules/same (EXTRA_DIST): Add same.h.
92753         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
92754         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
92755         * modules/savedir (EXTRA_DIST): Add savedir.h.
92756         * modules/sha1 (EXTRA_DIST): Add sha1.h.
92757         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
92758         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
92759         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
92760         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
92761         * modules/strdup (EXTRA_DIST): Add strdup.h.
92762         * modules/strftime (EXTRA_DIST): Add strftime.h.
92763         * modules/strndup (EXTRA_DIST): Add strndup.h.
92764         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
92765         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
92766         * modules/time_r (EXTRA_DIST): Add time_r.h.
92767         * modules/timespec (EXTRA_DIST): Add timespec.h.
92768         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
92769         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
92770         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
92771         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
92772         * modules/userspec (EXTRA_DIST): Add userspec.h.
92773         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
92774         * modules/utimens (EXTRA_DIST): Add utimens.h.
92775         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
92776         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
92777         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
92778         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
92779         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
92780         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
92781         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
92782         * modules/yesno (EXTRA_DIST): Add yesno.h.
92784 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
92786         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
92788         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
92789         * m4/dev-ino.m4, same-inode.m4: Remove.
92791         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
92792         * m4/acl.m4 (AC_FUNC_ACL):
92793         * m4/backupfile.m4 (gl_BACKUPFILE):
92794         * m4/c-strtod.m4 (gl_C99_STRTOLD):
92795         * m4/canon-host.m4 (gl_CANON_HOST):
92796         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
92797         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
92798         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
92799         * m4/cloexec.m4 (gl_CLOEXEC):
92800         * m4/close-stream.m4 (gl_CLOSE_STREAM):
92801         * m4/closeout.m4 (gl_CLOSEOUT):
92802         * m4/dirfd.m4 (gl_FUNC_DIRFD):
92803         * m4/dirname.m4 (gl_DIRNAME):
92804         * m4/exclude.m4 (gl_EXCLUDE):
92805         * m4/exitfail.m4 (gl_EXITFAIL):
92806         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
92807         * m4/file-type.m4 (gl_FILE_TYPE):
92808         * m4/filemode.m4 (gl_FILEMODE):
92809         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
92810         * m4/fpending.m4 (gl_FUNC_FPENDING):
92811         * m4/fprintftime.m4 (gl_FPRINTFTIME):
92812         * m4/fts.m4 (gl_FUNC_FTS):
92813         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
92814         * m4/getdate.m4 (gl_GETDATE):
92815         * m4/gethrxtime.m4 (gl_GETHRXTIME):
92816         * m4/getpagesize.m4 (gl_GETPAGESIZE):
92817         * m4/getpass.m4 (gl_FUNC_GETPASS):
92818         * m4/gettime.m4 (gl_GETTIME):
92819         * m4/getugroups.m4 (gl_GETUGROUPS):
92820         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
92821         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
92822         * m4/hard-locale.m4 (gl_HARD_LOCALE):
92823         * m4/hash.m4 (gl_HASH):
92824         * m4/idcache.m4 (gl_IDCACHE):
92825         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
92826         * m4/lchown.m4 (gl_FUNC_LCHOWN):
92827         * m4/long-options.m4 (gl_LONG_OPTIONS):
92828         * m4/lstat.m4 (gl_FUNC_LSTAT):
92829         * m4/md5.m4 (gl_MD5):
92830         * m4/memcasecmp.m4 (gl_MEMCASECMP):
92831         * m4/memcoll.m4 (gl_MEMCOLL):
92832         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
92833         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
92834         * m4/memxor.m4 (gl_MEMXOR):
92835         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
92836         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
92837         * m4/modechange.m4 (gl_MODECHANGE):
92838         * m4/mountlist.m4 (gl_MOUNTLIST):
92839         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
92840         * m4/openat.m4 (gl_FUNC_OPENAT):
92841         * m4/pathmax.m4 (gl_PATHMAX):
92842         * m4/physmem.m4 (gl_PHYSMEM):
92843         * m4/posixtm.m4 (gl_POSIXTM):
92844         * m4/posixver.m4 (gl_POSIXVER):
92845         * m4/quote.m4 (gl_QUOTE):
92846         * m4/quotearg.m4 (gl_QUOTEARG):
92847         * m4/readtokens.m4 (gl_READTOKENS):
92848         * m4/readutmp.m4 (gl_READUTMP):
92849         * m4/regex.m4 (gl_REGEX):
92850         * m4/safe-read.m4 (gl_SAFE_READ):
92851         * m4/safe-write.m4 (gl_SAFE_WRITE):
92852         * m4/same.m4 (gl_SAME):
92853         * m4/save-cwd.m4 (gl_SAVE_CWD):
92854         * m4/savedir.m4 (gl_SAVEDIR):
92855         * m4/settime.m4 (gl_SETTIME):
92856         * m4/sha1.m4 (gl_SHA1):
92857         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
92858         * m4/stat-macros.m4 (gl_STAT_MACROS):
92859         * m4/stat-time.m4 (gl_STAT_TIME):
92860         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
92861         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
92862         * m4/strdup.m4 (gl_FUNC_STRDUP):
92863         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
92864         * m4/strndup.m4 (gl_FUNC_STRNDUP):
92865         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
92866         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
92867         * m4/time_r.m4 (gl_TIME_R):
92868         * m4/timespec.m4 (gl_TIMESPEC):
92869         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
92870         * m4/unlinkdir.m4 (gl_UNLINKDIR):
92871         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
92872         * m4/userspec.m4 (gl_USERSPEC):
92873         * m4/utimecmp.m4 (gl_UTIMECMP):
92874         * m4/utimens.m4 (gl_UTIMENS):
92875         * m4/xalloc.m4 (gl_XALLOC):
92876         * m4/xgetcwd.m4 (gl_XGETCWD):
92877         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
92878         * m4/xreadlink.m4 (gl_XREADLINK):
92879         * m4/xstrtod.m4 (gl_XSTRTOD):
92880         * m4/yesno.m4 (gl_YESNO):
92881         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
92882         to get the necessary .h files and whatnot.
92884 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
92885             Bruno Haible  <bruno@clisp.org>
92887         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
92888         /bin/sh understanding of '!' conditional negation.
92890 2006-08-21  Jim Meyering  <jim@meyering.net>
92892         * modules/openat (Depends-on): Really alphabetize.
92894         * modules/acl (Depends-on): Add error and quote.
92896         * check-module (find_included_lib_files): Add at-func.c to the
92897         ok-to-include-more-than-once white list.
92899         * modules/openat (Depends-on): Add lstat.  Alphabetize.
92901 2006-08-21  Bruno Haible  <bruno@clisp.org>
92903         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
92904         Emit a pkgdata_DATA variable only if some snippets add contents to it.
92905         Reported by Martin Lambers <marlam@marlam.de>.
92907 2006-08-21  Bruno Haible  <bruno@clisp.org>
92909         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
92910         specify an installation location, don't emit a noinst_LIBRARIES or
92911         noinst_LTLIBRARIES assignment.
92913 2006-08-21  Bruno Haible  <bruno@clisp.org>
92915         BeOS portability.
92916         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
92917         BeOS has mbrtowc() but no <wctype.h>.
92919 2006-08-21  Bruno Haible  <bruno@clisp.org>
92921         BeOS portability.
92922         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
92923         exist.
92925 2006-08-21  Bruno Haible  <bruno@clisp.org>
92927         BeOS portability.
92928         * lib/mbchar.h: Include <wctype.h> only if it exists.
92930 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
92932         Remove files that are no longer needed by their respective modules.
92933         * m4/obstack.m4: Remove.
92934         * m4/strerror_r.m4: Remove.
92935         * m4/uint32_t.m4: Remove.
92936         * m4/uintptr_t.m4: Remove.
92937         * m4/ullong_max.m4: Remove.
92938         * m4/xstrtoimax.m4: Remove.
92939         * m4/xstrtoumax.m4: Remove.
92941         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
92942         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
92943         dependencies now capture this.
92945         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
92946         Do not use AC_LIBSOURCES, since gnulib modules now do this.
92947         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
92948         * m4/human.m4 (gl_HUMAN): Likewise.
92949         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
92950         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
92952         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
92954         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
92955         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
92956         stdint.
92957         * m4/human.m4 (gl_HUMAN): Likewise.
92958         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
92959         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
92960         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
92961         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
92962         * m4/xstrtol (gl_XSTRTOL): Likewise.
92964         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
92965         AC_TYPE_LONG_LONG_INT.
92966         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
92967         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
92968         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
92969         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
92971         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
92972         on stdbool.
92974         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
92975         (gl_PREREQ_XSTRTOUL): Remove.
92977         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
92979         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
92980         mode.
92982 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
92984         Add and change modules to make it easier for coreutils to use
92985         gnulib-tool.
92986         * modules/backupfile (Files): Remove m4/d-ino.m4.
92987         (Depends-on): Add d-ino.
92988         * modules/cycle-check (Depends-on): Add stdint.
92989         (lib_SOURCES): Add cycle-check.h.
92990         * modules/d-ino: New module.
92991         * modules/d-type: New module.
92992         * modules/error (Files): Remove m4/strerror_r.m4.
92993         * modules/filemode (Files): Add m4/st_dm_mode.m4.
92994         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
92995         m4/inttypes_h.m4, m4/uintmax_t.m4.
92996         (Depends-on): Add stdint.
92997         (lib_SOURCES): Add fsusage.h.
92998         * modules/getcwd (Files): Remove d-ino.m4.
92999         (Depends-on): Add d-ino.
93000         * modules/getndelim2 (Depends-on): Add stdint.
93001         * modules/glob (Files): Remove m4/d-type.m4.
93002         (Depends-on): Add d-type.
93003         * modules/host-os: New module.
93004         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
93005         m4/inttypes_h.m4, m4/uintmax_t.m4.
93006         * Depends-on: Add stdint.
93007         (lib_SOURCES): Add human.h.
93008         * modules/inttostr (Files): Remove m4/intmax_t.m4,
93009         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
93010         m4/uintmax_t.m4, m4/ulonglong.m4.
93011         (Depends-on): Add stdint.
93012         (EXTRA_DIST): Add inttostr.h.
93013         * modules/lchmod: New module.
93014         * modules/link-follow: New module.
93015         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
93016         (Depends-on): Add lchmod.
93017         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
93018         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
93019         (Depends-on): Add stdint.
93020         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
93021         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
93022         (Depends-on): Add stdint.
93023         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
93024         * modules/perl: New module.
93025         * modules/regex (Depends-on): Add stdint.
93026         * modules/rmdir-errno: New module.
93027         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
93028         m4/intmax_t.m4.
93029         (Depends-on): Add stdint.
93030         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
93031         m4/uintmax_t.m4.
93032         (Depends-on): Add stdint.
93033         * modules/unlink-busy: New module.
93034         * modules/utimecmp (Depends-on): Add stdint.
93035         * modules/uptime: New module.
93036         * modules/winsz-ioctl: New module.
93037         * modules/winsz-termios: New module.
93038         * modules/xnanosleep (Depends-on): Add nanosleep.
93039         * modules/ullong_max: Remove.
93040         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
93041         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
93042         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
93043         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
93044         (Depends-on): Add inttypes.
93045         (lib_SOURCES): Add xstrtol.h.
93046         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
93047         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
93048         * MODULES.html.sh: Move 'assert' into the assert section.
93049         Move 'dummy' into the linking section.
93050         Remove ullong_max.
93051         Add section for compatibility checks for POSIX:2001 functions,
93052         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
93053         winsz-ioctl, and winsz-termios into it.
93054         Add lchmod.
93055         Add top-level Misc section and put host-os, perl, and uptime
93056         into it.
93058 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
93060         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
93061         now assume the stdint module.  Do not include inttypes.h.
93062         * lib/fsusage.h: Likewise.
93063         * lib/getndelim2.c: Likewise.
93064         * lib/human.h: Likewise.
93065         * lib/inttostr.h: Likewise.
93066         * lib/obstack.c: Likewise.
93067         * lib/regex_internal.h: Likewise.
93068         * lib/tempname.c: Likewise.
93069         * lib/utimecmp.c: Likewise.
93070         * lib/xstrtol.h: Likewise.
93072         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
93074         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
93075         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
93076         * lib/xtime.h: Likewise.
93078 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
93080         * modules/openat (Files): Add lib/fchmodat.c.
93081         Fixes problem reported by Jay Youngman.
93083 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
93085         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
93086         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
93088 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
93089             Bruno Haible  <bruno@clisp.org>
93091         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
93092         and is a script that invokes bison. Tighten the code. Add comments.
93094 2006-08-18  Jim Meyering  <jim@meyering.net>
93096         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
93097         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
93098         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
93099         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
93101 2006-08-18  Bruno Haible  <bruno@clisp.org>
93103         * modules/bison-i18n: New file.
93104         * MODULES.html.sh (Internationalization functions): Add it.
93106 2006-08-18  Bruno Haible  <bruno@clisp.org>
93108         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
93109         sys/statvfs.h. When getmntinfo was found, check its declaration and
93110         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
93112 2006-08-18  Bruno Haible  <bruno@clisp.org>
93114         * m4/bison-i18n.m4: New file, from bison.
93116 2006-08-18  Bruno Haible  <bruno@clisp.org>
93118         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
93119         (ME_DUMMY): Treat "kernfs" as a dummy.
93120         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
93122 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
93124         Update from coreutils.
93126         2006-08-15  Jim Meyering  <jim@meyering.net>
93128         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
93130         2006-01-17  Jim Meyering  <jim@meyering.net>
93132         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
93134         2006-01-11  Jim Meyering  <jim@meyering.net>
93136         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
93137         Check for the lchmod function.
93139 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
93141         Update from coreutils.
93143         * lib/__fpending.h: Add copyright notice.
93144         * lib/fprintftime.h: Likewise.
93145         * lib/savedir.c: Use (C) in copyright notice.
93146         * lib/savedir.h: Likewise.
93148         2006-08-15  Jim Meyering  <jim@meyering.net>
93150         * lib/at-func.c: New file, with the logic of all emulated at-functions.
93151         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
93152         in support of the EXPECTED_ERRNO macro.
93153         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
93154         definitions.  Instead, define the appropriate symbols and include
93155         "at-func.c".
93156         * lib/mkdirat.c (mkdirat): Likewise.
93157         * lib/fchmodat.c (fchmodat): Likewise.
93158         (ENOSYS): Remove definition.
93159         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
93160         it.  Don't include "unistd--.h" -- it wasn't ever used.
93162         2006-01-17  Jim Meyering  <jim@meyering.net>
93164         Rewrite fts.c not to change the current working directory,
93165         by using openat, fstatat, fdopendir, etc..
93167         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
93168         (HAVE_OPENAT_SUPPORT): Define.
93169         [_LIBC] (fchdir): Don't undef or define; no longer used.
93170         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
93171         Now, this `function' always succeeds, and consumes its file descriptor
93172         parameter -- so callers must not close such FDs.  Update callers.
93173         (diropen_fd, opendirat, cwd_advance_fd): New functions.
93174         (diropen): Add parameter, SP.  Adjust all callers.
93175         Implement using diropen_fd, rather than open.
93176         (fts_open): Initialize new member, fts_cwd_fd.
93177         Remove fts_rft-setting code.
93178         (fts_close): Close fts_cwd_fd, if necessary.
93179         (__opendir2): Define in terms of opendir or opendirat,
93180         depending on whether the FST_NOCHDIR flag is set.
93181         (fts_build): Since fts_safe_changedir consumes its FD, and since
93182         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
93183         and close the dup'd file descriptor upon failure.
93184         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
93185         (fts_safe_changedir): Tweak semantics to reflect that this function
93186         now calls cwd_advance_fd and hence consumes its FD argument.
93187         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
93188         [struct FTS] (fts_rft): Remove now-unused member.
93189         [struct FTS] (fts_cycle.state): Improve comment.
93191         * lib/openat.c (openat_needs_fchdir): New function.
93192         * lib/openat.h (openat_needs_fchdir): Declare it.
93194 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
93196         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
93197         Problem and fix reported by Pádraig Brady in
93198         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
93200 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
93202         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
93204 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
93206         * lib/memcoll.c (memcoll): Optimize for the common case where the
93207         arguments are bytewise equal.
93209 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
93211         * doc/regexprops-generic.texi: Add a copyright notice.
93213 2006-08-15  Bruno Haible  <bruno@clisp.org>
93215         * modules/tmpdir (License): Change to LGPL.
93217 2006-08-15  Bruno Haible  <bruno@clisp.org>
93219         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
93220         module.
93222 2006-08-14  Simon Josefsson  <jas@extundo.com>
93224         * config/srclist.txt: Add gnupload.
93226 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
93228         Change copyright notice from LGPL 2 to GPL 2, since that's the
93229         standard form used in the gnulib repository.
93230         * tests/test-lock.c: Likewise.
93231         * tests/test-stdint.c: Likewise.
93232         * tests/test-tls.c: Likewise.
93234         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
93235         prelude-manager.  User shorter URLs for GNU projects, without '?'.
93236         Add copyright notice.
93238         * check-module: Add copyright notice.  Output a copyright
93239         notice if "--version" is specified.
93240         * modules/COPYING: New file.
93241         * tests/test-getaddrinfo.c: Add copyright notice.
93242         * tests/test-verify.c: Likewise.
93244 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
93246         Change copyright notice from LGPL 2 to GPL 2, since that's the
93247         standard form used in the gnulib repository.
93248         * lib/lock.c: LGPL -> GPL.
93249         * lib/lock.h: Likewise.
93250         * lib/strnlen1.c: Likewise.
93251         * lib/strnlen1.h: Likewise.
93252         * lib/tls.c: Likewise.
93253         * lib/tls.h: Likewise.
93254         * lib/tmpdir.c: Likewise.
93256         * lib/TODO: Remove; this belongs only in coreutils.
93258 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
93260         Add copyright notices to long-enough files that lack them, since
93261         otherwise the files aren't clearly free.  Use the same notice that
93262         getdate.texi already uses.
93263         * doc/alloca-opt.texi: Add copyright notice.
93264         * doc/alloca.texi: Likewise.
93265         * doc/ctime.texi: Likewise.
93266         * doc/functions.texi: Likewise.
93267         * doc/gcd.texi: Likewise.
93268         * doc/gnulib-tool.texi: Likewise.
93269         * doc/inet_ntoa.texi: Likewise.
93270         * doc/visibility.texi: Likewise.
93272         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
93273         * doc/quote.texi: Add copyright notice.
93275         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
93276         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
93277         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
93278         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
93279         is now obsolete, and give a pointer to the Sun list.
93280         Add copyright notice.
93282 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
93284         * config/srclistvars.sh: Add copyright notice.
93286 2006-08-14  Eric Blake  <ebb9@byu.net>
93288         Import the following change from libc:
93290         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
93292         Upstream bug 2997.
93293         * lib/misc/error.c: Add space between program name and message if file
93294         name is missing.
93296 2006-08-12  Karl Berry  <karl@gnu.org>
93298         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
93299         remove, these originate in gnulib now.
93301 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93303         * doc/Makefile (standards.info standards.html standards.dvi):
93304         Also depend on make-stds.texi.
93306 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
93308         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
93309         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
93311         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
93312         in wchar_t.  Problem reported by Eric Blake.
93314         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
93315         LEN is smaller than SIZE.  Suggested by Bruno Haible.
93316         Also, help the compiler to keep LEN in a register.
93318 2006-08-11  Eric Blake  <ebb9@byu.net>
93320         * users.txt: Sort.  Add tar.
93322 2006-08-11  Bruno Haible  <bruno@clisp.org>
93324         * users.txt: New file.
93326 2006-08-11  Bruno Haible  <bruno@clisp.org>
93328         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
93329         before <wchar.h>. Needed for OSF/1 and BSD/OS.
93331 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
93333         * modules/snprintf (Depends-on): Remove minmax.
93334         (Maintainer): Add self and Bruno.
93336 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
93338         * lib/.cppi-disable: Add snprintf.h, socket_.h.
93339         * lib/snprintf.c: Include <errno.h> and <limits.h>.
93340         (EOVERFLOW): Define if the system does not.
93341         Do not include "minmax.h"; it wasn't used.
93342         (snprintf): Don't assume size_t promotes to an unsigned type.
93343         Fix bug when generated string was too long for the buffer: the
93344         buffer's contents are supposed to be the initial prefix of the
93345         output.  Don't assume vasnprintf returns EOVERFLOW if the size
93346         exceeds INT_MAX; do the check ourselves.
93348         Import the following changes from libc:
93350         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
93352         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
93353         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
93354         set wc to the byte which couldn't be converted.
93355         (re_string_reconstruct): Don't clear valid_raw_len before calling
93356         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
93357         tip_context using re_string_context_at.
93359         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
93361         * lib/posix/regex.h: g++ still cannot handled [restrict].
93363         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
93365         * lib/posix/regex.h: Remove special handling for VMS.
93367 2006-08-10  Jim Meyering  <jim@meyering.net>
93369         * modules/same-inode: New module.
93370         * modules/dev-ino: New module.
93371         * modules/cycle-check: Depend on these modules, rather than simply
93372         including their .h files.
93373         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
93374         required via m4/cycle-check.m4.
93375         * modules/same: Depend on new same-inode module, rather than
93376         including same-inode.h.
93377         * modules/chdir-safer: New file.
93379         * modules/chown (Depends-on): Add stat-macros.
93381 2006-08-10  Jim Meyering  <jim@meyering.net>
93383         * m4/cycle-check.m4: New file.
93384         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
93385         * m4/dev-ino.m4, m4/same-inode.m4: New files.
93387 2006-08-10  Eric Blake  <ebb9@byu.net>
93389         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
93390         in from original proposal.
93392 2006-08-10  Eric Blake  <ebb9@byu.net>
93393         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
93395         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
93396         namespace.
93398 2006-08-10  Bruno Haible  <bruno@clisp.org>
93400         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
93401         as well.
93403 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
93405         Sync from coreutils.
93407         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
93409         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
93410         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
93412 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
93414         * modules/restrict: Remove; no longer needed now that we assume
93415         Autoconf 2.59 or later.
93416         * MODULES.html.sh: Remove 'restrict'.
93417         * modules/argp (Depends-on): Remove 'restrict'.
93418         * modules/base64 (Depends-on): Likewise.
93419         * modules/gc (Depends-on): Likewise.
93420         * modules/getaddrinfo (Depends-on): Likewise.
93421         * modules/glob (Depends-on): Likewise.
93422         * modules/inet_ntop (Depends-on): Likewise.
93423         * modules/inet_pton (Depends-on): Likewise.
93424         * modules/memxor (Depends-on): Likewise.
93425         * modules/regex (Depends-on): Likewise.
93426         * modules/strtok_r (Depends-on): Likewise.
93427         * modules/time_r (Depends-on): Likewise.
93429 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
93431         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
93432         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
93433         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
93434         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
93435         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
93436         * m4/memxor.m4 (gl_MEMXOR): Likewise.
93437         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
93438         gl_C_RESTRICT replaced by AC_C_RESTRICT.
93440         Merge from coreutils.
93441         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
93442         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
93443         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
93444         * m4/time_r.m4 (gl_TIME_R): Likewise.
93446 2006-08-09  Karl Berry  <karl@gnu.org>
93448         * config/srclist.txt: no more gettext-tools, per Bruno.
93450 2006-08-08  Eric Blake  <ebb9@byu.net>
93452         * modules/verror: New module.
93453         * MODULES.html.sh: Document it.
93455 2006-08-08  Eric Blake  <ebb9@byu.net>
93457         * lib/verror.h, lib/verror.c: New files.
93459 2006-08-08  Eric Blake  <ebb9@byu.net>
93461         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
93462         verror_at_line output complies with GNU Coding Standards even when
93463         file is NULL.
93465 2006-08-07  Bruno Haible  <bruno@clisp.org>
93467         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
93468         versions of AIX.
93469         Reported by Ralf Wildenhues.
93471 2006-08-07  Bruno Haible  <bruno@clisp.org>
93473         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
93474         in an AC_DEFUN. Needed so that the autoconf snippets can use
93475         AC_REQUIRE.
93477 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93479         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
93480         Initialize pkgdata_DATA.
93481         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
93482         overriding it.
93484 2006-08-06  Eric Blake  <ebb9@byu.net>
93486         * lib/error.h: Fold in some upstream changes from glibc.
93487         * lib/error.c: Likewise.
93489 2006-08-04  Bruno Haible  <bruno@clisp.org>
93491         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
93492         Make the mostlyclean-local rule depend on mostlyclean-generic.
93493         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
93495 2006-07-31  Bruno Haible  <bruno@clisp.org>
93497         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
93498         <stdlib.h>, <string.h>.
93500 2006-07-30  Bruno Haible  <bruno@clisp.org>
93502         * modules/readlink (License): Change to LGPL.
93504 2006-07-30  Bruno Haible  <bruno@clisp.org>
93506         * modules/javaversion (Makefile.am): Distribute javaversion.java and
93507         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
93508         set PKGDATADIR to point to it.
93510 2006-07-30  Bruno Haible  <bruno@clisp.org>
93512         * modules/csharpexec (configure.ac): Comment out macro invocation.
93513         * modules/javaexec (configure.ac): Likewise.
93514         * modules/javacomp-script (configure.ac): Likewise.
93516         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
93518 2006-07-30  Bruno Haible  <bruno@clisp.org>
93520         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
93521         linked-list.
93523 2006-07-30  Bruno Haible  <bruno@clisp.org>
93525         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
93527 2006-07-30  Bruno Haible  <bruno@clisp.org>
93529         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
93530         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
93531         get removed.
93533 2006-07-29  Bruno Haible  <bruno@clisp.org>
93535         Make it possible for gnulib-tool to work with locally modified or
93536         augmented gnulib repositories.
93537         * gnulib-tool (func_usage): Document --local-dir option.
93538         (local_gnulib_dir): New variable.
93539         Handle --local-dir option.
93540         (func_lookup_file): New function.
93541         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
93542         (func_get_description, func_get_filelist, func_get_description,
93543         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
93544         func_get_automake_snippet, func_get_include_directive,
93545         func_get_license, func_get_maintainer): Use func_lookup_file.
93546         (func_import, func_create_testdir): Use func_lookup_file.
93548 2006-07-29  Bruno Haible  <bruno@clisp.org>
93550         * modules/setenv (Depends-on): Add unistd.
93552 2006-07-29  Bruno Haible  <bruno@clisp.org>
93554         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
93556 2006-07-29  Bruno Haible  <bruno@clisp.org>
93558         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
93560 2006-07-29  Bruno Haible  <bruno@clisp.org>
93562         * gnulib-tool (import, update): If there is no Makefile.am, look at
93563         aclocal.m4, instead of bailing out.
93565 2006-07-29  Bruno Haible  <bruno@clisp.org>
93567         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
93568         Categorize the options by when they are useful.
93570 2006-07-29  Bruno Haible  <bruno@clisp.org>
93572         * gnulib-tool (func_usage): Document option --no-libtool.
93573         Handle option --no-libtool.
93574         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
93575         for changed semantics of $libtool variable.
93576         (func_import): Likewise. If libtool is not used, show this through
93577         an option --no-libtool.
93578         (func_create_testdir): Update.
93580 2006-07-29  Bruno Haible  <bruno@clisp.org>
93582         * gnulib-tool (func_import): Extend error message about missing
93583         --doc-base.
93585 2006-07-29  Bruno Haible  <bruno@clisp.org>
93587         * gnulib-tool (func_import): Don't create the $docbase directory if
93588         there is no file to store there.
93590 2006-07-29  Bruno Haible  <bruno@clisp.org>
93592         * gnulib-tool (autoconf_minversion): If a --dir option is given and
93593         relevant, look for configure.ac there, not in the current directory.
93594         Also use a simple search for AC_PREREQ, not "autoconf --trace".
93596 2006-07-29  Bruno Haible  <bruno@clisp.org>
93598         * gnulib-tool (SORT): New variable.
93599         (func_usage): Undocument --assume-autoconf option.
93600         Remove --assume-autoconf option handling.
93601         (autoconf_minversion): Determine from the contents of configure.ac.
93602         (func_import): Remove autoconf_minversion handling.
93603         Suggested by Eric Blake.
93605 2006-07-29  Bruno Haible  <bruno@clisp.org>
93607         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
93609 2006-07-29  Bruno Haible  <bruno@clisp.org>
93611         * config/srclist.txt (*setenv.[ch]): Remove rules.
93613 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93615         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
93617 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93619         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
93620         arpa/inet.h.
93622 2006-07-28  Simon Josefsson  <jas@extundo.com>
93624         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
93625         * modules/inet_pton (Depends-on): Likewise.
93627 2006-07-28  Simon Josefsson  <jas@extundo.com>
93629         * m4/netinet_in_h.m4: New file.
93631 2006-07-28  Simon Josefsson  <jas@extundo.com>
93633         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
93634         #include's.
93636 2006-07-28  Simon Josefsson  <jas@extundo.com>
93638         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
93639         #include's.
93641 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
93643         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
93644         setgid on directories only if they set these bits.
93645         * lib/modechange.h: Remove obsolete comment about masks.
93647 2006-07-28  Eric Blake  <ebb9@byu.net>
93649         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
93650         macro expansion.
93652 2006-07-28  Bruno Haible  <bruno@clisp.org>
93654         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
93656 2006-07-28  Bruno Haible  <bruno@clisp.org>
93658         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
93660 2006-07-28  Bruno Haible  <bruno@clisp.org>
93662         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
93663         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
93664         Define fallbacks.
93665         Avoids link error on FreeBSD 4.x.
93666         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
93668         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
93669         encoding.
93670         * lib/mbswidth.c (iswcntrl): Likewise.
93672 2006-07-27  Bruno Haible  <bruno@clisp.org>
93674         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
93675         test.
93677 2006-07-27  Bruno Haible  <bruno@clisp.org>
93679         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
93680         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
93681         defined.
93683 2006-07-26  Eric Blake  <ebb9@byu.net>
93685         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
93687 2006-07-26  Eric Blake  <ebb9@byu.net>
93689         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
93690         like mingw that lack mkstemp.
93691         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
93692         avoid compilation warning on mingw.
93694 2006-07-26  Bruno Haible  <bruno@clisp.org>
93696         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
93697         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
93698         INT_FAST*_MIN, INTPTR_MIN.
93700 2006-07-25  Bruno Haible  <bruno@clisp.org>
93702         * modules/version-etc (Depends-on): Add stdarg.
93704 2006-07-25  Bruno Haible  <bruno@clisp.org>
93706         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
93707         complex commands.
93709 2006-07-25  Bruno Haible  <bruno@clisp.org>
93711         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
93712         defined in <stdarg.h> or config.h.
93714 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
93716         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
93717         (gl_STDIO_SAFER): Remove.
93719 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
93721         * MODULES.html.sh (File stream based Input/Output):
93722         Add fopen-safer, tmpfile-safer; remove stdio-safer.
93723         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
93724         * modules/fopen-safer, modules/tmpfile-safer: New files.
93725         * modules/stdio-safer: Remove.
93727 2006-07-24  Bruno Haible  <bruno@clisp.org>
93729         * modules/tmpdir: New file.
93730         * MODULES.html.sh (File system functions): Add it.
93732 2006-07-24  Bruno Haible  <bruno@clisp.org>
93734         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
93735         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
93737 2006-07-24  Bruno Haible  <bruno@clisp.org>
93739         * modules/clean-temp: New file.
93741 2006-07-24  Bruno Haible  <bruno@clisp.org>
93743         * m4/tmpdir.m4: New file, from GNU gettext.
93745 2006-07-24  Bruno Haible  <bruno@clisp.org>
93747         * lib/tmpdir.h: New file, from GNU gettext.
93748         * lib/tmpdir.c: New file, from GNU gettext.
93750 2006-07-24  Bruno Haible  <bruno@clisp.org>
93752         * lib/clean-temp.h: New file, from GNU gettext.
93753         * lib/clean-temp.c: New file, from GNU gettext.
93755 2006-07-23  Eric Blake  <ebb9@byu.net>
93757         * modules/stdio-safer (Files): Add tmpfile-safer.c.
93758         (Depends-on): Add binary-io.
93760 2006-07-23  Eric Blake  <ebb9@byu.net>
93762         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
93764 2006-07-23  Eric Blake  <ebb9@byu.net>
93766         * lib/tmpfile-safer.c: New file.
93767         * lib/stdio-safer.h (fopen_safer): Add prototype.
93768         * lib/stdio--.h (tmpfile): Make safer.
93770 2006-07-23  Bruno Haible  <bruno@clisp.org>
93772         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
93773         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
93774         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
93775         gl_linked_remove_at): Use it.
93777 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
93778         and Simon Josefsson <jas@extundo.com>
93780         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
93782         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
93784 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
93786         * modules/close-stream: New file.
93787         * modules/closeout (Description): Make it clear that it exits
93788         with a diagnostic on error.
93789         (Depends-on): Add close-stream.  Remove fpending, stdbool.
93790         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
93792 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
93794         * m4/close-stream.m4: New file.
93796 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
93798         * lib/close-stream.c, lib/close-stream.h: New files.
93800 2006-07-22  Bruno Haible  <bruno@clisp.org>
93802         Merge from GNU gettext 0.15.
93804         2006-05-01  Bruno Haible  <bruno@clisp.org>
93806                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
93808         2006-07-22  Bruno Haible  <bruno@clisp.org>
93810                 * modules/javaversion: New file.
93811                 * MODULES.html.sh (Java): Add javaversion.
93813         2006-03-12  Bruno Haible  <bruno@clisp.org>
93815                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
93817         2005-12-04  Bruno Haible  <bruno@clisp.org>
93819                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
93820                 (untested).
93822         2006-06-21  Bruno Haible  <bruno@clisp.org>
93824                 Avoid warnings from recent versions of mcs.
93825                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
93826                 -o, -L, -r any more. Use options documented since mcs-1.0
93827                 instead. Similarly for -g.
93829         2005-12-04  Bruno Haible  <bruno@clisp.org>
93831                 * build-aux/csharpcomp.sh.in: Suffix for resources is
93832                 .resources, not .resource.
93834         2005-07-09  Bruno Haible  <bruno@clisp.org>
93836                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
93837                 add a .dll suffix.
93838                 Reported by Mark Junker <mjscod@gmx.de>.
93840         2006-07-22  Bruno Haible  <bruno@clisp.org>
93842                 * modules/gettext: Upgrade to gettext-0.15.
93843                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
93844                 m4/visibility.m4.
93845                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
93847 2006-07-22  Bruno Haible  <bruno@clisp.org>
93849         Merge from GNU gettext 0.15.
93851         2006-03-25  Bruno Haible  <bruno@clisp.org>
93853                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
93855         2006-07-21  Bruno Haible  <bruno@clisp.org>
93857                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
93858                 "1.1".
93860         2006-05-09  Bruno Haible  <bruno@clisp.org>
93862                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
93863                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
93864                 for the conftestver execution.
93866         2006-05-01  Bruno Haible  <bruno@clisp.org>
93868                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
93869                 optional target-version argument. Verify that the compiler
93870                 groks source of the specified source-version, or add -source
93871                 option as necessary. Verify that the compiler produces
93872                 bytecode in the specified target-version, or add -target and
93873                 -source options as necessary. Make the result of the test
93874                 available as variable CONF_JAVAC. Also log error output in
93875                 config.log.
93877         2006-03-11  Bruno Haible  <bruno@clisp.org>
93879                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
93881         2006-05-09  Bruno Haible  <bruno@clisp.org>
93883                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
93884                 CLASSPATH_SEPARATOR to a semicolon.
93886         2006-03-12  Bruno Haible  <bruno@clisp.org>
93888                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
93889                 available as variable CONF_JAVA, for subsequent autoconf
93890                 tests. Also log error output in config.log.
93892         2006-07-19  Bruno Haible  <bruno@clisp.org>
93894                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
93895                 that getline works on glibc2 systems. Needed to avoid trouble
93896                 in relocatable.c.
93897                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
93899         2005-12-04  Bruno Haible  <bruno@clisp.org>
93901                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
93902                 launcher (untested).
93904         2005-12-04  Bruno Haible  <bruno@clisp.org>
93906                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
93908         2006-07-22  Bruno Haible  <bruno@clisp.org>
93910                 * gettext.m4: Update from GNU gettext-0.15.
93911                 * nls.m4: Likewise.
93912                 * po.m4: Likewise.
93913                 * inttypes-pri.m4: Likewise.
93914                 * inttypes-h.m4: Renamed from inttypes.m4.
93915                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
93917 2006-07-22  Bruno Haible  <bruno@clisp.org>
93919         Merge from GNU gettext 0.15.
93921         2005-07-05  Bruno Haible  <bruno@clisp.org>
93923                 * printf-args.c (printf_fetchargs): Work around broken
93924                 definition of wint_t on mingw.
93926         2005-02-12  Bruno Haible  <bruno@clisp.org>
93928                 * xallocsa.h: Add extern "C" for C++.
93930         2006-05-17  Bruno Haible  <bruno@clisp.org>
93932                 Cygwin portability.
93933                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
93935         2006-04-30  Bruno Haible  <bruno@clisp.org>
93937                 * progreloc.c: Include <mach-o/dyld.h> if available.
93938                 (find_executable): Use _NSGetExecutablePath when possible.
93940         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
93942                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
93943                 function.
93945         2005-12-29  Bruno Haible  <bruno@clisp.org>
93947                 * progreloc.c (set_program_name_and_installdir): Fix
93948                 compilation error.
93950         2005-12-04  Bruno Haible  <bruno@clisp.org>
93952                 Cygwin portability.
93953                 * progreloc.c: Include <windows.h> also on Cygwin.
93954                 (find_executable): Add support for Cygwin.
93955                 (set_program_name_and_installdir): Handle also platforms with
93956                 nonempty EXEEXT.
93958         2006-07-11  Bruno Haible  <bruno@clisp.org>
93960                 * javacomp.c: Fix a comment.
93961                 Reported by Jim Meyering.
93963         2006-04-30  Bruno Haible  <bruno@clisp.org>
93965                 * javacomp.h (compile_java_class): Add source_version,
93966                 target_version arguments.
93967                 * javacomp.c: Rewritten to choose only a compiler that
93968                 respects the specified source_version and target_version.
93970         2006-06-27  Bruno Haible  <bruno@clisp.org>
93972                 Assume correct S_ISDIR macro.
93973                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
93975         2006-07-22  Bruno Haible  <bruno@clisp.org>
93977                 * javaversion.h: New file, from GNU gettext.
93978                 * javaversion.c: New file, from GNU gettext.
93979                 * javaversion.java: New file, from GNU gettext.
93980                 * javaversion.class: New file, from GNU gettext.
93982         2006-05-17  Bruno Haible  <bruno@clisp.org>
93984                 Cygwin portability.
93985                 * javaexec.c (execute_java_class): Test for jview program
93986                 also on Cygwin.
93988         2006-04-09  Bruno Haible  <bruno@clisp.org>
93990                 * fatal-signal.c: Don't include string.h.
93991                 (at_fatal_signal): Use a copying loop instead of memcpy.
93993         2005-12-04  Bruno Haible  <bruno@clisp.org>
93995                 * csharpexec.c: Add support for 'clix' launcher (untested).
93996                 (execute_csharp_using_sscli): New function.
93997                 (execute_csharp_program): Call it.
93999         2006-06-21  Bruno Haible  <bruno@clisp.org>
94001                 Avoid warnings from recent versions of mcs.
94002                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
94003                 -o, -L, -r any more. Use options documented since mcs-1.0
94004                 instead. Similarly for -g.
94006         2005-07-09  Bruno Haible  <bruno@clisp.org>
94008                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
94009                 add a .dll suffix.
94010                 Reported by Mark Junker <mjscod@gmx.de>.
94012         2006-06-17  Bruno Haible  <bruno@clisp.org>
94014                 * config.charset: Update for NetBSD 3.0.
94016         2006-05-17  Bruno Haible  <bruno@clisp.org>
94018                 Cygwin portability.
94019                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
94021         2006-05-16  Bruno Haible  <bruno@clisp.org>
94023                 * localcharset.c [CYGWIN]: Include <windows.h>.
94024                 (get_charset_aliases): For Cygwin, return the same CPxxx
94025                 aliases list as under WIN32.
94026                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
94027                 the environment variables. Fall back to GetACP().
94029         2006-04-05  Bruno Haible  <bruno@clisp.org>
94031                 * config.charset: Update Juan Manuel Guerrero's address.
94033         2005-02-12  Bruno Haible  <bruno@clisp.org>
94035                 * allocsa.h: Add extern "C" for C++.
94037         2005-02-10  Bruno Haible  <bruno@clisp.org>
94039                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
94040                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
94042         2006-07-22  Bruno Haible  <bruno@clisp.org>
94044                 * gettext.h: Update to GNU gettext-0.15.
94046 2006-07-22  Bruno Haible  <bruno@clisp.org>
94048         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
94049         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
94050         lib-prefix.m4, longdouble.m4, ssize_t.m4.
94052 2006-07-21  Eric Blake  <ebb9@byu.net>
94054         * modules/stdlib-safer: New file.
94055         * MODULES.html.sh (File stream based Input/Output): Add
94056         stdlib-safer.
94058 2006-07-21  Eric Blake  <ebb9@byu.net>
94060         * lib/stdlib-safer.h: New file from coreutils, required by
94061         stdlib--.h.
94063 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
94065         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
94067 2006-07-20  Bruno Haible  <bruno@clisp.org>
94069         * gnulib-tool: Recognize new option --assume-autoconf.
94070         (autoconf_minversion): New variable.
94071         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
94073 2006-07-20  Bruno Haible  <bruno@clisp.org>
94075         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
94077 2006-07-19  Derek R. Price  <derek@ximbiot.com>
94079         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
94080         Reindent and repaginate.
94082 2006-07-19  Derek Price  <derek@ximbiot.com>
94084         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
94085         Correct grammar.
94087 2006-07-17  Bruno Haible  <bruno@clisp.org>
94089         * modules/list: New file.
94090         * modules/array-list: New file.
94091         * modules/carray-list, modules/carray-list-tests: New files.
94092         * modules/linked-list, modules/linked-list-tests: New files.
94093         * modules/avltree-list, modules/avltree-list-tests: New files.
94094         * modules/rbtree-list, modules/rbtree-list-tests: New files.
94095         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
94096         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
94097         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
94098         * modules/oset: New file.
94099         * modules/array-oset: New file.
94100         * modules/avltree-oset, modules/avltree-oset-tests: New files.
94101         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
94102         * tests/test-carray_list.c: New file.
94103         * tests/test-linked_list.c: New file.
94104         * tests/test-avltree_list.c: New file.
94105         * tests/test-rbtree_list.c: New file.
94106         * tests/test-linkedhash_list.c: New file.
94107         * tests/test-avltreehash_list.c: New file.
94108         * tests/test-rbtreehash_list.c: New file.
94109         * tests/test-avltree_oset.c: New file.
94110         * tests/test-rbtree_oset.c: New file.
94111         * MODULES.html.sh (Container data structures): New section.
94113 2006-07-17  Bruno Haible  <bruno@clisp.org>
94115         * m4/gl_list.m4: New file.
94117 2006-07-17  Bruno Haible  <bruno@clisp.org>
94119         * lib/gl_list.h: New file.
94120         * lib/gl_list.c: New file.
94121         * lib/gl_array_list.h: New file.
94122         * lib/gl_array_list.c: New file.
94123         * lib/gl_carray_list.h: New file.
94124         * lib/gl_carray_list.c: New file.
94125         * lib/gl_linked_list.h: New file.
94126         * lib/gl_linked_list.c: New file.
94127         * lib/gl_anylinked_list1.h: New file.
94128         * lib/gl_anylinked_list2.h: New file.
94129         * lib/gl_avltree_list.h: New file.
94130         * lib/gl_avltree_list.c: New file.
94131         * lib/gl_anyavltree_list1.h: New file.
94132         * lib/gl_anyavltree_list2.h: New file.
94133         * lib/gl_rbtree_list.h: New file.
94134         * lib/gl_rbtree_list.c: New file.
94135         * lib/gl_anyrbtree_list1.h: New file.
94136         * lib/gl_anyrbtree_list2.h: New file.
94137         * lib/gl_anytree_list1.h: New file.
94138         * lib/gl_anytree_list2.h: New file.
94139         * lib/gl_linkedhash_list.h: New file.
94140         * lib/gl_linkedhash_list.c: New file.
94141         * lib/gl_anyhash_list1.h: New file.
94142         * lib/gl_anyhash_list2.h: New file.
94143         * lib/gl_avltreehash_list.h: New file.
94144         * lib/gl_avltreehash_list.c: New file.
94145         * lib/gl_rbtreehash_list.h: New file.
94146         * lib/gl_rbtreehash_list.c: New file.
94147         * lib/gl_anytreehash_list1.h: New file.
94148         * lib/gl_anytreehash_list2.h: New file.
94150         * lib/gl_oset.h: New file.
94151         * lib/gl_oset.c: New file.
94152         * lib/gl_array_oset.h: New file.
94153         * lib/gl_array_oset.c: New file.
94154         * lib/gl_avltree_oset.h: New file.
94155         * lib/gl_avltree_oset.c: New file.
94156         * lib/gl_rbtree_oset.h: New file.
94157         * lib/gl_rbtree_oset.c: New file.
94158         * lib/gl_anytree_oset.h: New file.
94160 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
94162         * m4/mkancesdirs.m4: New file.
94163         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
94164         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
94165         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
94166         it.
94168 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
94170         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
94171         * lib/mkancesdirs.h: New files.
94172         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
94173         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
94174         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
94175         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
94176         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
94177         callers changed.  Revamp internals significantly, by not
94178         attempting to create directories that are temporarily more
94179         permissive than the final results.  Do not attempt to use
94180         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
94181         This removes some race conditions, fixes some bugs, and simplifies
94182         things.  Use new dirchownmod function to do owner and mode changes.
94183         * lib/mkdir-p.h: Likewise.
94184         * lib/modechange.c (octal_to_mode): New function.
94185         (struct mode_change): New member mentioned.
94186         (make_node_op_equals): New arg mentioned.  All callers changed.
94187         (mode_compile): Keep track of which mode bits the user has explicitly
94188         mentioned.
94189         (mode_adjust): New arg DIR, so that we implement the X op correctly.
94190         New arg PMODE_BITS, to keep track of which mode bits the user
94191         mentioned; it treats S_ISUID and S_ISGID speciall.
94192         All callers changed.
94193         * lib/modechange.h: Likewise.
94195 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
94197         * MODULES.html.sh: Add mkancestors.
94198         * modules/mkancesdirs: New module.
94199         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
94200         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
94201         The chdir-safer and afs files are now orphans; I'll remove them
94202         unless someone speaks up.
94203         Add lib/dirchownmod.c, lib/dirchownmod.h.
94204         (Depends-on): Remove alloca, chown, save-cwd, dirname.
94205         Add lchown, mkancesdirs.
94206         (Maintainer): Add self.
94208 2006-07-15  Karl Berry  <karl@gnu.org>
94210         * gnulib-tool: help message wording/arrangement.
94212 2006-07-14  Simon Josefsson  <jas@extundo.com>
94214         * doc/gnulib.texi (Libtool and Windows): New section.
94216 2006-07-12  Simon Josefsson  <jas@extundo.com>
94218         * modules/gendocs (License): Fix license, approved by Karl.
94220 2006-07-12  Eric Blake  <ebb9@byu.net>
94222         * MODULES.html.sh: Add gendocs.
94224 2006-07-11  Eric Blake  <ebb9@byu.net>
94226         * modules/fdl: New module, to install doc/fdl.texi.
94227         * MODULES.html.sh: Add new section for documentation modules.
94228         * gnulib-tool: Avoid space-tab.
94229         (--doc-base): New option, to manage files from doc.
94231 2006-07-11  Eric Blake  <ebb9@byu.net>
94233         * m4/absolute-header.m4: Fix comments to match recent change.
94235 2006-07-11  Eric Blake  <ebb9@byu.net>
94237         * gnulib-tool: List --doc-base before --tests-base.
94239 2006-07-11  Derek R. Price  <derek@ximbiot.com>
94241         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
94243 2006-07-11  Bruno Haible  <bruno@clisp.org>
94245         * README: Mention where to put documentation.
94247 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94249         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
94251 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
94253         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
94254         to stdint.m4.
94256 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
94258         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
94259         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
94260         "no/such/file/stdint.h" when there is no such file, so that
94261         the resulting C code can be parsed by dodgy compilers.
94262         Problems reported by Bob Proulx.
94264 2006-07-10  Derek R. Price  <derek@ximbiot.com>
94266         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
94267         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
94268         macros into the GNU _D_EXACT_NAMLEN.
94269         * lib/savedir.c:  Likewise.
94270         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
94272 2006-07-10  Derek R. Price  <derek@ximbiot.com>
94273         and Paul Eggert  <eggert@cs.ucla.edu>
94275         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
94276         * m4/savedir.m4:
94277         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
94278         macros into the GNU _D_EXACT_NAMLEN.
94280 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
94282         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
94283         around the absolute name, to work around a problem with the HP-UX
94284         11.23 native C compiler, reported by Bob Proulx.
94286 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
94288         * doc/maintain.texi, make-stds.texi: Sync from
94289         <http://savannah.gnu.org/projects/gnustandards>.
94291 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
94293         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
94295 2006-07-09  Jim Meyering  <jim@meyering.net>
94297         * m4/glob.m4: Remove a doubled word in a comment.
94299 2006-07-09  Jim Meyering  <jim@meyering.net>
94301         * lib/argp-pv.c: Remove a doubled word in a comment.
94302         * lib/check-version.c (check_version): Likewise.
94303         * lib/javacomp.c (compile_java_class): Likewise.
94305 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
94307         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
94308         for the benefit of people using Autoconf 2.60.  If you want to
94309         support older Autoconf versions you can copy m4/onceonly_2_57.m4
94310         (or m4/onceonly.m4, if pre-2.57) manually.
94312 2006-07-08  Jim Meyering  <jim@meyering.net>
94314         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
94315         comment.
94316         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
94317         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
94318         comment.
94320 2006-07-08  Jim Meyering  <jim@meyering.net>
94322         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
94324 2006-07-07  Simon Josefsson  <jas@extundo.com>
94326         * tests/test-crc.c: Change expected crc value, the test vector
94327         were probably computed using the old broken crc.c?
94329 2006-07-06  Simon Josefsson  <jas@extundo.com>
94331         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
94332         now the canonical place for the M4 file).
94334         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
94335         from the sys_socket dependency now.
94337         * modules/inet_pton (Files): Ditto.
94339         * modules/inet_ntop (Files): Ditto.
94341 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
94343         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
94344         not gl_PREREQ_GETUSERSHELL.
94346 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94348         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
94349         with only one argument, for Autoconf 2.60.
94350         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
94351         expand to nothing, so add a shell command to avoid syntax error.
94352         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
94354 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
94356         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
94358 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
94360         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
94361         no longer needed.  Check for isblank decl.
94362         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
94363         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
94364         of existence.
94366 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
94368         * lib/getloadavg.c: Use __VMS, not VMS.
94369         * lib/getopt.c: Likewise.
94370         * lib/getpagesize.h: Likewise.
94371         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
94372         and probably does not work.
94374 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
94376         * lib/.cppi-disable: Add wcwidth.
94377         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
94378         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
94379         (ISGRAPH): Remove.  All uses changed to isgraph.
94380         (FOLD) [!defined _LIBC]: Remove special case.
94381         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
94382         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
94383         HAVE_ISBLANK.
94384         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
94385         case.
94387 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
94389         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
94390         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
94391         brackets.  Other minor changes to suppress some compiler
94392         warnings.
94394 2006-07-06  Derek R. Price  <derek@ximbiot.com>
94395         and Paul Eggert  <eggert@cs.ucla.edu>
94397         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
94398         of invoking obsolescent AC_HEADER_DIRENT macro.
94399         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
94400         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
94401         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
94402         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
94403         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
94404         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
94405         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
94406         * m4/readdir.m4: Remove; no longer needed.
94408 2006-07-06  Derek R. Price  <derek@ximbiot.com>
94409         and Paul Eggert  <eggert@cs.ucla.edu>
94411         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
94412         Don't worry about this obsolete case any more.
94413         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
94414         directories.
94415         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
94416         worry about this obsolete case any more.
94417         * lib/fts.c: Likewise.
94418         * lib/getcwd.c: Likewise.
94419         * lib/glob.h: Likewise.
94420         * lib/savedir.c: Likewise.
94422 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
94424         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
94425         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
94426         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
94427         needed.
94428         All uses removed.
94429         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
94430         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
94431         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
94432         needed.
94433         * m4/getdate.m4 (gl_GETDATE): Likewise.
94434         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
94435         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
94436         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
94437         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
94438         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
94439         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94440         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
94441         needed.
94443 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
94445         * lib/memcasecmp.c: Include <limits.h>.
94446         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
94447         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
94448         Don't assume isdigit succeeds only on '0' through '9'.
94450 2006-07-05  Eric Blake  <ebb9@byu.net>
94452         * modules/getaddrinfo (Depends-on): Add snprintf.
94454 2006-07-05  Eric Blake  <ebb9@byu.net>
94456         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
94457         to avoid 'header present but could not be compiled' on cygwin.
94459 2006-07-05  Eric Blake  <ebb9@byu.net>
94461         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
94462         missing from netdb.h.
94463         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
94465 2006-07-05  Derek R. Price  <derek@ximbiot.com>
94467         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
94468         no longer needed.
94469         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
94470         * m4/getdate.m4 (gl_GETDATE): Likewise.
94471         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
94472         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
94473         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
94474         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
94475         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
94477 2006-07-05  Derek R. Price  <derek@ximbiot.com>
94479         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
94480         All uses of is_space replaced by isspace.
94481         * lib/exit.h: Don't talk about STDC_HEADERS.
94482         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
94483         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
94484         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
94485         replaced by isprint etc.
94486         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
94487         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
94488         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
94489         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
94490         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
94491         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
94493 2006-07-05  Bruno Haible  <bruno@clisp.org>
94495         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
94496         the function exists, before testing against AIX.
94497         Reported by Martin Lambers <marlam@marlam.de>.
94499 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
94501         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
94502         From Mark D. Baushke.
94504 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
94506         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
94507         to the absolute name, not just one, to bypass Sun C 5.8's
94508         "warning: #include of /usr/include/... may be non-portable".
94510 2006-07-04  Eric Blake  <ebb9@byu.net>
94512         * modules/dirname-tests: New test module.
94513         * tests/test-dirname.c: New file, replacing dirname.c
94514         TEST_DIRNAME section that was recently deleted.
94516 2006-07-04  Bruno Haible  <bruno@clisp.org>
94518         Assume ANSI C header files and <ctype.h> functions.
94519         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
94520         (mbsnwidth): Use isprint, iscntrl instead.
94522 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94524         Merge from coreutils.
94525         * MODULES.html.sh: Add xstrtold.
94526         * modules/xstrtold: New file.
94527         * modules/cycle-check (Files): Add lib/same-inode.h.
94528         * modules/dirname (Files): Add m4/double-slash-root.m4.
94529         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
94530         * modules/mkdir-p (Files): Add lib/same-inode.h.
94531         * modules/same (Files): Add lib/same-inode.h.
94533 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94535         * m4/absolute-header.m4: Renamed from full-header-path.m4.
94536         This is to keep the terminology clean; POSIX talks about
94537         "absolute pathnames", not "full pathnames", but the GNU
94538         Coding Standards say to use "path" for something else;
94539         so use "absolute" to keep both sides happy.
94540         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
94541         Set gl_absolute_header, not gl_full_header_path.
94542         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
94543         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
94544         All uses changed.
94546         Merge from coreutils.
94548         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
94550         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
94551         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
94552         want to require the building of c-strtod.o.
94553         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
94554         needs -lm directly.
94555         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
94557         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
94559         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
94560         --as-needed option if available.  Problem reported by Albert Chin in
94561         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
94562         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
94563         cc merely issues a bunch of annoying warnings for --as-needed
94564         (this problem was reported by Bob Proulx).  Also, try linking with
94565         -lm to detect a bug in binutils 2.16 (this problem was reported
94566         by Ralf Wildenhues).
94568         2006-06-18  Jim Meyering  <jim@meyering.net>
94570         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
94571         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
94572         macro.
94573         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
94574         also check for glibc-2.4's abort-inducing bug.
94576         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
94577         Low-probability clean-up should be to use rmdir to get rid of
94578         the just-created directory, not unlink.
94580         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
94581         configure fail, and request a bug report to inform us about it.
94582         Add a comment that, barring reports to the contrary, in 2007 we'll
94583         assume ftruncate is universally available.
94585         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
94587         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
94589         2006-03-12  Jim Meyering  <jim@meyering.net>
94591         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
94592         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
94593         * m4/same.m4 (gl_SAME): Likewise.
94594         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
94596         2006-03-11  Eric Blake  <ebb9@byu.net>
94598         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
94599         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
94600         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
94601         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
94603 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
94605         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
94606         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
94607         reported by Mark D. Baushke, one in
94608         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
94610         Merge from coreutils.
94612         * lib/.cppi-disable: Add stdint_.h.
94613         * lib/.cvsignore: Add stdint.h.
94615         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
94617         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
94618         both double and long double versions.
94619         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
94620         * lib/xstrtold.c: New file.
94621         * lib/xstrtod.h (xstrtold): New decl.
94623         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
94625         * lib/filemode.c (setst): Remove.
94626         (strmode): Rewrite to avoid setst.  This makes the code shorter,
94627         (arguably) clearer, and the generated code is a bit smaller on my
94628         Debian GNU/Linux stable x86 host.
94630         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
94632         * lib/filemode.c: Include "filemode.h" first, to test the interface.
94633         Assume that filemode.h includes sys/types.h and sys/stat.h.
94634         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
94635         (ftypelet): Reorder to put common cases first, for efficiency.
94636         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
94637         to do 'M'.
94638         (strmode): Renamed from mode_string, and now stores 12 bytes instead
94639         of 10, for compatibility with FreeBSD.  All callers changed.
94640         (filemodestring): Now stores 12 bytes instead of 10, and sets file
94641         types that can't be deduced solely from st_mode.  First arg is now a
94642         const pointer.
94643         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
94644         (strmode): Renamed from mode_string.
94645         (filemodestring): New decl.
94646         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
94647         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
94648         needed.
94649         (S_ISPORT, S_ISWHT): New macros, if not already defined.
94651         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
94653         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
94654         fsusage.h now does that.  Include fsusage.h first, to test interface.
94655         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
94656         at most one method (the old code could have generated decls that
94657         didn't conform to C89, not that this was ever exercised).
94658         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
94660         2006-03-19  Jim Meyering  <jim@meyering.net>
94662         Work even in a chroot where d_ino values for entries in "/"
94663         don't match the stat.st_ino values for the same names.
94664         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
94665         number, iterate through all entries again, using lstat instead.
94666         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
94667         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
94669         * lib/getcwd.c (__getcwd): Clarify a comment.
94670         Use memcpy in place of a call to strcpy.
94672         2006-03-12  Jim Meyering  <jim@meyering.net>
94674         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
94675         matches that of the current directory (which we're about to chdir ".."
94676         out of), then save the dev-ino of the parent, instead.
94678         * lib/same-inode.h (SAME_INODE): New file/macro.
94679         * lib/chdir-safer.c (SAME_INODE): Remove definition.
94680         Include "same-inode.h", instead.
94681         * lib/same.c: Likewise.
94682         * lib/cycle-check.h: Include "same-inode.h".
94683         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
94684         * lib/cycle-check.c (SAME_INODE): Remove definition.
94685         * lib/root-dev-ino.h: Include "same-inode.h".
94687         2006-03-11  Eric Blake  <ebb9@byu.net>
94689         * lib/same.c (same_name): s/base_name/last_component/
94690         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
94691         * lib/filenamecat.c (file_name_concat): Likewise.
94693         2006-03-11  Eric Blake  <ebb9@byu.net>,
94694                     Paul Eggert  <eggert@cs.ucla.edu>
94696         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
94697         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
94698         drive prefix.
94699         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
94700         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
94701         (last_component): New method.
94702         * lib/dirname.c (dir_len): Determine when drive letters need a
94703         subsequent slash.  Preserve // when it is special.
94704         (dir_name): Don't append dot when drive letter is absolute.
94705         [TEST_DIRNAME]: Move into a full-blown gnulib test.
94706         * lib/basename.c (base_name): New semantics - malloc the result.
94707         Preserve // when it is special.  Preserve relative files that look
94708         like drive letters.
94709         (base_len): Preserve // when it is special.
94710         (last_component): New method, similar to old base_name semantics.
94711         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
94712         base_name.  Strip redundant slashes from ///.
94714 2006-07-03  Jim Meyering  <jim@meyering.net>
94716         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
94717         macro is used before the first cycle_check call.
94719 2006-07-03  Eric Blake  <ebb9@byu.net>
94721         * modules/dirname (Depends-on): Add xstrndup.
94723 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
94725         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
94726         test cases, so that config.log is a bit easier to follow.
94728 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
94730         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
94731         both are 64 bits, since this seems to be the tradition, and this
94732         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
94733         we ever run into a host that prefers long long to long in this
94734         case, we'll need another configure-time test.  Problem reported by
94735         Jim Meyering.
94737 2006-07-02  Eric Blake  <ebb9@byu.net>
94739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
94741 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
94743         * modules/inttypes (Depends-on): No longer depends on stdint.
94744         * modules/stdint (Description): Say more about assumptions.
94745         Say that the fast types might differ.  Say macros are used.
94746         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
94747         (Makefile.am): Revise list of substituted symbols to match
94748         new stdint.m4.
94749         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
94750         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
94751         * tests/test-stdint.c (verify_same_types)
94752         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
94753         the code conforms to C99/C89.
94754         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
94755         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
94757 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
94759         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
94760         but fix a bug, by requiring at least 64 bits.
94761         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
94762         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
94763         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
94764         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94766         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
94767         changes.  Make 2.59 a prerequisite.  Check and substitute for
94768         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
94769         inttypes.h.  Do not use special include files; just use the
94770         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
94771         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
94772         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
94773         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
94774         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
94775         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
94776         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
94777         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
94778         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
94779         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
94780         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
94781         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
94782         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
94783         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
94784         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
94785         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
94786         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
94787         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
94788         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
94789         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
94790         WINT_MAX.  Check for C99 conformance more strictly, by detecting
94791         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
94792         not check for things that C99 does not require, e.g., int8_t.  If
94793         a test isn't needed unless <stdint.h> isn't working, and is
94794         unlikely to be needed for any other reason, then don't do it
94795         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
94796         size_t, since we assume C89 freestanding at least.  Do not check
94797         for sig_atomic_t, wchar_t, or wint_t, since the code now does
94798         the right thing even if the types are not defined.  Instead use:
94799         (gl_STDINT_TYPE_PROPERTIES): New macro.
94800         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
94801         testing whether <sys/types.h> clashes, as Autoconf does this for
94802         us now.  All uses removed.
94803         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
94804         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
94805         (gl_CHECK_TYPE_SAME):
94806         Remove; no longer needed.
94807         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
94808         exists, since we'll return 0 anyway in that case.
94809         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
94811 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
94813         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
94814         possible collision with system files.
94815         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
94816         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
94817         WCHAR_MIN and WCHAR_MAX in this case.
94818         (<stddef.h>): Do not include; no longer needed.
94819         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
94820         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
94821         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
94822         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
94823         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
94824         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
94825         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
94826         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
94827         !defined(__c99))]: Include in this case too, since it's harmless
94828         now.
94829         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
94830         dangerous to do so.
94831         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
94832         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
94833         (_STDINT_MIN, _STDINT_MAX): New macros.
94834         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
94835         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
94836         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
94837         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
94838         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
94839         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
94840         macros, not typedefs; this simplifies things quite a bit.
94841         Use long int for all types narrower than int64_t.
94842         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
94843         Define in terms of long long int or int64_t or long int,
94844         not int64_t or int32_t.  This saves some compile-time testing.
94845         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
94846         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
94847         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
94848         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
94849         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
94850         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
94851         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
94852         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
94853         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
94854         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
94855         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
94856         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
94857         undef any previous version and define our own version, for
94858         simplicity and consistency with the new macros for types.
94859         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
94860         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
94861         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
94862         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
94863         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
94864         @WINT_T_SUFFIX@ to keep things simple here.
94865         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
94866         Simplify by assuming typical 8/16/32/64 host, since we're
94867         already doing that elsewhere anyway.
94868         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
94869         and assume long long int is 64 bits if available.  This
94870         speeds up 'configure'.
94872 2006-07-01  Eric Blake  <ebb9@byu.net>
94874         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
94875         Reported by Andreas Buening.
94877 2006-07-01  Eric Blake  <ebb9@byu.net>
94879         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
94881 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
94883         * lib/getaddrinfo.c: fixed typo
94885 2006-06-29  Jim Meyering  <jim@meyering.net>
94887         * modules/strftime (Maintainer): Add my name, since with the
94888         FPRINTFTIME changes strftime.c has forked from glibc.
94890 2006-06-29  Eric Blake  <ebb9@byu.net>
94892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
94894 2006-06-29  Eric Blake  <ebb9@byu.net>
94896         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
94898 2006-06-29  Eric Blake  <ebb9@byu.net>
94900         * lib/stat_.h: New file.
94902 2006-06-29  Eric Blake  <ebb9@byu.net>
94904         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
94905         unused static function.
94907 2006-06-29  Eric Blake  <ebb9@byu.net>
94909         * doc/functions.texi (Function Portability): Document missing lstat
94910         on mingw.
94912 2006-06-29  Eric Blake  <ebb9@byu.net>
94914         * MODULES.html.sh: Add sys_stat.
94915         * modules/sys_stat: New module.
94916         * modules/mkstemp (Depends-on): Add sys_stat.
94918 2006-06-29  Derek R. Price  <derek@ximbiot.com>
94920         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
94922 2006-06-29  Derek R. Price  <derek@ximbiot.com>
94924         * m4/c-bs-a.m4: Removed.
94926 2006-06-29  Derek R. Price  <derek@ximbiot.com>
94928         * lib/strftime.c: Assume strftime() exists.
94930 2006-06-29  Derek Price  <derek@ximbiot.com>
94932         * modules/c-bs-a: Removed - \a is C89.
94933         * MODULES.html.sh: Remove c-bs-a.
94935 2006-06-29  Bruno Haible  <bruno@clisp.org>
94937         * modules/wcwidth (License): Change to LGPL.
94939 2006-06-28  Simon Josefsson  <jas@extundo.com>
94941         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
94942         on _WIN32.
94944         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
94945         getnameinfo.
94947 2006-06-28  Simon Josefsson  <jas@extundo.com>
94949         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
94951 2006-06-28  Simon Josefsson  <jas@extundo.com>
94953         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
94954         functions there.  It will succeed on Windows XP, but on Windows
94955         2000 and (presumably) earlier, it will fail, and use the internal
94956         re-implementation.
94957         (use_win32_p): New function.
94958         (getaddrinfo): Use strtoul on servname, to support numeric ports.
94959         Support AI_NUMERICSERV to disable getservbyname.
94960         (getnameinfo): New function, only supports
94961         NI_NUMERICHOST|NI_NUMERICSERV for now.
94963         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
94964         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
94965         getnameinfo.
94967 2006-06-28  Eric Blake  <ebb9@byu.net>
94969         * modules/wcwidth: New file.
94970         * modules/mbchar (Depends-on): Add wcwidth.
94971         * modules/mbswidth (Depends-on): Add wcwidth.
94972         * MODULES.html.sh: Add wcwidth.
94974 2006-06-28  Eric Blake  <ebb9@byu.net>
94976         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
94977         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
94979 2006-06-28  Eric Blake  <ebb9@byu.net>
94981         * lib/xvasprintf.h: Fix comments.
94983 2006-06-28  Eric Blake  <ebb9@byu.net>
94985         * lib/mbchar.h (wcwidth): Include wcwidth.h.
94986         * lib/mbswidth.c (wcwidth): Move from here...
94987         * lib/wcwidth.h: ...to this new file.
94989 2006-06-28  Derek R. Price  <derek@ximbiot.com>
94991         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
94993         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
94994         it's obsolete.
94995         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
94997 2006-06-28  Derek R. Price  <derek@ximbiot.com>
94999         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
95000         Autoconf 2.60 says this stuff was obsolete.
95002 2006-06-28  Bruno Haible  <bruno@clisp.org>
95004         * modules/wcwidth (Files): Add m4/wchar_t.m4.
95006 2006-06-28  Bruno Haible  <bruno@clisp.org>
95008         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
95009         gt_TYPE_WCHAR_T.
95011 2006-06-28  Bruno Haible  <bruno@clisp.org>
95013         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
95014         declaration for wcwidth.
95015         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
95017 2006-06-28  Bruno Haible  <bruno@clisp.org>
95019         * lib/mkdtemp.c [MINGW]: Include <io.h>.
95020         (mkdir): Define using _mkdir.
95022 2006-06-28  Bruno Haible  <bruno@clisp.org>
95024         * lib/getaddrinfo.h: Fix POSIX URL.
95025         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
95026         _WIN32.
95027         (use_win32_p): Make static.
95028         (getaddrinfo): Reject service name if it is empty or does not consist
95029         solely of decimal digits, or if its value is > 65535.
95030         (getnameinfo): Remove useless casts.
95032 2006-06-27  Simon Josefsson  <jas@extundo.com>
95034         * modules/sys_select: New file, suggested by Bruno Haible, Paul
95035         Eggert and Martin Lambers.
95037 2006-06-27  Simon Josefsson  <jas@extundo.com>
95039         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
95040         Eggert and Martin Lambers.
95042 2006-06-27  Bruno Haible  <bruno@clisp.org>
95044         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
95045         result to 0, not to empty.
95046         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
95048 2006-06-27  Bruno Haible  <bruno@clisp.org>
95050         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
95052 2006-06-26  Simon Josefsson  <jas@extundo.com>
95054         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
95055         present.
95057 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
95059         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
95060         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
95061         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
95063 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
95065         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
95067 2006-06-26  Bruno Haible  <bruno@clisp.org>
95069         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
95071 2006-06-26  Bruno Haible  <bruno@clisp.org>
95073         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
95075 2006-06-26  Bruno Haible  <bruno@clisp.org>
95077         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
95078         SGI C compiler in pre-C99 mode.
95079         Suggested by Mark D. Baushke and Larry Jones.
95081 2006-06-26  Bruno Haible  <bruno@clisp.org>
95083         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
95084         WCHAR_MAX.
95085         Reported by Mark D. Baushke and Larry Jones.
95087 2006-06-26  Bruno Haible  <bruno@clisp.org>
95089         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
95090         in pre-C99 mode.
95091         Suggested by Mark D. Baushke and Larry Jones.
95093 2006-06-23  Simon Josefsson  <jas@extundo.com>
95094             Bruno Haible  <bruno@clisp.org>
95096         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
95097         Emit mostlyclean-local rule.
95098         (func_emit_tests_Makefile_am): Likewise.
95099         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
95101 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
95103         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
95105 2006-06-23  Bruno Haible  <bruno@clisp.org>
95107         * tests/test-stdint.c: Update to match ISO C 99 Technical
95108         Corrigendum 1.
95110 2006-06-23  Bruno Haible  <bruno@clisp.org>
95112         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
95114 2006-06-23  Bruno Haible  <bruno@clisp.org>
95116         * lib/stdint_.h: Treat IRIX like OpenBSD.
95118 2006-06-23  Bruno Haible  <bruno@clisp.org>
95120         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
95121         ISO C 99 Technical Corrigendum 1.
95123 2006-06-22  Simon Josefsson  <jas@extundo.com>
95125         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
95126         MinGW.
95128 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
95130         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
95131         needed.  Some compiler complained about some of them.  Problem reported
95132         by Larry Jones in
95133         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
95135 2006-06-21  Simon Josefsson  <jas@extundo.com>
95137         * tests/test-getaddrinfo.c: New file.
95139         * modules/getaddrinfo-tests: New file.
95141         * MODULES.html.sh: Add inet_pton.
95143         * modules/inet_pton: New file.
95145 2006-06-21  Simon Josefsson  <jas@extundo.com>
95147         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
95148         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
95149         of using the (limited) gnulib implementation on Windows XP.
95151         * m4/inet_pton.m4: New file.
95153 2006-06-21  Simon Josefsson  <jas@extundo.com>
95155         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
95156         variable.
95158         * lib/socket_.h: Don't define WINVER.
95160         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
95161         slightly modified to work in gnulib.
95163 2006-06-21  Simon Josefsson  <jas@extundo.com>
95165         * doc/gnulib.texi (Windows sockets): Add.
95167 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
95169         * lib/read-file.c (fread_file): Start with buffer allocation of
95170         0 bytes rather than 1 byte; this simplifies the code.
95171         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
95172         code to free buffer and save/restore errno.
95173         (internal_read_file): Remove unused local.
95175 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
95177         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
95178         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
95179         Problem reported by Denis Excoffier in
95180         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
95182 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
95184         * modules/sys_socket, modules/socklen: Include sys/types since
95185         FreeBSD 4.x's sys/socket.h needs it.
95187 2006-06-19  Simon Josefsson  <jas@extundo.com>
95189         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
95191 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
95193         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
95195 2006-06-19  Bruno Haible  <bruno@clisp.org>
95197         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
95198         and FULL_PATH_INTTYPES_H in angle brackets.
95199         Reported by Mark D. Baushke <mdb@gnu.org>.
95201 2006-06-17  Eric Blake  <ebb9@byu.net>
95203         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
95204         errno.
95206 2006-06-17  Bruno Haible  <bruno@clisp.org>
95208         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
95209         <sys/inttypes.h>.
95211 2006-06-17  Bruno Haible  <bruno@clisp.org>
95213         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
95214         whether errno is declared. Assume <errno.h> declares errno.
95216 2006-06-17  Bruno Haible  <bruno@clisp.org>
95218         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
95220 2006-06-17  Bruno Haible  <bruno@clisp.org>
95222         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
95223         problem on Solaris 2.5.1.
95225 2006-06-16  Eric Blake  <ebb9@byu.net>
95227         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
95228         * lib/unicodeio.c [!defined errno]: Likewise.
95229         * lib/strtol.c [!defined errno]: Likewise.
95230         * lib/strtod.c [!defined errno]: Likewise.
95232 2006-06-15  Eric Blake  <ebb9@byu.net>
95234         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
95236 2006-06-15  Eric Blake  <ebb9@byu.net>
95238         * config/srclist.txt (ssize_t.m4): Lose sync.
95240 2006-06-15  Bruno Haible  <bruno@clisp.org>
95242         * modules/stdint (Files): Include m4/full-header-path.m4,
95243         m4/size_max.m4, m4/wchar_t.m4.
95244         (Makefile.am): Many more substitutions.
95245         * modules/stdint-tests: New file.
95246         * tests/test-stdint.c: New file.
95248 2006-06-15  Bruno Haible  <bruno@clisp.org>
95250         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
95251         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
95252         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
95253         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
95254         gl_CHECK_TYPE_SAME): New macros.
95256 2006-06-15  Bruno Haible  <bruno@clisp.org>
95258         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
95260 2006-06-15  Bruno Haible  <bruno@clisp.org>
95262         * lib/stdint_.h: Rewritten to be fully auto-configured.
95263         Fixes bug on HP-UX/IA64.
95265 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
95267         * lib/getdate.y (__attribute__): Don't define if already defined.
95268         Problem reported by Larry Jones.
95269         * lib/utimens.c (__attribute__): Likewise.
95271 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
95273         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
95274         reported by Andreas Schwab.
95276 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95277             Bruno Haible  <bruno@clisp.org>
95279         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
95280         check for the declaration of strnlen and a run test that exposes the
95281         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
95282         rpl_strndup.
95284 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95285             Bruno Haible  <bruno@clisp.org>
95287         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
95289 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95291         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
95292         compile test, for Tru64 4.0D.
95294 2006-05-28  Karl Berry  <karl@gnu.org>
95296         * config/srclist.txt (printf-args.c): lose sync.
95298 2006-05-26  Martin Lambers  <marlam@marlam.de>
95300         * lib/getpass.c: Updates the test for the native W32 API, and adds
95301         missing includes, thus fixing compilation warnings.
95303 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
95305         * lib/exclude.c (exclude_fnmatch): New function.
95306         (excluded_file_name): Call exclude_fnmatch.
95307         * lib/exclude.h (excluded_file_name): New prototype
95309 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
95311         * lib/tempname.c (small_open, large_open): New macros.
95312         (__open, __open64) [!_LIBC]: Remove.
95313         (__gen_tempname): Use small_open and large_open instead of __open
95314         and __open64.  This fixes a portability bug on HP-UX 11.11i
95315         reported by Simon Wing-Tang in
95316         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
95318 2006-05-24  Bruno Haible  <bruno@clisp.org>
95320         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
95321         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
95322         Reported by Thorsten Maerz <torte@netztorte.de> via
95323         Aaron Stone <aaron@serendipity.cx>.
95325 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
95327         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
95328         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
95329         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
95330         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
95331         not really conditional on the cache.
95332         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
95334 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
95336         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
95337         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
95338         (my_usleep): Don't mishandle maximum value.
95340 2006-05-19  Jim Meyering  <jim@meyering.net>
95342         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
95344 2006-05-17  Bruno Haible  <bruno@clisp.org>
95346         Cygwin portability.
95347         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
95349 2006-05-17  Bruno Haible  <bruno@clisp.org>
95351         * lib/stdint_.h: Fix recognition of Cygwin.
95353 2006-05-15  Bruno Haible  <bruno@clisp.org>
95355         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
95356         on libtool patch by Ralf Wildenhues.
95358 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
95360         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
95361         test for C99 conformance; (bool) 0.5 is an integer constant
95362         expression, but (bool) -0.5 is not.  Problem reported by Fedor
95363         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
95365 2006-05-11  Simon Josefsson  <jas@extundo.com>
95367         * m4/xvasprintf.m4: Fix obvious typo.
95369 2006-05-11  Jim Meyering  <jim@meyering.net>
95371         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
95372         James Lemley.
95374 2006-05-10  Simon Josefsson  <jas@extundo.com>
95376         * lib/md4.c: Typo fix, update copyright years.
95377         (K1, K2): Don't use L because it turn computations into 64-bit on
95378         64-bit platforms.
95380 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
95382         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
95383         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
95384         unwanted sign propagation, e.g., on hosts with 64-bit int.
95385         There still are some problems with reeelly weird theoretical hosts
95386         (e.g., 33-bit int) but it's not worth worrying about now.
95387         * lib/sha1.c (rol): Likewise.
95388         (K1, K2, K3, K4): Remove unnecessary L suffix.
95390 2006-05-10  Bruno Haible  <bruno@clisp.org>
95392         * lib/des.c: Cast to avoid warnings.
95394 2006-05-09  Bruno Haible  <bruno@clisp.org>
95396         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
95397         (Depends-on): Depend also on xsize, stdarg.
95398         (configure.ac): Add gl_XVASPRINTF.
95400 2006-05-09  Bruno Haible  <bruno@clisp.org>
95402         * m4/xvasprintf.m4: New file.
95404 2006-05-09  Bruno Haible  <bruno@clisp.org>
95406         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
95407         (EOVERFLOW): Define fallback value.
95408         (xstrcat): New function.
95409         (xvasprintf): Recognize the special case of a string concatenation.
95411 2006-05-08  Eric Blake  <ebb9@byu.net>
95413         * gnulib-tool (func_version): Base copyright year on CVS date.
95414         (func_emit_copyright_notice): New function.
95415         (func_emit_lib_Makefile_am): Use it.
95416         (func_emit_tests_Makefile_am): Likewise.
95417         (func_import): Likewise.
95419 2006-05-08  Bruno Haible  <bruno@clisp.org>
95421         * modules/stdarg: New file.
95422         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
95424 2006-05-08  Bruno Haible  <bruno@clisp.org>
95426         * m4/stdarg.m4: New file, from GNU gettext.
95428 2006-05-08  Bruno Haible  <bruno@clisp.org>
95430         * config/srclist.txt (build-aux/config.rpath): different from latest
95431         release.
95433 2006-05-08  Bruno Haible  <bruno@clisp.org>
95435         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
95437 2006-05-05  Jim Meyering  <jim@meyering.net>
95439         * m4/warning.m4: New file, derived from bison's file by the same name.
95441 2006-05-03  Bruno Haible  <bruno@clisp.org>
95443         * lib/stdint_.h: Shorter URL.
95444         * lib/inttypes.h: Likewise.
95446 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
95448         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
95450 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
95452         * lib/verify.h: Document the internals better.  Most of this change
95453         was written by Bruno Haible.
95455 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
95457         * doc/verify.texi: New file, partly based on a proposal by
95458         Bruno Haible.
95460 2006-05-02  Bruno Haible  <bruno@clisp.org>
95462         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
95463         test from here...
95464         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
95466 2006-04-29  Bruno Haible  <bruno@clisp.org>
95468         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
95469         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
95471 2006-04-29  Bruno Haible  <bruno@clisp.org>
95473         * gnulib-tool: Make --update option actually work.
95475 2006-04-29  Bruno Haible  <bruno@clisp.org>
95477         * doc/gcd.texi: New file.
95478         * doc/gnulib.texi: Include it.
95480 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
95482         * lib/getdate.y (get_date): When adding relative date, start with the
95483         initial time, not with the result of the first mktime call.
95485 2006-04-25  Bruno Haible  <bruno@clisp.org>
95487         * gnulib-tool (func_import): Output the include directives in three
95488         blocks, sorted separately.
95489         Reported by Ben Pfaff <blp@cs.stanford.edu>.
95491 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
95493         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
95494         to define main with arguments, for C++.  Reported by Eric Blake.
95495         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
95496         Prefer 'int main ()' to 'int main (void)', for C++.
95497         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
95498         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
95499         for 'main', for C99 and C++.
95501 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
95503         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
95504         Don't assume that exit status -1 is valid.
95505         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
95506         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95507         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
95508         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
95509         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
95510         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
95511         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
95512         functions can be used without declaring them, or that you can
95513         exit with status -1.
95514         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
95516 2006-04-24  Karl Berry  <karl@gnu.org>
95518         * config/srclist.txt (longdouble.m4): sync lost.
95520 2006-04-24  Eric Blake  <ebb9@byu.net>
95522         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
95524 2006-04-24  Bruno Haible  <bruno@clisp.org>
95526         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
95527         poll() implementation in AIX.
95528         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95530 2006-04-24  Bruno Haible  <bruno@clisp.org>
95532         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
95533         assigned exactly once.
95535 2006-04-23  Claudio Fontana  <claudio@gnu.org>
95536             Bruno Haible  <bruno@clisp.org>
95538         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
95539         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
95540         for AM_CPPFLAGS.
95542 2006-04-23  Bruno Haible  <bruno@clisp.org>
95544         * modules/copy-file: Depend on unistd.
95545         * modules/execute: Likewise.
95546         * modules/fatal-signal: Likewise.
95547         * modules/findprog: Likewise.
95548         * modules/mkdtemp : Likewise.
95549         * modules/pipe: Likewise.
95550         * modules/wait-process: Likewise.
95552 2006-04-23  Bruno Haible  <bruno@clisp.org>
95554         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
95555         condition was already detected.
95556         Reported by Ben Pfaff <blp@cs.stanford.edu>.
95558 2006-04-23  Bruno Haible  <bruno@clisp.org>
95560         * lib/copy-file.c: Include <unistd.h> unconditionally.
95561         * lib/execute.c: Likewise.
95562         * lib/fatal-signal.c: Likewise.
95563         * lib/findprog.c: Likewise.
95564         * lib/mkdtemp.c: Likewise.
95565         * lib/pipe.h: Likewise.
95566         * lib/pipe.c: Likewise.
95567         * lib/wait-process.h: Likewise.
95569 2006-04-23  Bruno Haible  <bruno@clisp.org>
95571         * gnulib-tool (func_usage): Fix --import description. Document
95572         --update.
95573         (func_import): Create temporary file in a temporary directory, if
95574         --dry-run is specified. Silence errors from 'grep' when there are no
95575         m4 files in $m4dir.
95576         (func_create_testdir): Silence errors from 'grep' when there are no
95577         m4 files in $m4dir.
95578         Reported by Karl Berry <karl@freefriends.org>.
95580 2006-04-20  Bruno Haible  <bruno@clisp.org>
95582         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
95583         one argument, so that the code will be portable to Autoconf 2.60.
95584         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
95585         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
95586         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
95588 2006-04-19  Derek Price  <derek@ximbiot.com>
95589             Eric Blake  <ebb9@byu.net>
95591         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
95592         rather than "/full/path.h".  Update comment to match.  Shorten &
95593         generalize m4_translit call via AS_TR_CPP.
95595 2006-04-19  Derek Price  <derek@ximbiot.com>
95596             Eric Blake  <ebb9@byu.net>
95598         * lib/inttypes.h: Correct grammar in comment.
95600 2006-04-18  Derek Price  <derek@ximbiot.com>
95601             Paul Eggert  <eggert@cs.ucla.edu>
95603         * modules/inttypes: New file.
95604         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
95606 2006-04-18  Derek Price  <derek@ximbiot.com>
95607             Paul Eggert  <eggert@cs.ucla.edu>
95609         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
95610         New files.
95612 2006-04-18  Derek Price  <derek@ximbiot.com>
95613             Paul Eggert  <eggert@cs.ucla.edu>
95615         * lib/inttypes.h: New file.
95616         * lib/strtoimax.c: Assume <inttypes.h>.
95618 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
95620         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
95621         isn't mounted.  Problem reported by Kir Kolyshkin.
95623 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
95625         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
95626         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
95627         Derek R. Price.
95628         * lib/regex.h (RE_DUP_MAX): Update comment to match current
95629         implementation.
95631 2006-04-12  Eric Blake  <ebb9@byu.net>
95633         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
95634         is now done automatically by the corresponding Autoconf macro.
95636 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
95638         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
95639         time_r.h.
95641 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
95643         Merge regex changes from libc, removing some of our
95644         POSIX-conformance changes that were rejected and redoing them in a
95645         less-intrusive way.
95647         * lib/regcomp.c (re_compile_internal, init_dfa):
95648         Length arg is now size_t, not Idx.  All uses changed.
95649         (peek_token): Forward decl now says internal_function.
95650         (__re_error_msgid, __re_error_msgid_idx):
95651         Now static rather than extern with attribute_hidden.
95652         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
95653         For some reason libc prefers K&R style defns for external functions.
95654         (regerror) [!defined _LIBC]: Likewise.
95655         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
95656         (seek_collating_symbol_entry, lookup_collation_sequence_value):
95657         (build_range_exp, build_collating_symbol):
95658         Use K&R-style defn.
95659         (re_compile_fastmap): Use '\0' to memset, not 0.
95660         (utf8_sb_map): Make the calculations more obvious.
95661         (init_dfa, parse_bracket_exp, build_charclass_op):
95662         Call calloc and cast result, as glibc does.
95663         (init_word_char, fetch_token, peek_token, peek_token_bracket):
95664         (build_range_exp, build_collating_symbol):
95665         Now internal functions.
95667         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
95669         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
95670         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
95671         Don't depend on VMS; depend on __VMS instead, for POSIX
95672         namespace cleanness.
95673         (regoff_t): Define to ssize_t, not long int.
95675         Remove the REG_ macros named below.  Instead, make the old names
95676         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
95677         __USE_GNU_REGEX.
95678         (REG_BACKSLASH_ESCAPE_IN_LISTS):
95679         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
95680         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
95681         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
95682         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
95683         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
95684         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
95685         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
95686         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
95687         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
95688         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
95689         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
95690         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
95691         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
95692         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
95693         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
95694         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
95695         (REG_NREGS):
95696         Remove.  All uses replaced by the old RE_* names.
95697         (RE_BACKSLASH_ESCAPE_IN_LISTS):
95698         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
95699         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
95700         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
95701         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
95702         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
95703         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
95704         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
95705         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
95706         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
95707         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
95708         Don't bother having these macros be independent of each others'
95709         values, since they no longer exist in the POSIX name space.
95711         Rename the following member names back to their old names,
95712         unless !__USE_GNU_REGEX.  All uses changed back.
95713         (buffer): Renamed from re_buffer.
95714         (allocated): Renamed from re_allocated.
95715         (used): Renamed from re_used.
95716         (syntax): Renamed from re_syntax.
95717         (fastmap): Renamed from re_fastmap.
95718         (translate): Renamed from re_translate.
95719         (can_be_null): Renamed from re_can_be_null.
95720         (regs_allocated): Renamed from re_regs_allocated.
95721         (fastmap_accurate): Renamed from re_fastmap_accurate.
95722         (no_sub): Renamed from re_no_sub.
95723         (not_bol): Renamed from re_not_bol.
95724         (not_eol): Renamed from re_not_eol.
95725         (newline_anchor): Renamed from re_newline_anchor.
95726         (num_regs): Renamed from rm_num_regs.
95727         (start): Renamed from rm_start.
95728         (end): Renamed from rm_end.
95730         (free_state): Move up a bit.
95732         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
95733         #define to be empty.
95734         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
95735         when that is what is intended.
95736         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
95737         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
95738         (MAX): New macro.
95739         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
95740         All uses changed back to re_malloc, etc.  It's now the caller's
95741         responsibility to check for overflow; all callers changed.
95742         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
95743         (re_x2nrealloc): Remove.
95744         (free_state): Remove decl.
95746         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
95747         (re_set_registers, re_exec):
95748         Use K&R-style defn.
95750         2006-01-31  Roland McGrath  <roland@redhat.com>
95752         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
95753         Reported by Mike Frysinger <vapier@gentoo.org>.
95755         2006-01-15  Andreas Jaeger  <aj@suse.de>
95757         [BZ #1950]
95758         * lib/regex_internal.c (re_string_reconstruct): Adjust for
95759         build_wcs_upper_buffer change.
95760         (build_wcs_upper_buffer): Change return type.
95762         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
95764         * lib/regex_internal.h: Include <stdint.h> if available.
95766         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
95768         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
95770         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
95772         * lib/regcomp.c: Adjust for changed secondary hash function.
95774         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
95776         * lib/regex.h: Pretty printing.
95777         Clean up namespace a bit.
95779         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
95781         * lib/regexec.c (update_cur_sifted_state, check_arrival,
95782         check_arrival_add_next_nodes): Avoid using uninitialized variable.
95784         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
95785                     Ulrich Drepper  <drepper@redhat.com>
95787         [BZ #1302]
95788         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
95789         changed.
95790         (bitset_word_t): Renamed from bitset_word.  All uses changed.
95792         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
95794         [BZ #281]
95795         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
95796         * lib/regcomp.c: Remove unnecessary uses of
95797         unsigned RE_TRANSLATE_TYPE.
95798         * lib/regex_internal.h: Likewise.
95799         * lib/regex_internal.c: Likewise.
95800         * lib/regexec.c: Likewise.
95801         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
95803         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
95805         * lib/regexec.c (find_recover_state): Remove unnecessary
95806         initialization.
95807         (transit_state_bkref): Make DFA a const pointer.
95808         (get_subexp): Likewise.
95809         (check_arrival): Likewise.
95810         (update_cur_sifted_state): Likewise.
95811         (re_search_internal): Likewise.
95812         (prune_impossible_nodes): Likewise.
95813         (acquire_init_state_context): Likewise.
95814         (proceed_next_node): Likewise.
95815         (set_regs): Likewise.
95816         (free_fail_stack_return): Likewise.
95817         (check_arrival_expand_ecl): Mark DFA parameter as const.
95818         (check_arrival_expand_ecl_sub): Likewise.
95819         (check_subexp_limits): Likewise.
95820         (sub_epsilon_src_nodes):  Likewise.
95821         (add_epsilon_src_nodes):  Likewise.
95822         (merge_state_array): Likewise.
95823         (update_regs): Likewise.
95824         (build_trtable): Likewise.
95825         (sift_states_backward): Mark MCTX parameter as const.
95826         (build_sifted_states): Likewise.
95827         (update_cur_sifted_state): Likewise.
95828         (sift_states_mkref): Likewise.
95829         (check_arrival_expand_ecl): Mark eclosure as const.
95830         (check_dst_limits_calc_pos_1): Likewise.
95831         * lib/regex_internal.h (re_match_context_t): Make dfa a const
95832         pointer.
95834         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
95836         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
95837         (transit_state_sb): Likewise.
95838         (transit_state_mb): Likewise.
95839         (sift_states_iter_mb): Likewise.
95840         (check_arrival_add_next_nodes): Likewise.
95841         (check_node_accept_bytes): Change first parameter to pointer-to-const.
95842         [_LIBC] (re_search_2_stub): Use mempcpy.
95844         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
95845         mbrtowc for very simple UTF-8 case.
95847         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
95848         a pointer-to-const.
95849         (re_acquire_state_context): Likewise.
95850         * lib/regex_internal.h: Adjust prototypes.
95852         * lib/regex.c: Prevent using C++ compilers.
95854         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
95855         (re_acquire_state_context): Likewise.
95857 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
95859         * modules/regex (Depends-on): Add ssize_t.
95861 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
95863         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
95864         translation table.
95866 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
95868         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
95870 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
95871             Bruno Haible  <bruno@clisp.org>
95873         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
95874         <sys/types.h> and <inttypes.h>.
95876 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95878         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
95879         `__error_t_defined', so argp.h will not typedef the former.
95881 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
95883         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
95884         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
95885         glibc names.  Even if glibc is changed to conform to POSIX, the
95886         traditional names will be available anyway, since regex depends on
95887         the extensions module.  Also, fix a longstanding typo in the
95888         implementation of Spencer ERE test #75 from grep 2.3.  Problems
95889         reported by Emanuele Giaquinta.  Also, change sense of cached
95890         variable, so that the message makes sense.
95892 2006-03-24  Simon Josefsson  <jas@extundo.com>
95894         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
95895         including some doc fixes.
95896         (base64_encode_alloc): Fix +1 bug on allocation failures.
95898 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95900         * lib/base64.c (base64_encode): Do not read past end of array with
95901         unsanitized input on systems with CHAR_BIT > 8.
95903 2006-03-24  Eric Blake  <ebb9@byu.net>
95905         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
95907 2006-03-22  Karl Berry  <karl@gnu.org>
95909         * config/srclist.txt (*setenv.[ch]): get from coreutils.
95910         * config/srclistvars.sh (COREUTILS): new var.
95912 2006-03-17  Jim Meyering  <jim@meyering.net>
95914         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
95915         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
95917 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
95919         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
95920         no longer needs it.  Instead, check that regoff_t is as least
95921         as wide as ptrdiff_t.
95923         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
95924         so that our regex.h stays compatible with the installed regex.
95925         This is helpful for installers who configure --without-included-regex.
95926         Problem reported by Emanuele Giaquinta.
95928 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
95930         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
95931         Typedef to long int, not to off_, as POSIX will likely change
95932         in that direction.
95934 2006-03-15  Eric Blake  <ebb9@byu.net>
95936         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
95938 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
95940         * lib/argp-help.c (validate_uparams): Fix typo
95941         * lib/argp-parse.c (argp_default_options): Consistently begin help
95942         messages with a lowercase letter.
95944 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
95946         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
95947         overrun buffers and shouldn't be used (much as gets shouldn't be
95948         used).
95949         * lib/time_r.c (asctime_r, ctime_r): Likewise.
95951 2006-03-08  Simon Josefsson  <jas@extundo.com>
95953         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
95954         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95956 2006-03-08  Simon Josefsson  <jas@extundo.com>
95958         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
95959         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95961 2006-03-08  Simon Josefsson  <jas@extundo.com>
95963         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
95964         signal that configure disabled the device.
95966 2006-03-08  Simon Josefsson  <jas@extundo.com>
95968         * build-aux/maint.mk: Fix refresh-po, to handle no translated
95969         languages.
95971 2006-03-07  Simon Josefsson  <jas@extundo.com>
95973         * modules/getopt (Depends-on): Add unistd.
95975         * modules/unistd: New file.
95977 2006-03-07  Simon Josefsson  <jas@extundo.com>
95979         * modules/gc-random: New file.
95981 2006-03-07  Simon Josefsson  <jas@extundo.com>
95983         * m4/unistd_h.m4: New file.
95985 2006-03-07  Simon Josefsson  <jas@extundo.com>
95987         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
95988         test to be side-effect free by storing the result in the cache
95989         variable gl_cv_lib_readline, and moving the assignment of
95990         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
95991         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
95993 2006-03-07  Simon Josefsson  <jas@extundo.com>
95995         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
95996         error on missing devices (the functions will return an error).
95998         * m4/gc.m4: Move random stuff to gc-random.m4
96000 2006-03-07  Simon Josefsson  <jas@extundo.com>
96002         * lib/unistd_.h: New file.
96004 2006-03-07  Simon Josefsson  <jas@extundo.com>
96006         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
96008 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
96010         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
96011         Problem reported by Juan Manuel Guerrero.
96013 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
96015         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
96016         the unistd module.
96017         * lib/getlogin_r.c: Likewise.
96018         * lib/getlogin_r.h: Likewise.
96019         * lib/glob.c: Likewise.
96020         * lib/pagealign_alloc.c: Likewise.
96021         * lib/unistd_.h: Remove; no longer needed.
96023 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
96025         * MODULES.html.sh (Support for systems lacking POSIX:2001):
96026         Add unistd.
96027         * modules/c-stack (Depends-on): Add unistd.
96028         * modules/getlogin_r: Likewise.
96029         * modules/glob: Likewise.
96030         * modules/pagealign_alloc: Likewise.
96031         * modules/unistd (Files): Remove lib/unistd_.h.
96032         (EXTRA_DIST): Remove.
96033         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
96034         need unistd_.h.
96035         (MOSTLYCLEANFILES): Remove unistd.h-t.
96037 2006-03-03  Simon Josefsson  <jas@extundo.com>
96039         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
96041 2006-03-03  Simon Josefsson  <jas@extundo.com>
96043         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
96044         libidn and bison.
96046 2006-03-03  Simon Josefsson  <jas@extundo.com>
96048         * build-aux/maint.mk: Add indent target.
96050 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
96052         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
96053         our replacement poll.h in any case, to avoid a differing
96054         declaration from a system header.  Seen on AIX.
96056 2006-03-01  Simon Josefsson  <jas@extundo.com>
96058         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
96059         <kasal@ucw.cz>.
96061 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
96063         * modules/gettime (Depends-on): Add extensions module.
96064         * modules/nanosleep (Depends-on): Likewise.
96065         * modules/settime (Depends-on): Likewise.
96067 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
96069         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
96070         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
96071         pedantically.
96072         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
96073         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
96075         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
96076         not "==".  Reported by Ralf Wildenhues.
96078 2006-03-01  Karl Berry  <karl@gnu.org>
96080         * doc/Copyright/request-*: new files, synced from gnuorg.
96082 2006-03-01  Karl Berry  <karl@gnu.org>
96084         * config/srclist.txt (Copyright/*): new entries.
96086 2006-02-28  Simon Josefsson  <jas@extundo.com>
96088         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
96090 2006-02-27  Simon Josefsson  <jas@extundo.com>
96092         * lib/base64.h: Indent #define's.  From Jim Meyering
96093         <jim@meyering.net>.
96095 2006-02-27  Jim Meyering  <jim@meyering.net>
96097         Revert the change of 2006-02-24, so these files can continue
96098         to be sync'd from gettext.
96099         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
96100         of `config.h'.
96102 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
96104         * modules/intprops: New file.
96105         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
96106         Add intprops.
96107         * modules/getloadavg (Files): Remove lib/intprops.h.
96108         (Depends-on): Add intprops.
96109         * modules/human: Likewise.
96110         * modules/inttostr: Likewise.
96111         * modules/openat: Likewise.
96112         * modules/sig2str: Likewise.
96113         * modules/userspec: Likewise.
96114         * modules/utimecmp: Likewise.
96115         * modules/xnanosleep: Likewise.
96116         * modules/xstrtol: Likewise.
96118 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
96120         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
96121         * modules/lock-tests (TESTS): Use $(EXEEXT).
96122         * modules/tls-tests: Likewise.
96123         * modules/argp-tests: Likewise.
96124         (check_PROGRAMS): New var, replacing...
96125         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
96127 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96129         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
96130         `config.h'.
96132 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
96134         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
96136 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
96138         Sync from coreutils.
96139         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
96140         gl_CHDIR_SAFER.
96142 2006-02-22  Jim Meyering  <jim@meyering.net>
96144         Sync from coreutils.
96145         * m4/chdir-safer.m4: New file.
96147 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
96149         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
96150         AT_FDCWD exceeds INT_MAX.
96151         * lib/openat.h (AT_FDCWD): Likewise.
96153 2006-02-17  Eric Blake  <address@hidden>
96155         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
96157 2006-02-16  Simon Josefsson  <jas@extundo.com>
96159         * modules/getaddrinfo (Depends-on): Add sys_socket.
96161 2006-02-15  Simon Josefsson  <jas@extundo.com>
96163         * build-aux/maint.mk: Add dsyntax-check rule.
96165 2006-02-15  Eric Blake  <ebb9@byu.net>
96167         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
96168         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
96169         'present but cannot compile' warnings on cygwin.
96170         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
96171         use ws2tcpip.h if sys/socket.h works.
96172         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
96173         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
96175 2006-02-14  Simon Josefsson  <jas@extundo.com>
96177         * modules/maintainer-makefile (Files): Rename.
96179         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
96180         and (the local) Makefile.cfg to maint-cfg.mk.
96182         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
96183         to the latter.
96185         * modules/maintainer-makefile: New module.
96187         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
96188         severaly stripped to make it possible to build it up from scratch
96189         with reliable tests.
96191         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
96192         fixes to permit overriding the default actions when configure and
96193         makefile are not available.
96195 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
96197         Sync from coreutils.
96198         * modules/lstat (Depends-on): Don't depend on xalloc.
96199         (License): Change from GPL to LGPL, since this is now simply a
96200         replacement for a libc function.
96202 2006-02-14  Jim Meyering  <jim@meyering.net>
96204         Sync from coreutils.
96206         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
96207         failure on deficient systems, and simplify gnulib lgpl dependencies.
96208         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
96209         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
96211         * lib/xalloc-die.c: Remove unused definition of N_.
96213 2006-02-14  Jim Meyering  <jim@meyering.net>
96215         Sync from coreutils.
96216         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
96217         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
96218         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
96219         double-quote uses of that variable, to accommodate the rare case in
96220         which getmntent is available in none of the libraries checked.  This
96221         happens at least on FreeBSD 5.0.
96223 2006-02-13  Simon Josefsson  <jas@extundo.com>
96225         * gnulib-tool (Usage): Fix --import, from
96226         karl@freefriends.org (Karl Berry).
96228 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
96230         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
96232 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
96234         * lib/argp-namefrob.h: Restore changes accidentally lost during the
96235         "autoupdate" on 2005-12-12.
96237 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
96239         * modules/closeout (Depends-on): Remove atexit.
96241 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
96243         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
96244         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
96246 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
96248         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
96249         __EXTENSIONS__ if this causes compilation to fail.  Problem
96250         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
96251         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
96253 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
96255         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
96256         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
96257         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
96258         All uses changed.
96260 2006-01-26  Simon Josefsson  <jas@extundo.com>
96262         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
96263         prototype is visible on mingw32.
96265         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
96266         for mingw32.
96268         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
96269         mingw32).
96271 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
96273         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
96274         attempt to open for write; this always fails, at least on POSIX
96275         hosts.  This reinstates the 2006-01-09 change, which was
96276         inadvertently removed.
96278 2006-01-26  Bruno Haible  <bruno@clisp.org>
96280         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
96281         Reported by Paul Eggert.
96283 2006-01-26  Bruno Haible  <bruno@clisp.org>
96284             Paul Eggert  <eggert@cs.ucla.edu>
96286         * lib/stdbool_.h (_Bool)
96287         [(! (defined __cplusplus || defined __BEOS__)
96288           && !defined __GNUC__
96289           && !(defined __HP_cc || defined __xlc__
96290                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
96291                || defined __sgi))]:
96292         #define to signed char in these cases too; this simplifies
96293         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
96294         etc., separately) and makes it more conservative.
96296 2006-01-25  Simon Josefsson  <jas@extundo.com>
96298         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
96299         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
96300         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
96302 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
96304         * lib/argp-namefrob.h: Bugfix. Remove stray #
96306 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
96308         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
96309         so that we test the test.
96310         Check for yet another HP-UX cc bug involving *bool |= bool.
96312 2006-01-25  Karl Berry  <karl@gnu.org>
96314         * config/srclist.txt (vasnprintf.c): sync lost.
96316 2006-01-25  Jim Meyering  <jim@meyering.net>
96318         Sync from the stable (b5) branch of coreutils:
96320         * lib/fts.c (fts_children): Don't let close() clobber errno from
96321         failed fchdir().
96323         * lib/fts.c (fts_stat): When following a symlink-to-directory,
96324         don't necessarily interpret stat-fails+lstat-succeeds as indicating
96325         a dangling symlink.  That can also happen at least for ELOOP.
96326         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
96327         FYI, this bug predates the inclusion of fts.c in coreutils.
96329         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
96330         in their own block, so pre-c99 compilers don't object.
96332         Avoid the double-free (first in fts_read, second in fts_close) that
96333         would occur when an `active' directory is made inaccessible (e.g.,
96334         via chmod a-x) during a traversal.
96335         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
96336         before returning.  Reproduce this failure by
96337         mkdir -p a/b; cd a; chmod a-x . b
96338         Reported by Stavros Passas.
96340 2006-01-25  Jim Meyering  <jim@meyering.net>
96342         * lib/fileblocks.c: Remove more useless parentheses.
96343         * lib/readutmp.h: Likewise.
96345 2006-01-25  Bruno Haible  <bruno@clisp.org>
96347         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
96348         warnings.
96349         Reported by Paul Eggert.
96351 2006-01-25  Bruno Haible  <bruno@clisp.org>
96353         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
96354         rid of a trap command. For Solaris sh.
96355         Reported by Mark D. Baushke <mdb@gnu.org>.
96357 2006-01-24  Simon Josefsson  <jas@extundo.com>
96359         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
96360         Bruno.
96362 2006-01-24  Karl Berry  <karl@gnu.org>
96364         * config/srclist.txt (argp-namefrob.h): sync lost.
96366 2006-01-24  Jim Meyering  <jim@meyering.net>
96368         * modules/openat (Files): Add lib/intprops.h.
96369         From Mark D. Baushke.
96371 2006-01-24  Jim Meyering  <jim@meyering.net>
96373         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
96374         Reported by Mark D. Baushke.
96376 2006-01-24  Jim Meyering  <jim@meyering.net>
96378         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
96380 2006-01-24  Bruno Haible  <bruno@clisp.org>
96382         * modules/strnlen (Maintainer): Change from glibc to all.
96384 2006-01-24  Bruno Haible  <bruno@clisp.org>
96386         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
96387         Patch by Paul Eggert.
96389 2006-01-24  Bruno Haible  <bruno@clisp.org>
96391         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
96392         already has it.
96393         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
96394         2005-11-26.
96396         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
96397         'signed char' to avoid problems with the built-in _Bool type.
96398         Reported by Paul Eggert on 2005-11-26.
96400 2006-01-24  Bruno Haible  <bruno@clisp.org>
96402         * gnulib-tool (func_import): Avoid constructing complicated sed
96403         expressions inside backquote.
96404         Report and solution by Mark D. Baushke <mdb@gnu.org>.
96406 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
96408         These changes imported from libc.
96409         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
96410         test and two separate function calls.
96411         * lib/strndup.c (__strndup): Add libc_hidden_def.
96413 2006-01-23  Simon Josefsson  <jas@extundo.com>
96415         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
96416         Remove the test_*_SOURCES variable: automake infers it by default.
96417         * modules/tls-tests: Likewise.
96419 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
96421         Work around porting bugs reported by Dieter in
96422         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
96423         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
96424         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
96425         Include "getopt.h" first, to check interface.
96426         (getenv): Declare only if defined HAVE_DECL_GETENV &&
96427         !HAVE_DECL_GETENV.
96428         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
96429         (__strndup): Revert to K&R-style function dfns, the glibc style.
96430         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
96431         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
96432         Include strnlen.h first, to get prototype properly.
96433         (strnlen): Renamed from __strnlen.
96434         Remove weak alias.
96436 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
96438         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
96440 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
96442         * config/srclist.txt: Adjust to reflect glibc reorganization.
96443         This affects only comments.
96445 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
96447          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
96448          Reported by Bruce Korb <bkorb@gnu.org>.
96450 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
96452         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
96453         to pacify gcc -Wswitch-default.
96455 2006-01-22  Bruno Haible  <bruno@clisp.org>
96457         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
96458         temporary buffer for sprintf, take into account the precision also
96459         for 'd', 'i', 'u', 'o', 'x', 'X'.
96461 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
96463         * modules/argp-tests: New module
96464         * tests/test-argp.c: New file
96465         * tests/test-argp-2.sh: New file
96467 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
96469         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
96470         (__argp_base_name): Removed
96471         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
96472         typo.
96473         (__argp_base_name): Provide macro definition or extern declaration
96474         depending on the configuration
96476 2006-01-20  Simon Josefsson  <jas@extundo.com>
96478         * modules/inet_ntop (Depends-on): Depend on sys_socket.
96480 2006-01-20  Simon Josefsson  <jas@extundo.com>
96482         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
96484 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
96486         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
96487         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
96488         Suggested by Bruno Haible.
96490 2006-01-20  Karl Berry  <karl@gnu.org>
96492         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
96493         until changes propagate, I guess.
96495 2006-01-19  Simon Josefsson  <jas@extundo.com>
96497         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
96499 2006-01-19  Simon Josefsson  <jas@extundo.com>
96501         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
96503 2006-01-19  Simon Josefsson  <jas@extundo.com>
96505         * gnulib-tool: Set check_PROGRAMS.
96507         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
96508         modules/des-tests, modules/gc-arcfour-tests,
96509         modules/gc-arctwo-tests, modules/gc-des-tests,
96510         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
96511         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
96512         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
96513         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
96514         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
96515         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
96516         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
96517         test_*_SOURCES.
96519 2006-01-18  Simon Josefsson  <jas@extundo.com>
96521         * modules/socklen (Depends-on): Depend on sys_socket.
96523 2006-01-18  Simon Josefsson  <jas@extundo.com>
96525         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
96526         modules/des-tests, modules/gc-arcfour-tests,
96527         modules/gc-arctwo-tests, modules/gc-des-tests,
96528         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
96529         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
96530         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
96531         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
96532         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
96533         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
96534         $(EXEEXT) to automake TESTS variable, for mingw32.
96536 2006-01-17  Simon Josefsson  <jas@extundo.com>
96538         * modules/socklen (Include): Need sys/socket.h.
96540 2006-01-17  Bruno Haible  <bruno@clisp.org>
96542         * modules/ssize_t (Include): Add <sys/types.h>.
96544 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
96546         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
96547         it's not portable and it doesn't work with cross-compiles.
96548         Problem reported by Bruno Haible.  Fix missing-$ typo in
96549         'test "gl_cv_ignore_unused_libraries" ...' that prevented
96550         -zignore from being used with Sun's C compiler.
96552 2006-01-12  Simon Josefsson  <jas@extundo.com>
96554         * lib/base64.c: Fix warning, reported by Bruno Haible
96555         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
96557 2006-01-12  Bruno Haible  <bruno@clisp.org>
96559         * modules/ldd: New file.
96560         * build-aux/ldd.sh.in: New file.
96561         * MODULES.html.sh (Support for building libraries and executables): Add
96562         ldd.
96564 2006-01-12  Bruno Haible  <bruno@clisp.org>
96566         * m4/ldd.m4: New file.
96568 2006-01-12  Bruno Haible  <bruno@clisp.org>
96570         * gnulib-tool (func_import, func_create_testdir): Don't go into an
96571         endless loop while replacing $auxdir with build-aux.
96573 2006-01-11  Simon Josefsson  <jas@extundo.com>
96575         * lib/stdint_.h (SIZE_MAX): Add missing (.
96577 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
96579         Sync from coreutils.
96580         * lib/md5.c: Fix commentary typos.
96581         (alignof, UNALIGNED_P): No need for a GCC-specific version.
96582         * lib/md5.h (__attribute__): Remove; unused.
96583         * lib/sha1.c: Fix commentary to match md5 better.
96584         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
96585         so that we don't need to worry about alignment.  All uses changed.
96586         This merges the 2005-10-28 md5 change into sha1.
96588 2006-01-11  Jim Meyering  <jim@meyering.net>
96590         Sync from coreutils.
96591         * lib/md5.c (OP): Fix spacing.
96593 2006-01-11  Bruno Haible  <bruno@clisp.org>
96595         Ensure automatic ordering between gl_LOCK and gl_ARGP.
96596         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
96597         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
96599 2006-01-11  Bruno Haible  <bruno@clisp.org>
96601         Ensure automatic ordering between gl_LOCK and gl_ARGP.
96602         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
96603         the "early" section as well.
96605 2006-01-11  Bruno Haible  <bruno@clisp.org>
96607         Avoid "ar: no archive members specified" error on MacOS X.
96608         * gnulib-tool (func_modules_add_dummy): New function.
96609         (func_import, func_create_testdir): Invoke it.
96611 2006-01-11  Bruno Haible  <bruno@clisp.org>
96613         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
96614         with $auxdir in AC_CONFIG_FILES statements.
96616 2006-01-11  Bruno Haible  <bruno@clisp.org>
96618         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
96619         Initialize also noinst_HEADERS to empty.
96621 2006-01-11  Bruno Haible  <bruno@clisp.org>
96623         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
96624         variables.
96625         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
96626         autoreconf.
96628 2006-01-11  Bruno Haible  <bruno@clisp.org>
96630         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
96631         overridable by the user.
96632         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96634 2006-01-10  Simon Josefsson  <jas@extundo.com>
96636         * modules/sys_socket: New file.
96638 2006-01-10  Simon Josefsson  <jas@extundo.com>
96640         * m4/sys_socket_h.m4: New file.
96642 2006-01-10  Simon Josefsson  <jas@extundo.com>
96644         * lib/socket_.h: New file.
96646 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
96648         * modules/readutmp (Maintainer): Add myself.
96650 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
96652         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
96653         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
96654         People who are still concerned with buggy memcmp implementations
96655         can invoke gl_FUNC_MEMCMP themselves.
96657 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
96659         * lib/regex_internal.h (BITSET_WORD_BITS):
96660         Work around a bug in 64-bit PGC (before version 6.1-2), where the
96661         preprocessor mishandles large unsigned values as if they were signed.
96662         Problem reported by Claudio Fontana in
96663         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
96665 2006-01-10  Jim Meyering  <jim@meyering.net>
96667         Avoid the double-free (first in fts_read, second in fts_close) that
96668         would occur when an `active' directory is made inaccessible (e.g.,
96669         via chmod a-x) during a traversal.
96670         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
96671         before returning.  Reproduce this failure by
96672         mkdir -p a/b; cd a; chmod a-x . b
96673         Reported by Stavros Passas.
96675         Sync from coreutils.
96676         * lib/sha1.c: Tweak grammar in a comment.
96678 2006-01-10  Jim Meyering  <jim@meyering.net>
96680         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
96681         Patch by Joerg Sonnenberger.
96683 2006-01-10  Bruno Haible  <bruno@clisp.org>
96685         * modules/readutmp: Depend on module free.
96686         * modules/strtok_r: Depend on module restrict.
96688 2006-01-10  Bruno Haible  <bruno@clisp.org>
96690         * modules/gettext (configure.ac): Add an invocation of
96691         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
96693 2006-01-10  Bruno Haible  <bruno@clisp.org>
96695         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
96696         Reported by Werner Lemberg <wl@gnu.org>.
96698 2006-01-10  Bruno Haible  <bruno@clisp.org>
96700         * lib/localcharset.c: Update from GNU gettext.
96702 2006-01-10  Bruno Haible  <bruno@clisp.org>
96704         * lib/argp.h (__const): Remove macro. Use const instead.
96705         * lib/argp-fmtstream.h (__const): Likewise.
96706         * lib/glob_.h (__const): Remove macro.
96707         * lib/glob-libc.h: Use const instead of __const.
96709 2006-01-10  Bruno Haible  <bruno@clisp.org>
96711         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
96712         variable.
96713         Needed to avoid an automake error regarding the 'gettext' module.
96715 2006-01-09  Simon Josefsson  <jas@extundo.com>
96717         * modules/inet_ntop (Depends-on): Add restrict.
96719 2006-01-09  Simon Josefsson  <jas@extundo.com>
96721         * modules/gc-rijndael-tests (License): Put under LGPL.
96723         * modules/gc-des-tests (License): Likewise.
96725         * modules/gc-arcfour-tests (License): Likewise.
96727         * modules/gc-arctwo-tests (License): Likewise.
96729         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
96731         * modules/gc-hmac-sha1-tests (Files): Likewise.
96733         * modules/gc-hmac-md5-tests (License): Likewise.
96735         * modules/gc-sha1-tests (License): Likewise.
96737         * modules/gc-md5-tests (License): Likewise.
96739         * modules/gc-md4-tests (License): Likewise.
96741         * modules/gc-md2-tests (License): Likewise.
96743         * modules/gc-tests (License): Likewise.
96745         * modules/des-tests (License): Likewise.
96747         * modules/md4-tests (License): Likewise.
96749         * modules/md2-tests (License): Likewise.
96751 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
96753         Sync from coreutils:
96755         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
96756         * modules/lib-ignore: New file.
96757         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
96758         chdir-safer.m4, lchmod.m4.
96759         * modules/openat: Add mkdirat.c, openat-priv.h.
96761 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
96763         Sync from coreutils.
96764         * m4/lib-ignore.m4: New file.
96765         * m4/lchmod.m4: New file.
96767 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
96769         Sync from coreutils.
96770         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
96771         for write access: POSIX says that must fail.
96772         * lib/fts.c (diropen): Likewise.
96773         * lib/save-cwd.c (save_cwd): Likewise.
96774         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
96775         well, for minor improvements on hosts that lack O_DIRECTORY.
96776         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
96777         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
96778         Fall back on chown if open failed with EACCES.
96780         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
96781         Report an error at compile-time if only a 1-second nominal clock
96782         resolution is found.
96784         * lib/lchmod.h: New file.
96785         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
96786         (make_dir_parents): Use lchown rather than chown, and
96787         lchmod rather than chmod.
96789         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
96790         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
96791         "proc" reported by n0dalus.
96793         * lib/mountlist.c: Include <limits.h>.
96794         (dev_from_mount_options)
96795         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
96796         New function.  It no longer assumes "dev=" has the System V meaning
96797         on Linux (since it doesn't).  It also parses "dev=" more carefully.
96798         (read_file_system_list)
96799         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
96800         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
96801         dev= in that case.
96803         * lib/posixtm.h (PDS_PRE_2000): New macro.
96804         * lib/posixtm.c (year): Arg is now syntax_bits rather than
96805         allow_century.  All usages changed.  Reject dates outside the range
96806         1969-1999 if PDS_PRE_2000 is used.
96808 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
96810         Sync from coreutils.
96811         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
96812         (Time of day items): Mention the possibility of leap seconds.
96813         Problem reported by Dr. David Alan Gilbert.
96815 2006-01-09  Jim Meyering  <jim@meyering.net>
96817         Sync from coreutils.
96819         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
96821         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
96823         * lib/modechange.c (mode_compile): Reject an invalid mode string
96824         that starts with an octal digit.  From Andreas Gruenbacher.
96826         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
96827         and dup to open_safer and dup_safer, respectively.
96828         (openat_permissive): Fix typo in comment.
96830         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
96831         "gettext.h"; either no longer needed or are guaranteed by openat.h.
96832         (_): Remove; no longer needed.
96833         (openat): Renamed from rpl_openat; no need for rpl_openat
96834         since openat.h renames openat for us.
96835         Replace most of the body with a call to openat_permissive,
96836         to avoid duplicate code.
96837         Port to (probably hypothetical) environments were mode_t is
96838         wider than int.
96839         (openat_permissive): Require mode arg, so that we can check
96840         types better.  Put it just after flags.  Change cwd failure
96841         indicator from pointer-to-bool to pointer-to-errno-value.
96842         All callers changed.
96843         Invoke openat_save_fail and/or openat_restore_fail if
96844         cwd_errno is null, so that openat can call us.
96845         (openat_permissive, fdopendir, fstatat, unlinkat):
96846         Simplify errno handling to avoid some duplicate code,
96847         as it's OK to set errno on success.
96848         * lib/openat.h: Revamp code so that function macros depend on
96849         __OPENAT_PREFIX only, not also on AT_FDCWD.
96850         (openat_ro): Remove.  Caller changed to use openat_permissive.
96851         (openat_permissive): Now a macro, if not a function.
96852         (openat_restore_fail, openat_save_fail): Now always functions,
96853         since mkdirat needs them even if __OPENAT_PREFIX is defined.
96855         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
96856         and openat.c.
96857         * lib/mkdirat.c: Include openat-priv.h.
96858         Remove definitions of macros defined therein.
96859         * lib/openat.c: Likewise.
96861         * lib/mkdirat.c (mkdirat): New file and function.
96862         * lib/openat.h (mkdirat): Declare.
96864         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
96866         * lib/openat.h (openat_permissive): Declare.
96867         (openat_ro): Define.
96869         * lib/openat.c (EXPECTED_ERRNO): New macro.
96870         (openat_permissive): New function -- used in remove.c rewrite.
96871         (all functions): Set errno just before returning, only if there
96872         was an actual failure.
96873         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
96875         Emulate openat-family functions using Linux's procfs, if possible.
96876         Idea and some code based on Ulrich Drepper's glibc changes.
96878         * lib/openat.c: (BUILD_PROC_NAME): New macro.
96879         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
96880         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
96881         before falling back on save_cwd and restore_cwd.
96882         (fdopendir, fstatat, unlinkat): Likewise.
96884         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
96885         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
96887         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
96888         as second argument to va_arg.  Otherwise, some versions of gcc
96889         warn that `if this code is reached, the program will abort'.
96891 2006-01-09  Jim Meyering  <jim@meyering.net>
96893         Sync from coreutils.
96894         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
96895         Require openat-priv.h.
96897 2006-01-09  Bruno Haible  <bruno@clisp.org>
96899         * modules/strnlen (Include): Use strnlen.h.
96901 2006-01-09  Bruno Haible  <bruno@clisp.org>
96903         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
96905 2006-01-09  Bruno Haible  <bruno@clisp.org>
96907         * lib/sysexit_.h (EX_OK): New macro.
96908         Suggested by Martin Lambers <marlam@marlam.de>.
96910 2006-01-09  Bruno Haible  <bruno@clisp.org>
96912         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
96913         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
96915 2006-01-09  Bruno Haible  <bruno@clisp.org>
96917         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
96918         numbers.
96920 2006-01-09  Bruno Haible  <bruno@clisp.org>
96922         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
96923         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
96924         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
96925         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
96927 2006-01-09  Bruno Haible  <bruno@clisp.org>
96929         * build-aux/javacomp.sh.in: New file, moved from lib/.
96930         * modules/javacomp-script (Files): Update.
96931         (configure.ac): Add AC_CONFIG_FILES invocation.
96932         (EXTRA_DIST): Remove variable.
96934         * build-aux/javaexec.sh.in: New file, moved from lib/.
96935         * modules/javaexec (Files): Update.
96936         (configure.ac): Add AC_CONFIG_FILES invocation.
96937         (EXTRA_DIST): Remove javaexec.sh.in.
96939         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
96940         * modules/csharpcomp-script (Files): Update.
96941         (configure.ac): Add AC_CONFIG_FILES invocation.
96942         (EXTRA_DIST): Remove variable.
96944         * build-aux/csharpexec.sh.in: New file, moved from lib/.
96945         * modules/csharpexec (Files): Update.
96946         (configure.ac): Add AC_CONFIG_FILES invocation.
96947         (EXTRA_DIST): Remove csharpexec.sh.in.
96949 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
96951         Sync from coreutils.
96953         Add POSIX ACL support
96954         * lib/acl.h (copy_acl, set_acl): Add declarations.
96955         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
96956         systems other than Linux.
96957         (chmod_or_fchmod): New function: use fchmod when possible,
96958         and chmod otherwise.
96959         (file_has_acl): Add a POSIX ACL implementation, with a
96960         Linux-specific subcase.
96961         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
96962         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
96963         acls are unsupported.
96964         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
96965         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
96966         are unsupported.
96968 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
96970         Sync from coreutils.
96971         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
96973 2006-01-07  Bruno Haible  <bruno@clisp.org>
96975         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
96976         gl_EARLY.
96978 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
96980         * lib/strftime.c (tzname): Don't declare if it is already #defined.
96981         Problem reported for Mingw by Mark Junker.
96983 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
96985         * README: Gnulib normally doesn't generate a tarball.
96987 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
96989         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
96990         long int, not int, for nanosecond counts, so that people who are
96991         used to POSIX struct timespec won't be surprised.  Reported by Jim
96992         Meyering.
96994 2005-12-28  Bruno Haible  <bruno@clisp.org>
96996         * build-aux/config.rpath: Update from GNU gettext.
96998 2005-12-16  Jim Meyering  <jim@meyering.net>
97000         * modules/fprintftime: New module.
97001         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
97003 2005-12-16  Jim Meyering  <jim@meyering.net>
97005         * m4/fprintftime.m4: New file.
97007 2005-12-16  Jim Meyering  <jim@meyering.net>
97009         * lib/fprintftime.c, lib/fprintftime.h: New files.
97011 2005-12-15  Simon Josefsson  <jas@extundo.com>
97013         * modules/socklen (configure.ac): Fix M4 macro name, to align with
97014         new m4/socklen.m4.
97016 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
97018         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
97019         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
97021 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
97023         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
97024         * lib/argp-help.c (fill_in_uparams): Check if the constructed
97025         struct uparams is valid. Fall back to the default values if it is
97026         not.
97028 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
97030         * modules/argp (Files): Add argp-pin.c
97031         (Depends-on): dirname
97032         (lib_SOURCES): Add argp-pin.c
97034 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
97036         * m4/argp.m4:  Check if program_invocation_name and
97037         program_invocation_short_name are declared and define appropriate
97038         macros if they are not.
97040 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
97042         * lib/argp-help.c (__argp_base_name): New function
97043         (__argp_short_program_name): Rewrite using __argp_base_name
97044         * lib/argp-namefrob.h: Define program_invocation_name and
97045         program_invocation_short_name if requested
97046         (__argp_base_name): Add prototype
97047         * lib/argp-parse.c (argp_def): Use gettext wrappers
97048         (argp_default_parser): Use __argp_base_name
97049         * lib/argp-pin.c: New file. Defines program_invocation_name and
97050         program_invocation_short_name on systems that lack them.
97052 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
97054         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
97055         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
97056         porting problem reported by Georg Schwarz in
97057         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
97059 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
97061         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
97062         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
97063         porting problem reported by Georg Schwarz in
97064         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
97066 2005-12-05  Bruno Haible  <bruno@clisp.org>
97068         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
97069         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
97070         Reported by Mark Junker <mjscod@gmx.de>.
97072 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
97074         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
97075         Use implementation from Albert Chin, with some
97076         comments/corrections by Stepan Kasal and myself.
97078 2005-12-02  Bruno Haible  <bruno@clisp.org>
97080         * gnulib-tool (func_import): Accept GPLed build tool modules when
97081         --lgpl is given.
97082         * modules/csharpcomp-script: New file.
97083         * modules/csharpcomp: Depend on it.
97084         * modules/javacomp-script: New file.
97085         * modules/javacomp: Depend on it.
97086         Suggested by Simon Josefsson.
97088 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
97090         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
97091         statement, to work around an HP-UX 10.20 compiler bug reported by
97092         Peter O'Gorman.
97094 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
97096         * modules/savedir (Depends-on): Add openat.
97098 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
97100         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
97101         (uintmax_t) [defined uintmax_t]: Do not declare.
97102         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
97103         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
97104         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
97105         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
97106         sake of portability to weird hosts that C allows (though we don't
97107         know of any practical examples).
97109         * lib/savedir.h (fdsavedir): New decl.
97110         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
97111         contains most of the former guts of savedir.
97112         (savedir): Use savedirstream.
97113         Include "openat.h".
97115 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
97117         * modules/obstack (Files): Add m4/ulonglong.m4.
97118         Problem reported by Davide Angelocola.
97120 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
97122         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
97123         coreutils no longer futzes with rounding modes.
97125 2005-11-14  Jim Meyering  <jim@meyering.net>
97127         * lib/mkstemp-safer.c: Include <config.h>, required for possible
97128         replacement of mkstemp.
97130 2005-11-10  Simon Josefsson  <jas@extundo.com>
97132         * lib/readline.c: Remove EOL.
97134 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
97136         * modules/gethrxtime (Depends-on): Add gettime.
97138 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
97140         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
97141         or gettimeofday; no longer needed.
97143 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
97145         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
97146         time business.
97147         (gethrxtime) [! (HAVE_NANOUPTIME
97148         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
97149         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
97150         our own approximation.
97152 2005-11-08  Eric Blake  <ebb9@byu.net>
97154         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
97156 2005-11-08  Eric Blake  <ebb9@byu.net>
97158         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
97160 2005-11-04  Bruno Haible  <bruno@clisp.org>
97162         * gnulib-tool: Implement --update mode.
97164 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
97166         Fix porting problem reported by Theodoros V. Kalamatianos.
97167         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
97168         Don't assume that futimes failing means we must fail.
97170 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
97172         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
97173         variables to suggest the intended function of the PATH_MAX check.
97175 2005-10-30  Kean Johnston  <jkj@sco.com>
97177         Trivial changes to support SCO systems.
97178         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
97179         as PATH_MAX.
97180         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
97181         where __ptr is null when no I/O is pending.
97183 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
97185         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
97186         leave errno alone.  Problem reported by Dmitry V. Levin.
97188 2005-10-28  Simon Josefsson  <jas@extundo.com>
97190         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
97191         Test more.
97193         * tests/test-gc-md2.c, tests/test-md2.c: New files.
97195         * modules/md2, modules/md2-tests: New files.
97197 2005-10-28  Simon Josefsson  <jas@extundo.com>
97199         * m4/inet_ntop.m4: More tests.
97201         * m4/gc-md2.m4, md2.m4: New file.
97203 2005-10-28  Simon Josefsson  <jas@extundo.com>
97205         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
97206         "restrict" keywords, as per POSIX.  Protect the function
97207         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
97208         Don't use K&R prototypes.  Check the sprintf return values.
97209         Re-define EAFNOSUPPORT if not present.  Indent.
97211         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
97212         suggested by Bruno Haible <bruno@clisp.org>.
97214         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
97216         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
97218         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
97219         libgcrypt).
97221         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
97223         * lib/md2.h, lib/md2.c: New files.
97225 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
97227         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
97228         errno alone.  Problem reported by Frederic Jolliton.
97230 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
97232         * modules/verify (License): Change from GPL to LGPL.  This is a
97233         tiny module and there are apparently near-equivalents that are
97234         under the BSD license.
97236 2005-10-24  Simon Josefsson  <jas@extundo.com>
97238         * modules/sha1: Relicense to LGPL.
97240 2005-10-24  Simon Josefsson  <jas@extundo.com>
97242         * lib/md4.h: Shrink buffer size, now that we changed the type.
97244 2005-10-23  Simon Josefsson  <jas@extundo.com>
97246         * gnulib-tool (func_import): Fix --tests-base.
97248 2005-10-22  Simon Josefsson  <jas@extundo.com>
97250         * modules/arcfour (Depends-on): Need stdint.
97252 2005-10-22  Simon Josefsson  <jas@extundo.com>
97254         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
97255         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
97257 2005-10-22  Simon Josefsson  <jas@extundo.com>
97259         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
97260         suggested by Bruno Haible <bruno@clisp.org>.
97262 2005-10-22  Simon Josefsson  <jas@extundo.com>
97264         * lib/crc.h: Include stddef.h, for size_t.
97266 2005-10-22  Simon Josefsson  <jas@extundo.com>
97268         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
97269         arcfour_context struct (simplify test vector testing in GNU
97270         Shishi).
97272 2005-10-21  Simon Josefsson  <jas@extundo.com>
97274         * modules/des, modules/des-tests: New files.
97276         * modules/gc-des, modules/gc-des-tests: New files.
97278         * tests/test-des.c, tests/test-gc-des.c: New file.
97280 2005-10-21  Simon Josefsson  <jas@extundo.com>
97282         * modules/arctwo, modules/arctwo-tests: New files.
97284         * tests/test-arctwo.c: New file.
97286         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
97288         * tests/test-gc-arctwo.c: New file.
97290 2005-10-21  Simon Josefsson  <jas@extundo.com>
97292         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
97293         Bruno Haible <bruno@clisp.org>.
97295         * m4/gc-des.m4: New file.
97297 2005-10-21  Simon Josefsson  <jas@extundo.com>
97299         * m4/arctwo.m4: New file.
97301         * m4/gc-arctwo.m4: New file.
97303 2005-10-21  Simon Josefsson  <jas@extundo.com>
97305         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
97306         block.
97308 2005-10-21  Simon Josefsson  <jas@extundo.com>
97310         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
97311         <bruno@clisp.org>.
97313         * lib/hmac-sha1.c (hmac_sha1): Likewise.
97315         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
97316         Bruno Haible <bruno@clisp.org>.
97318         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
97319         <bruno@clisp.org>.
97321 2005-10-21  Simon Josefsson  <jas@extundo.com>
97323         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
97325 2005-10-21  Simon Josefsson  <jas@extundo.com>
97327         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
97329 2005-10-21  Simon Josefsson  <jas@extundo.com>
97331         * lib/des.h, lib/des.c: New files.
97333         * lib/gc-gnulib.c: Support DES.c
97335 2005-10-21  Simon Josefsson  <jas@extundo.com>
97337         * lib/arctwo.h, lib/arctwo.c: New files.
97339         * lib/gc-gnulib.c: Support ARCTWO.
97341 2005-10-21  Simon Josefsson  <jas@extundo.com>
97343         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
97344         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
97346 2005-10-21  Simon Josefsson  <jas@extundo.com>
97348         * gnulib-tool (func_import, func_create_testdir): Define automake
97349         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
97350         Makefile.am snippet),
97351         suggested by Bruno Haible <bruno@clisp.org>.
97353         * modules/gc (Makefile.am): Use it.
97355 2005-10-21  Bruno Haible  <bruno@clisp.org>
97357         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
97358         patch.
97360 2005-10-19  Simon Josefsson  <jas@extundo.com>
97362         * tests/test-gc-rijndael.c: New file.
97364         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
97366 2005-10-19  Simon Josefsson  <jas@extundo.com>
97368         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
97369         interface too.
97371 2005-10-19  Simon Josefsson  <jas@extundo.com>
97373         * tests/test-gc-arcfour.c: New file.
97375         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
97377 2005-10-19  Simon Josefsson  <jas@extundo.com>
97379         * modules/gc-md4, modules/gc-md4-tests: New file.
97381         * tests/test-gc-md4.c: New file.
97383 2005-10-19  Simon Josefsson  <jas@extundo.com>
97385         * m4/gc-md4.m4: New file.
97387 2005-10-19  Simon Josefsson  <jas@extundo.com>
97389         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
97390         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
97391         <kasal@ucw.cz>.
97393 2005-10-19  Simon Josefsson  <jas@extundo.com>
97395         * m4/gc-arcfour.m4: New file.
97397         * m4/gc-rijndael.m4: New file.
97399 2005-10-19  Simon Josefsson  <jas@extundo.com>
97401         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
97403 2005-10-19  Simon Josefsson  <jas@extundo.com>
97405         * lib/gc-gnulib.c: Support ARCFOUR.
97407 2005-10-19  Simon Josefsson  <jas@extundo.com>
97409         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
97410         support.
97412         * lib/gc.h: Add ECB enum type.
97414         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
97416 2005-10-18  Simon Josefsson  <jas@extundo.com>
97418         * tests/test-md5.c: New file.
97420         * modules/md5-tests: New file.
97422 2005-10-18  Simon Josefsson  <jas@extundo.com>
97424         * tests/test-md4.c: New file.
97426         * modules/md4, modules/md4-tests: New files.
97428 2005-10-18  Simon Josefsson  <jas@extundo.com>
97430         * m4/md4.m4: New file.
97432 2005-10-18  Simon Josefsson  <jas@extundo.com>
97434         * lib/md4.h, lib/md4.c: New files, based on md5.?.
97436 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
97438         * gnulib-tool (func_create_testdir): Omit the second check whether
97439         BUILT_SOURCES in nonempty.
97441 2005-10-17  Simon Josefsson  <jas@extundo.com>
97443         * tests/test-rijndael.c: New file.
97445 2005-10-17  Simon Josefsson  <jas@extundo.com>
97447         * modules/sha1: Depend on stdint instead of md5.
97449         * modules/md5: Depend on stdint, remove uint32_t.
97451 2005-10-17  Simon Josefsson  <jas@extundo.com>
97453         * modules/gc-sha1-tests: New file.
97455         * tests/test-gc-sha1.c: New file.
97457 2005-10-17  Simon Josefsson  <jas@extundo.com>
97459         * m4/md5.m4: Remove call to uint32_t.m4.
97461 2005-10-17  Simon Josefsson  <jas@extundo.com>
97463         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
97465         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
97466         md5.h.
97468         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
97470         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
97472 2005-10-17  Simon Josefsson  <jas@extundo.com>
97474         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
97476 2005-10-17  Simon Josefsson  <jas@extundo.com>
97478         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
97480 2005-10-17  Simon Josefsson  <jas@extundo.com>
97482         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
97484         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
97486 2005-10-17  Bruno Haible  <bruno@clisp.org>
97488         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
97489         that it can also be used in a test.
97491 2005-10-16  Bruno Haible  <bruno@clisp.org>
97493         * gnulib-tool (func_emit_tests_Makefile_am): Also define
97494         TESTS_ENVIRONMENT, so that individual tests can augment it.
97496         * gnulib-tool (func_create_testdir): Use an intermediate target for
97497         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
97498         macros, like $(ALLOCA_H), which cannot be passed through the command
97499         line.
97501 2005-10-15  Simon Josefsson  <jas@extundo.com>
97503         * modules/rijndael-tests: New file.
97505         * modules/rijndael: New file.
97507 2005-10-15  Simon Josefsson  <jas@extundo.com>
97509         * m4/rijndael.m4: New file.
97511 2005-10-15  Simon Josefsson  <jas@extundo.com>
97513         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
97515         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
97517 2005-10-14  Simon Josefsson  <jas@extundo.com>
97519         * tests/test-arcfour.c: New file.
97521         * modules/arcfour, modules/arcfour-tests: New files.
97523 2005-10-14  Simon Josefsson  <jas@extundo.com>
97525         * m4/arcfour.m4: New file.
97527 2005-10-14  Simon Josefsson  <jas@extundo.com>
97529         * lib/arcfour.h, lib/arcfour.c: New files.
97531 2005-10-14  Roland McGrath  <roland@redhat.com>
97533         Import from libc.  [BZ #1331]
97534         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
97535         macro argument.
97536         Reported by Matej Vela <vela@debian.org>.
97538 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
97540         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
97541         include <wchar.h>; no longer needed.
97543 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
97545         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
97547 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
97548         and  Ulrich Drepper  <drepper@redhat.com>
97550         Import from libc.
97551         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
97552         instead of inline stream orientation test and two separate
97553         function calls.  Pay no attention to USE_IN_LIBIO.
97555 2005-10-13  Simon Josefsson  <jas@extundo.com>
97557         * modules/gc-hmac-md5-tests: New file.
97559         * tests/test-gc-hmac-sha1.c: New file.
97561         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
97563         * modules/gc-hmac-md5-tests: New file.
97565         * tests/test-gc-md5.c: New file.
97567         * modules/gc-md5-tests: New file.
97569 2005-10-13  Simon Josefsson  <jas@extundo.com>
97571         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
97572         Move memory allocation outside of loop.
97574 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
97576         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
97577         intermediate directory is in a read-only file system.  Problem
97578         reported by Eric Blake.
97580 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
97582         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
97584 2005-10-12  Simon Josefsson  <jas@extundo.com>
97586         * tests/test-hmac-sha1.c: New file.
97588         * modules/hmac-sha1-tests: New file.
97590         * modules/hmac-sha1: New file.
97592 2005-10-12  Simon Josefsson  <jas@extundo.com>
97594         * modules/gc-sha1: New file.
97596 2005-10-12  Simon Josefsson  <jas@extundo.com>
97598         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
97600         * tests/test-gc-pbkdf2-sha1.c: New file.
97602 2005-10-12  Simon Josefsson  <jas@extundo.com>
97604         * modules/gc-md5, modules/gc-hmac-md5: New files.
97606         * modules/gc (Files): Remove md5, memxor and hmac files.
97608 2005-10-12  Simon Josefsson  <jas@extundo.com>
97610         * m4/gc-pbkdf2-sha1.m4: New file.
97612         * m4/gc-hmac-sha1.m4: New file.
97614         * m4/gc-sha1: New file.
97616         * m4/hmac-sha1.m4: New file.
97618 2005-10-12  Simon Josefsson  <jas@extundo.com>
97620         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
97622         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
97624 2005-10-12  Simon Josefsson  <jas@extundo.com>
97626         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
97627         suggested by Bruno Haible <bruno@clisp.org>.
97629 2005-10-12  Simon Josefsson  <jas@extundo.com>
97631         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
97633 2005-10-12  Simon Josefsson  <jas@extundo.com>
97635         * lib/gc-pbkdf2-sha1.c: New file.
97637         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
97639 2005-10-12  Simon Josefsson  <jas@extundo.com>
97641         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
97643         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
97645 2005-10-12  Simon Josefsson  <jas@extundo.com>
97647         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
97648         GC_USE_HMAC_MD5, respectively.
97650         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
97651         (gc_md5): Fix typo.
97653         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
97655         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
97657         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
97659 2005-10-12  Bruno Haible  <bruno@clisp.org>
97661         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
97662         Reported by Stepan Kasal <kasal@ucw.cz>.
97664 2005-10-11  Simon Josefsson  <jas@extundo.com>
97666         * tests/test-crc.c: New file.
97668         * modules/crc, modules/crc-tests: New files.
97670 2005-10-11  Simon Josefsson  <jas@extundo.com>
97672         * m4/crc.m4: New file.
97674 2005-10-11  Simon Josefsson  <jas@extundo.com>
97676         * lib/gc.h: Add gc_hash and gc_hash_buffer.
97678         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
97680         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
97682 2005-10-11  Simon Josefsson  <jas@extundo.com>
97684         * lib/crc.h, lib/crc.c: New files.
97686         * lib/gc.h (gc_hash_buffer): Add doc.
97688 2005-10-11  Bruno Haible  <bruno@clisp.org>
97690         * modules/c-strcasestr: New file.
97691         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
97693 2005-10-11  Bruno Haible  <bruno@clisp.org>
97695         * modules/c-strcase: New file.
97696         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
97698 2005-10-11  Bruno Haible  <bruno@clisp.org>
97700         * lib/strcasecmp.c: Include limits.h.
97701         (strcasecmp): Avoid integer overflow on exotic platforms.
97702         * lib/strncasecmp.c: Include limits.h.
97703         (strncasecmp): Avoid integer overflow on exotic platforms.
97704         Reported by Paul Eggert.
97706 2005-10-11  Bruno Haible  <bruno@clisp.org>
97708         * lib/c-strcasestr.h: New file, from GNU gettext.
97709         * lib/c-strcasestr.c: New file, from GNU gettext.
97711 2005-10-11  Bruno Haible  <bruno@clisp.org>
97713         * lib/c-strcase.h: New file, from GNU gettext.
97714         * lib/c-strcasecmp.c: New file, from GNU gettext.
97715         * lib/c-strncasecmp.c: New file, from GNU gettext.
97717 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
97719         * modules/mempcpy (License): GPL -> LGPL.
97720         * modules/strchrnul (License): Likewise.
97721         * modules/sysexits (License): Likewise.
97723 2005-10-08  Simon Josefsson  <jas@extundo.com>
97725         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
97727 2005-10-07  Simon Josefsson  <jas@extundo.com>
97729         * m4/memxor.m4: Remove gl_C_RESTRICT call.
97731 2005-10-06  Simon Josefsson  <jas@extundo.com>
97733         * tests/test-hmac-md5.c: New file.
97735         * modules/hmac-md5-tests: New file.
97737         * modules/hmac-md5: New file.
97739 2005-10-06  Simon Josefsson  <jas@extundo.com>
97741         * m4/hmac-md5.m4: New file.
97743         * m4/memxor.m4: Require gl_C_RESTRICT.
97745 2005-10-06  Simon Josefsson  <jas@extundo.com>
97747         * lib/memxor.c (memxor): Avoid casts and warnings.
97749 2005-10-06  Simon Josefsson  <jas@extundo.com>
97751         * lib/hmac-md5.c: New file.
97753         * lib/hmac.h: New file.
97755 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
97757         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
97758         promotes to int, not unsigned int, to catch the AIX 5.3
97759         compiler bug.
97761 2005-10-05  Simon Josefsson  <jas@extundo.com>
97763         * modules/memxor: New file.
97765         * modules/iconv (Files): Move config.rpath to havelib, it is used
97766         there.
97768         * modules/havelib (Files): Add config.rpath.
97770 2005-10-05  Simon Josefsson  <jas@extundo.com>
97772         * m4/memxor.m4: New file.
97774 2005-10-05  Simon Josefsson  <jas@extundo.com>
97776         * lib/memxor.c (memxor): Fix compiler error.
97778         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
97779         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
97781         * lib/memxor.h, lib/memxor.c: New files.
97783         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
97784         we assume all systems have it, suggested by Jim Meyering
97785         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
97786         any systems lack sys/socket.h; mingw32 is known to lack it, but we
97787         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
97788         same reasons.
97790 2005-10-05  Simon Josefsson  <jas@extundo.com>
97792         * config/srclist.txt: Add glibc bug 1423 for md5.h.
97794 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
97796         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
97797         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
97798         needed, since the source code now assumes these .h files.
97800 2005-10-05  Derek Price  <derek@ximbiot.com>
97802         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
97804 2005-10-05  Bruno Haible  <bruno@clisp.org>
97806         * modules/stdint (License): Change to LGPL.
97808 2005-10-04  Simon Josefsson  <jas@extundo.com>
97810         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
97811         D. Baushke" <mdb@gnu.org>.
97813 2005-10-04  Bruno Haible  <bruno@clisp.org>
97815         * lib/verify.h (verify_true): Provide alternative definition for C++.
97817 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
97819         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
97820         (SSIZE_MAX): New macro, if not already defined.
97821         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
97822         than 2 GiB.
97824 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
97826         Sync from coreutils.
97827         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
97828         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
97829         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
97830         ULLONG_MAX doesn't work with 2.7.2.1.
97832 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
97834         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
97835         From Ben Pfaff.
97837         * modules/exclude (Depends-on): Depend on verify.
97838         * modules/strtoimax (Depends-on): Likewise.
97839         * modules/utimecmp (Depends-on): Likewise.
97841 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
97843         * lib/exclude.c: Include verify.h.
97844         (verify): Remove.  All callers changed to use verify.h's version.
97845         * lib/strtoimax.c: Likewise.
97846         * lib/utimecmp.c: Likewis.e
97848         Sync from coreutils.
97849         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
97850         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
97851         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
97852         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
97853         bother returning ENOSYS if settimeofday or stime fails; just let
97854         them return whatever errno they want to return.
97855         * lib/utimens.c: Include unistd.h, for dup2.
97856         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
97857         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
97859 2005-10-02  Jim Meyering  <jim@meyering.net>
97861         Sync from coreutils.
97862         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
97863         from glibc-2.2.5 that fails for read-only files.
97865 2005-10-02  Jim Meyering  <jim@meyering.net>
97867         Sync from coreutils.
97868         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
97869         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
97870         `#if HAVE_CONFIG_H'.
97871         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
97872         Remove AT_FDCWD test.
97873         Do not consume the fd unless successful.
97874         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
97875         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
97876         block, so that we don't even try to compile it if settimeofday is
97877         available.  This works around a compilation failure on OSF1 V5.1,
97878         due to stime requiring a `long int*' while tv_sec is `int'.
97880 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
97882         Sync from coreutils.
97883         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
97884         against `yes', rather than just testing for nonempty.
97886 2005-10-01  Simon Josefsson  <jas@extundo.com>
97888         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
97889         and Darwin.
97891         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
97892         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
97893         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
97894         freeaddrinfo and gai_strerror are declared by the POSIX headers.
97895         Check if struct addrinfo is declared.
97897 2005-10-01  Simon Josefsson  <jas@extundo.com>
97899         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
97900         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
97901         AI_* and EAI_* definitions.  Protect function declarations.
97903 2005-10-01  Jim Meyering  <jim@meyering.net>
97905         Sync from coreutils.
97907         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
97908         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
97909         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
97910         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
97911         in the inet and nsl libraries.  Required on Solaris 5.7.
97913 2005-10-01  Jim Meyering  <jim@meyering.net>
97915         Sync from coreutils.
97916         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
97917         in the inet and nsl libraries.  Required on Solaris 5.7.
97919 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
97921         * lib/getdelim.c (getdelim): Remove unused variables.
97923 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
97925         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
97926         so that the code works even with ancient cpp.  Portability problem
97927         with GCC 2.7.2.1 reported by Thomas M.Ott.
97929 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
97931         * modules/regex (Depends-on): Add strcase.
97933         * modules/gethostname (Licence): Change from GPL to LGPL, since
97934         gethostname.c is a trivial implementation of a standard library
97935         function.
97936         * modules/poll (License): Change from GPL to LGPL, since it's
97937         derived from LGPL code.
97939 2005-09-27  Jim Meyering  <jim@meyering.net>
97941         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
97942         HAVE_CONFIG_H.
97944         * lib/intprops.h (signed_type_or_expr__): Define.
97945         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
97946         for unsigned types.
97948 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
97950         * lib/verify.h (verify_expr): Remove, replacing with:
97951         (verify_true): New macro that returns true instead of void.
97952         (verify_type__): Remove.
97953         (verify): Use verify_true rather than verify_type__.
97955 2005-09-26  Bruno Haible  <bruno@clisp.org>
97957         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
97958         is necessary.
97959         (lib_SOURCES): Remove mbchar.c.
97960         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
97961         (Files): Add m4/mbrtowc.m4.
97962         * modules/mbiter: Likewise.
97963         * modules/mbuiter: Likewise.
97965 2005-09-26  Bruno Haible  <bruno@clisp.org>
97967         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
97968         compile mbchar.c if they are not both present.
97969         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
97970         * m4/mbiter.m4 (gl_MBITER): Likewise.
97971         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
97972         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
97973         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
97975 2005-09-25  Jim Meyering  <jim@meyering.net>
97977         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
97978         also uses socklen_t.
97980 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
97982         * lib/utimens.c (ENOSYS): Define if not already defined.
97983         (futimens): Support having a null PATH if the file descriptor
97984         is nonnegative.
97986         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
97987         Remove.
97988         (__attribute): Define to empty unless GCC 3.1 or later.
97989         This works around a core dump on OpenBSD 3.4, which has GCC
97990         2.95.3, which dumps core when given __attribute__(()).  It also
97991         simplifies other tests, since we really don't want to bother with
97992         worrying about which ancient version of GCC supported what.
97993         Original problem reported by Yoann Vandoorselaere, with part of
97994         the fix suggested by Derek Price.
97996 2005-09-24  Jim Meyering  <jim@meyering.net>
97998         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
97999         so we can once again use a positive bitfield width of 1 -- now we
98000         don't have to explain why we were using a bitfield width of 2.
98002 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
98004         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
98005         and similarly for the other external symbols.  Problem reported
98006         by James Gallager.
98008         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
98009         bug reported by Jim Meyering.
98011         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
98012         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
98013         not needed, since socklen is a prerequisite module.
98015 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
98017         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
98018         Problem reported by Eric Blake.
98019         (getaddrinfo): Initialize se so that it's not garbage.
98020         Redo internal storage allocation so that it doesn't make unportable
98021         assumptions about alignment.
98022         Fix a memory leak.
98024         * lib/utimens.c (futimens): Use futimesat if available.
98025         Prefer it to futimes since it doesn't have the futimes bug.
98027         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
98028         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
98029         Instead, declare a function that returns a pointer to an array,
98030         and use verify_type__ to declare the size of the array.
98031         Problem and germ of a solution reported by Bruno Haible.
98032         (verify_type__): Use 2, not 1, for bitfield size, to avoid
98033         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
98035 2005-09-23  Jim Meyering  <jim@meyering.net>
98037         Sync from coreutils.
98038         Correct build failure (socklen_t not defined) on at least
98039         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
98040         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
98042 2005-09-23  Jim Meyering  <jim@meyering.net>
98044         * modules/getaddrinfo (Depends-on): Add socklen.
98046 2005-09-23  Bruno Haible  <bruno@clisp.org>
98048         * tests/test-verify.c: New file.
98050 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
98052         Sync from coreutils.
98054         * modules/argmatch (Depends-on): Add verify.
98055         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
98056         unistd-safer.
98057         * modules/save-cwd (Depends-on): Likewise.
98059         * modules/openat (Files): Add lib/openat-die.c.
98060         (Depends-on): Remove error, exitfail.
98061         Add dirname.
98063         * modules/verify: New file.
98064         * MODULES.html.sh (Diagnostics <assert.h>): New section,
98065         with "verify" module.
98067 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
98069         Sync from coreutils.
98071         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
98072         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
98073         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
98074         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
98075         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
98076         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
98077         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
98078         Don't bother checking for string.h, stdlib.h, unistd.h.
98079         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
98080         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
98081         module's job.
98082         * m4/jm-macros.m4 (gl_MACROS): Likewise.
98083         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
98085         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
98086         (gl_GETDATE): Use it.
98088         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
98090 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
98092         Sync from coreutils.
98094         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
98095         stat-time.h.
98096         * lib/argmatch.h: Include verify.h
98097         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
98098         (ARGMATCH_ASSERT): Remove; unused.
98099         * lib/canonicalize.c: Assume STDC_HEADERS.
98100         * lib/exclude.c: Include "strcase.h".
98101         * lib/regex_internal.h [!defined _LIBC]: Likewise.
98102         * lib/getusershell.c: Include stdio--.h rather than stdio.h
98103         and stdio-safer.h.
98104         (getusershell): Call fopen, not fopen_safer.
98105         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
98106         Do not include unistd-safer.h.
98107         (save_cwd): Don't call fd_safer; no longer needed
98108         now that we include fcntl--.h.
98110         * lib/getdate.y (relative_time): New type.
98111         (RELATIVE_TIME_0): New constant.
98112         (parser_control): Use relative_time instead of doing it ourselves.
98113         (%union): Add new relative_time rel member.
98114         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
98115         Now typeless.
98116         (relunit, relunit_snumber): Now of type rel.
98117         (zone, rel, relunit, get_date): Adjust to above changes.
98119         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
98120         Do not include unistd-safer.h.
98121         (getloadavg): Don't call fd_safer; no longer needed
98122         now that we include fcntl--.h.
98124         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
98125         (make_dir_parents): Treat ENOSYS like EEXIST.
98127         Improve quality of diagnostics on restore_cwd failure.
98128         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
98129         (make_dir_parents): Last arg is now int * (for errno), not bool *.
98130         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
98131         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
98132         each time through the loop.  Do not diagnose restore_cwd failure;
98133         that is the caller's job (and perhaps the caller does not care).
98135         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
98136         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
98137         If the file already exists but is not a directory, don't bother
98138         to try to make its parents.
98139         Close potential file descriptor leak if we can't chdir("/") (!).
98140         Don't always return true if chdir($PWD) fails; return true only
98141         if the requested action was done successfully (except for the
98142         chdir($PWD)).
98143         Don't log final directory unless we actually made it.
98144         Refactor to avoid duplicate code to fix up permissions.
98145         Don't attempt to fix up parent permissions if chdir($PWD) fails.
98147         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
98148         to make it a bit faster and (I hope) clearer.
98149         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
98150         Fix bug in formats like %2N.
98152         * lib/verify.h: New file.
98154 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
98156         Sync from coreutils.
98157         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
98159 2005-09-22  Jim Meyering  <jim@meyering.net>
98161         Sync from coreutils.
98163         * m4/lstat.m4 (gl_FUNC_LSTAT):
98164         Use AC_LIBSOURCES to require lstat.c and lstat.h.
98165         Remove obsolete comment.
98166         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
98167         * m4/xstrtod.m4: Likewise.
98169         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
98171 2005-09-22  Jim Meyering  <jim@meyering.net>
98173         Sync from coreutils.
98175         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
98177         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
98178         the .tm_year member, since otherwise gcc-4.0 would now warn about
98179         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
98181         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
98182         order to avoid an unsuppressible warning from gcc on 64-bit systems.
98184         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
98185         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
98186         when run in a time zone for which daylight savings time is in effect
98187         for the starting date.
98189         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
98190         stop us from restricting permissions of just-created absolute-named
98191         directories.
98192         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
98193         to restore initial working directory.
98194         * lib/mkdir-p.c (make_dir_parents): New parameter:
98195         different_working_dir, to tell caller if/when we change the working
98196         directory and are unable to return to the initial one.
98197         * lib/mkdir-p.h (make_dir_parents): Update prototype.
98198         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
98199         `return false'.  This fixes a bug introduced on 2004-07-30.
98201         * lib/openat.c (fdopendir): Be sure to close the supplied
98202         file descriptor before returning.  This makes our replacement
98203         implementation a little closer to Solaris's, where fdopendir
98204         ties the file descriptor to the returned DIR* pointer.
98205         * lib/openat.c (unlinkat): New function.
98206         * lib/openat.h (unlinkat): Add prototype.
98207         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
98208         (openat_restore_fail): Rename from openat_restore_die.
98209         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
98211         Provide an alternative to exiting immediately upon save_cwd or
98212         restore_cwd failure.  Now, an application can arrange e.g.,
98213         to perform a longjump in that case.
98214         * lib/openat.c: Include dirname.h.
98215         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
98216         (rpl_openat, fdopendir, fstatat): Call openat_save_die
98217         and openat_restore_die rather than calling error directly.
98218         Don't include "error.h" or "exitfail.h"; they're no longer needed.
98220         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
98221         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
98222         define.
98224         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
98225         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
98226                             int utc, int nanoseconds);
98227         Background:
98228         date should not have to allocate a megabyte of virtual memory to
98229         handle a format argument like +%1048575T.  When implemented with
98230         strftime, it must allocate such a buffer, use strftime to fill it
98231         in, print it, then free it.
98232         With fprintftime, it simply prints everything and exits.
98233         With no need for memory allocation, that's one fewer way to fail.
98234         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
98235         optional field width, not before, so we accept %9:z, not %:9z.
98236         (my_strftime): Be sure to use L_('x') for literals.
98238         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
98239         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
98240         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
98241         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
98242         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
98243         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
98244         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
98245         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
98246         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
98247         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
98248         * lib/xgethostname.c, lib/xreadlink.c:
98249         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
98251         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
98252         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
98253         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
98254         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
98255         and don't include <sys/file.h>).
98257 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
98259         Sync from coreutils.
98261         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
98262         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
98263         [!LDAV_DONE]: Avoid unused variable warning.
98265 2005-09-21  Bruno Haible  <bruno@clisp.org>
98267         * lib/unicodeio.h (unicode_to_mb): New declaration.
98269 2005-09-20  Derek Price  <derek@ximbiot.com>
98271         * lib/getaddrinfo.c: Don't include <netdb.h> included from
98272         getaddrinfo.h.
98274 2005-09-20  Bruno Haible  <bruno@clisp.org>
98276         * gnulib-tool: Remove trailing slashes from the values specified for
98277         --source-base, --m4-base, --tests-base, --aux-dir.
98278         Suggested by Simon Josefsson <jas@extundo.com>.
98280 2005-09-20  Bruno Haible  <bruno@clisp.org>
98282         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
98283         func_modules_to_filelist, func_import, func_create_testdir): Make all
98284         sorting results locale-independent, so that gnulib-cache.m4 doesn't
98285         change when gnulib-tool is invoked in a different locale.
98287 2005-09-19  Simon Josefsson  <jas@extundo.com>
98289         * m4/socklen.m4: Fix typo.
98291 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98293         Use a consistent style for including <config.h>.
98294         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
98295         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
98296         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
98297         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
98298         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
98299         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
98300         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
98301         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
98302         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
98303         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
98304         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
98305         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
98306         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
98307         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
98308         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
98309         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
98310         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
98311         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
98312         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
98313         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
98314         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
98315         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
98316         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
98317         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
98318         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
98319         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
98320         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
98321         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
98322         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
98323         lib/xstrtoumax.c, lib/yesno.c:
98324         Standardize inclusion of config.h.
98325         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
98326         lib/inttostr.h:  Removed inclusion of config.h from header files.
98327         * lib/inttostr.c:  Adjusted in-tree users.
98328         * lib/timespec.h: Remove superfluous warning to include config.h.
98329         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
98330         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
98331         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
98332         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
98333         config.h with HAVE_CONFIG_H.
98335 2005-09-19  Jim Meyering  <jim@meyering.net>
98337         * modules/pathmax (License): Change to LGPL.
98339 2005-09-19  Derek Price  <derek@ximbiot.com>
98341         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
98343 2005-09-19  Bruno Haible  <bruno@clisp.org>
98345         * gnulib-tool (import): Provide default for --tests-base.
98347 2005-09-19  Bruno Haible  <bruno@clisp.org>
98349         * doc/quote.texi: New file, extracted from gnulib.texi.
98350         * doc/ctime.texi: New file, extracted from gnulib.texi.
98351         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
98352         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
98353         * doc/gnulib.texi: Include them.
98355 2005-09-18  Bruno Haible  <bruno@clisp.org>
98357         Portability fix.
98358         * gnulib-tool (func_readlink): New function.
98359         (func_ln_if_changed): Use it.
98361 2005-09-18  Bruno Haible  <bruno@clisp.org>
98363         * gnulib-tool: Support --with-tests also with --import.
98364         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
98365         (func_import): Use variables $testsbase and $inctests. Emit a
98366         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
98367         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
98368         SUBDIRS += $testsdir.
98369         (func_create_testdir): Update.
98371 2005-09-18  Bruno Haible  <bruno@clisp.org>
98373         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
98374         instead of $dry_run.
98375         (func_cp_if_changed, func_mv_if_changed): Remove functions.
98376         (func_ln_if_changed): Don't handle dry-run here.
98377         (func_import): In dry-run mode, detect more precisely which actions
98378         would be performed, and don't use "...ing" verbs.
98380 2005-09-18  Bruno Haible  <bruno@clisp.org>
98382         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
98383         (func_import): Use join on two temporary files instead of three nested
98384         loops, in order to determine which files are new or old.
98386 2005-09-18  Bruno Haible  <bruno@clisp.org>
98388         * gnulib-tool (func_import): Comment out code that spits out the
98389         new files with --dry-run.
98391 2005-09-18  Bruno Haible  <bruno@clisp.org>
98393         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
98395 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
98397         * lib/stat-time.h: New file.
98398         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
98399         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
98400         in a different way.
98401         (timespec_cmp): New function.
98402         * lib/utimecmp.c: Include stat-time.h.
98403         (SYSCALL_RESOLUTION): Depend on whether various struct stat
98404         members exist, not on the obsolescent ST_MTIM_NSEC.
98405         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
98407 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
98409         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
98411 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
98413         * MODULES.html.sh (File system functions): Add stat-time.
98414         * modules/stat-time: New file.
98415         * modules/timespec (Files): Remove m4/st_mtim.m4; this
98416         is now done in a different way, by the stat-time module.
98417         * modules/utimecmp (Depends-on): Add stat-time.
98419 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
98421         * m4/st_mtim.m4: Remove.  Superseded by...
98422         * m4/stat-time.m4: New file.
98423         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
98424         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
98426 2005-09-15  Derek Price  <derek@ximbiot.com>
98428         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
98430 2005-09-15  Derek Price  <derek@ximbiot.com>
98432         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
98433         * lib/regex_internal.c: Ditto, using this...
98434         (__GNUC_PREREQ): ...new macro.
98435         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
98436         using...
98437         (__GNUC_PREREQ): ...this new macro.
98439         * lib/strstr.h: Include string.h. Define strstr as a macro here.
98441 2005-09-15  Derek Price  <derek@ximbiot.com>
98442             Paul Eggert  <eggert@cs.ucla.edu>
98444         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
98445         changes, consolidating in...
98446         * lib/regex_internal.h: ...this file.
98448 2005-09-13  Jim Meyering  <jim@meyering.net>
98450         * lib/canon-host.c: Filter through gnu indent and reword comments
98451         slightly.
98452         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
98454 2005-09-13  Derek Price  <derek@ximbiot.com>
98456         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
98457         failure.
98458         Reported by Jim Meyering  <jim@meyering.net>.
98460 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
98462         * lib/base64.c: Typo.
98463         (base64_encode): Put b64str in initialized data section.
98465 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
98467         Merge glibc and coreutils changes into gnulib, plus a few
98468         extra fixes.
98469         * lib/md5.c: Use #error rather than a string.
98470         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
98471         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
98472         (__attribute__): Define to empty for non recent-GCC.
98473         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
98474         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
98475         Renamed from their non-__ counterparts, with new macros replacing
98476         them if not _LIBC.  Add __THROW attribute.
98477         (rol): Remove.
98478         (struct md5_ctx): Align buffer if using GCC.
98479         * lib/sha1.h (struct sha1_ctx): Likewise.
98480         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
98481         The old name was backwards.
98482         (NOTSWAP): Remove; not used.
98483         (rol): New macro, moved here from md5.h.
98484         (sha1_process_block): Remove a FIXME that doesn't make sense.
98486 2005-09-12  Derek Price  <derek@ximbiot.com>
98488         Return usable errors from canon-host.
98489         * lib/canon-host.h: New file.
98490         * lib/canon-host.c (canon_host): Wrap...
98491         (canon_host_r): ...this new function, which now relies exclusively on
98492         getaddrinfo.
98493         (ch_strerror): New function.
98494         (last_cherror): New global.
98495         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
98496         interface.
98497         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
98498         void *.
98499         (freeaddrinfo): Free ai->ai_canonname when set.
98501 2005-09-12  Derek Price  <derek@ximbiot.com>
98503         Make canon-host require getaddrinfo.
98504         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
98505         AC_LIBSOURCE canon-host.h.  Call...
98506         (gl_PREREQ_CANON_HOST): ...this new function, which requires
98507         gl_GETADDRINFO.
98508         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
98510 2005-09-12  Derek Price  <derek@ximbiot.com>
98512         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
98513         LGPL.
98514         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
98516 2005-09-12  Derek Price  <derek@ximbiot.com>
98518         * lib/gai_strerror.c: Include config.h when available.  Include
98519         getaddrinfo.h before other headers to test interface.
98520         Reported by Larry Jones <lawrence.jones@ugs.com>.
98522 2005-09-12  Derek Price  <derek@ximbiot.com>
98523             Paul Eggert  <eggert@cs.ucla.edu>
98525         * modules/glob (Files): Add glob-libc.h.
98527 2005-09-12  Derek Price  <derek@ximbiot.com>
98528             Paul Eggert  <eggert@cs.ucla.edu>
98530         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
98531         glob_.h, glob-libc.h.
98532         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
98534 2005-09-12  Derek Price  <derek@ximbiot.com>
98535             Paul Eggert  <eggert@cs.ucla.edu>
98537         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
98538         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
98539         protecting things that should be done only in gnulib contexts.
98540         * lib/glob_.h: New file, containing only the glob things needed for
98541         gnulib.
98542         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
98543         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
98544         (glob, globfree, glob_pattern_p): Now defined simply in terms of
98545         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
98546         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
98547         and to respect the namespace rules better.
98549 2005-09-08  Simon Josefsson  <jas@extundo.com>
98551         * modules/socklen: New file.
98553 2005-09-08  Simon Josefsson  <jas@extundo.com>
98555         * m4/socklen.m4: New file.
98557 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
98559         * modules/utimens (Files): Add m4/utimbuf.m4, since
98560         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
98561         Reported by Sergey Poznyakoff.
98563 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
98565         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
98566         definitions, since that's the preferred style in glibc.
98567         Fix a minor spacing issue, and update copyright notice to match
98568         glibc's.
98570 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
98572         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
98574 2005-09-06  Simon Josefsson  <jas@extundo.com>
98576         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
98577         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
98579 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
98581         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
98582         warning.
98584 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
98586         * config/srclist.txt: Add glibc bug 1302.
98588 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
98590         Change bitset word type from unsigned int to unsigned long int,
98591         as this has better performance on typical 64-bit hosts.
98592         Port bitset code to hosts with unusual word sizes.
98593         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
98594         (build_collating_symbol):
98595         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
98596         argument is a bitset.  This is merely a style issue, but it makes
98597         it clearer that an entire array is expected.
98598         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
98599         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
98600         Port to the case where bitset_word is not the same as unsigned int.
98601         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
98602         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
98603         Likewise.
98604         * lib/regexec.c (check_dst_limits_calc_pos_1,
98605         check_subexp_matching_top):
98606         (build_trtable, group_nodes_into_DFAstates):
98607         Likewise.
98608         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
98609         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
98610         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
98611         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
98612         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
98613         * lib/regcomp.c (optimize_subexps, lower_subexp):
98614         Work even if bitset_word has holes in its bitwise representation.
98615         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
98616         * lib/regexec.c (check_dst_limits_calc_pos_1,
98617         check_subexp_matching_top):
98618         Likewise.
98619         * lib/regex_internal.c (re_string_reconstruct):
98620         Don't assume UCHAR_MAX == 255.
98621         * lib/regex_internal.h (bitset_set_all): Likewise.
98622         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
98623         All uses changed.
98624         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
98625         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
98626         All uses changed.
98627         (BITSET_WORD_MAX): New macro.
98628         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
98629         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
98630         (bitset_empty, bitset_copy):
98631         Prefer sizeof (bitset) to multiplying it out ourselves.
98632         (bitset_not_merge): Remove; unused.
98633         (bitset_contain): Return bool, not unsigned int with one bit on.
98634         All callers changed.
98635         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
98636         alignment than re_node_set; do this by defining a new internal
98637         type struct dests_alloc and using it to allocate memory.
98639 2005-09-05  Bruno Haible  <bruno@clisp.org>
98641         * gnulib-tool (func_import): Fix comparison in handling of symbolic
98642         links.
98644 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
98646         * modules/size_max (Makefile.am): Add size_max.h
98648 2005-09-04  Derek Price  <derek@ximbiot.com>
98650         * gnulib-tool (func_import): Fix reversed $symbolic logic.
98652 2005-09-03  Simon Josefsson  <jas@extundo.com>
98654         * gnulib-tool: Fix typo.
98656 2005-09-03  Simon Josefsson  <jas@extundo.com>
98658         * config/srclist.txt: Add glibc bug 1293.
98660 2005-09-03  Derek Price  <derek@ximbiot.com>
98662         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
98663         From Larry Jones <lawrence.jones@ugs.com>.
98665 2005-09-02  Simon Josefsson  <jas@extundo.com>
98667         * modules/socklen: New file.
98669 2005-09-02  Simon Josefsson  <jas@extundo.com>
98671         * modules/havelib: New module.
98673         * modules/gettext, modules/iconv, modules/lock, modules/readline:
98674         Use havelib.
98676 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
98678         Check for arithmetic overflow when calculating sizes, to prevent
98679         some buffer-overflow issues.  These patches are conservative, in the
98680         sense that when I couldn't determine whether an overflow was possible,
98681         I inserted a run-time check.
98682         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
98683         macros.
98684         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
98685         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
98686         (re_xnrealloc, re_x2nrealloc): New inline functions.
98687         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
98688         parse_bracket_exp):
98689         (build_equiv_class, build_charclass): Check for arithmetic overflow
98690         in size expression calculations.
98691         * lib/regex_internal.c (re_string_realloc_buffers):
98692         (build_wcs_upper_buffer, re_node_set_add_intersect):
98693         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
98694         (re_dfa_add_node, register_state): Likewise.
98695         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
98696         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
98697         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
98698         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
98700 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
98702         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
98703         m4/ulonglong.m4.  Problem reported by Martin Lambers.
98705 2005-09-02  Bruno Haible  <bruno@clisp.org>
98707         Support for lib vs. lib64 distinction on biarch platforms.
98708         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
98709         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
98710         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
98712 2005-09-02  Bruno Haible  <bruno@clisp.org>
98714         * gnulib-tool (import): In the other first-use case, provide defaults
98715         as well.
98717 2005-09-02  Bruno Haible  <bruno@clisp.org>
98719         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
98720         patches not yet found in the latest gettext release.
98722 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
98724         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
98725         to avoid a collision with bits/local_lim.h in glibc.
98726         All uses changed.  Problem reported by Dmitry V. Levin in
98727         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
98729         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
98730         bugs in int versus size_t comparisons.
98731         (re_string_context_at): Fix bug where the code assumed that
98732         Idx is signed.
98734         Use bool where appropriate.
98735         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
98736         All callers changed.
98737         (calc_eclosure_iter): Likewise, for ROOT arg.
98738         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
98739         (build_charclass_op): Likewise, for NON_MATCH arg.
98740         * lib/regex_internal.c (re_string_allocate, re_string_construct):
98741         (re_string_construct_common): Likewise, for ICASE arg.
98742         * lib/regexec.c (re_search_2_stub, re_search_stub):
98743         Likewise, for RET_LEN arg.
98744         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
98745         (set_regs): Likewise, for FL_BACKTRACK arg.
98746         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
98747         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
98748         (calc_eclosure_iter, parse_bracket_exp):
98749         Use bool for internal variables that are booleans.
98750         * lib/regexec.c (re_search_internal, check_matching,
98751         proceed_next_node):
98752         (set_regs, build_sifted_states, sift_states_bkref):
98753         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
98754         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
98755         (find_collation_sequence_value):
98756         Likewise.
98757         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
98758         (re_node_set_compare):
98759         Return bool, not int. All callers changed.
98760         * lib/regexec.c (check_halt_node_context, check_dst_limits):
98761         (build_trtable, check_node_accept): Likewise.
98762         * lib/regex_internal.h: Include stdbool.h.
98764         Fix bugs uncovered when converting to bool.
98765         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
98766         failure instead of charging ahead blindly.
98767         * lib/regex_internal.c (register_state): Likewise.
98768         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
98769         for freeing internal storage.
98770         (group_nodes_into_DFA_states): Use unsigned int, not int, for
98771         bitset pieces used as boolean, to avoid undefined behavior
98772         on hosts that do int overflow checking.
98774 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
98776         * config/srclist.txt: Add glibc bugs 1285-1287.
98778 2005-09-01  Jim Meyering  <jim@meyering.net>
98780         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
98781         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
98782         Require gl_STAT_MACROS, too.
98784 2005-09-01  Bruno Haible  <bruno@clisp.org>
98786         * gnulib-tool (import): In the first-use case, provide defaults.
98788 2005-09-01  Bruno Haible  <bruno@clisp.org>
98790         * gnulib-tool (func_import): Remove the .tmp files.
98792 2005-09-01  Bruno Haible  <bruno@clisp.org>
98794         * gnulib-tool (func_import): Fix handling of symbolic links.
98796 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
98798         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
98799         old glibc regex code mishandles strings longer than 2**31 bytes.
98800         This patch fixes this when the regex code is used in gnulib
98801         (i.e., outside glibc).
98803         This patch should not affect the use of the regex code inside
98804         glibc.  No doubt this problem also needs to be handled for glibc
98805         as well, but the result will be an incompatible change to the
98806         glibc ABI, and the old ABI will have to be supported too.  That
98807         can be the subject for another patch.
98809         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
98810         governing whether the rest of this patch is active.  By default,
98811         the macro is disabled and the patch has no effect.
98812         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
98813         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
98814         (struct re_pattern_buffer, re_search, re_search_2, re_match):
98815         (re_match_2, re_set_registers): Use the new types.
98816         * lib/regex_internal.h (Idx, re_hashval_t): New types.
98817         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
98818         New macros.
98819         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
98820         (re_string_context_at, bin_tree_t, re_dfastate_t):
98821         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
98822         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
98823         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
98824         (re_string_char_size_at, re_string_wchar_at):
98825         (re_string_elem_size_at):
98826         Use the new types and macros to port to 64-bit hosts.
98827         Use unsigned types for internal values, so that the code
98828         mostly works even for arrays larger than SSIZE_MAX.
98829         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
98830         (search_duplicated_node, calc_eclosure_iter, fetch_number):
98831         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
98832         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
98833         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
98834         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
98835         (calc_inveclosure, parse_dup_op, build_range_exp):
98836         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
98837         (fetch_number, create_token_tree, mark_opt_subexp):
98838         Likewise.
98839         * lib/regex_internal.c (re_string_construct_common,
98840         create_ci_newstate):
98841         (create_cd_newstate, re_string_allocate, re_string_construct):
98842         (re_string_realloc_buffers, build_wcs_upper_buffer):
98843         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
98844         (re_string_reconstruct, re_string_peek_byte_case):
98845         (re_string_fetch_byte_case, re_string_context_at):
98846         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
98847         (re_node_set_init_copy, re_node_set_add_intersect):
98848         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
98849         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
98850         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
98851         (re_acquire_state, re_acquire_state_context, register_state):
98852         Likewise.
98853         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
98854         search_cur_bkref_entry):
98855         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
98856         (re_search_internal, re_search_2_stub, re_search_stub)
98857         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
98858         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
98859         (update_cur_sifted_state, check_dst_limits):
98860         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
98861         (check_subexp_limits, sift_states_bkref, merge_state_array):
98862         (check_subexp_matching_top, get_subexp, get_subexp_sub):
98863         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
98864         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
98865         (expand_bkref_cache, check_node_accept_bytes):
98866         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
98867         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
98868         (acquire_init_state_context, check_halt_node_context):
98869         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
98870         (sift_states_backward, clean_state_log_if_needed):
98871         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
98872         (find_recover_state, transit_state_sb, transit_state_mb):
98873         (transit_state_bkref, build_trtable, match_ctx_clean):
98874         Likewise.
98875         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
98876         to work around an assumption that REG_MISSING is negative.
98878         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
98879         (seek_collating_symbol_entry) [defined _LIBC]:
98880         (lookup_collation_sequence_value) [defined _LIBC]:
98881         (build_range_exp, build_collating_symbol) [defined _LIBC]:
98882         Use prototypes rather than old-style function definitions.
98883         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
98884         (transit_state_sb) [0]:
98885         (find_collation_sequence_value) [defined _LIBC]: Likewise.
98887         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
98888         rm_eo.
98890         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
98891         (optimize_subexps, lower_subexp):
98892         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
98893         since the signed shift might overflow.  Use 1u<<31 instead.
98894         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
98895         Likewise.
98896         * lib/regexec.c (check_dst_limits_calc_pos_1,
98897         check_subexp_matching_top): Likewise.
98899         * lib/regcomp.c (optimize_subexps, lower_subexp):
98900         Use CHAR_BIT rather than 8, for clarity.
98901         * lib/regexec.c (check_dst_limits_calc_pos_1):
98902         (check_subexp_matching_top): Likewise.
98903         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
98904         have to worry about portability issues when shifting it left.
98905         Remove no-longer-needed test for table_size > 0.
98906         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
98907         in a word, as the resulting behavior is undefined.
98908         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
98909         in one case, a <= should have been an <, and in another case the
98910         whole test was missing.
98911         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
98912         the standard name CHAR_BIT.
98913         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
98914         this is not true on one's complement and signed-magnitude hosts.
98916         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
98917         next_last_offset.
98918         (struct re_dfa_t): Remove unused member states_alloc.
98919         * lib/regcomp.c (init_dfa): Don't initialize unused members.
98921 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
98923         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
98924         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
98925         and large-file glibc and in 32-bit large-file Solaris.
98927 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
98929         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
98930         lengths fit in regoff_t; this isn't true if regoff_t is the same
98931         width as size_t.
98932         * lib/regex.c (re_search_internal): 5th arg is LAST_START
98933         (= START + RANGE) instead of RANGE.  This avoids overflow
98934         problems when regoff_t is the same width as size_t.
98935         All callers changed.
98936         (re_search_2_stub): Check for overflow when adding the
98937         sizes of the two strings.
98938         (re_search_stub): Check for overflow when adding START
98939         to RANGE; if it occurs, substitute the extreme value.
98941 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
98943         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
98945 2005-08-31  Jim Meyering  <jim@meyering.net>
98947         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
98948         a pointer-to-const.
98949         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
98950         (register_state): Likewise.
98951         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
98952         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
98953         (group_nodes_into_DFAstates): Likewise.
98955 2005-08-31  Jim Meyering  <jim@meyering.net>
98957         * check-module: Add a FIXME comment.
98959 2005-08-31  Eric Blake  <ebb9@byu.net>
98961         * modules/unistd-safer (Files): Add unistd--.h.
98962         * modules/stdio-safer (Files): Add stdio--.h.
98964 2005-08-31  Derek Price  <derek@ximbiot.com>
98966         * lib/getdelim.c (getdelim): Return EOF on EOF.
98967         Reported by Larry Jones <lawrence.jones@ugs.com>.
98969 2005-08-31  Bruno Haible  <bruno@clisp.org>
98971         Avoid unnecessary diffs in the generated lib/Makefile.am.
98972         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
98973         the generated files.
98974         (func_import): Don't set cmd.
98976 2005-08-31  Bruno Haible  <bruno@clisp.org>
98978         * lib/strstr.c: Include <stddef.h>, for NULL.
98979         * lib/strcasestr.c: Likewise.
98980         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98982 2005-08-31  Bruno Haible  <bruno@clisp.org>
98984         * gnulib-tool: New option --macro-prefix.
98985         (func_import): Use macro_prefix.
98986         (import): Handle option --macro-prefix.
98988 2005-08-31  Bruno Haible  <bruno@clisp.org>
98990         * gnulib-tool (import): Rename most ac_* variables to cached_*.
98991         Also use new variables cached_lgpl, cached_libtool.
98993 2005-08-31  Bruno Haible  <bruno@clisp.org>
98995         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
98996         always instantiating them.
98998 2005-08-31  Bruno Haible  <bruno@clisp.org>
99000         * gnulib-tool (func_import): Read the previous cached settings
99001         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
99002         earlier added by gnulib but are now dropped. Warn when a gnulib file
99003         overwrites a non-gnulib file.
99005 2005-08-31  Bruno Haible  <bruno@clisp.org>
99007         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
99008         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
99009         projects that don't keep autogenerated files in CVS. Put into
99010         actioncmd only the specified modules, not the transitive closure.
99012 2005-08-31  Bruno Haible  <bruno@clisp.org>
99014         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
99015         Create directories that shall be filled.
99016         (import): Don't look for gl_* macros in configure.ac. Recurse across
99017         all directories containing a gnulib-cache.m4 files, if meaningful.
99019 2005-08-31  Bruno Haible  <bruno@clisp.org>
99021         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
99022         (import): Set seen_libtool when we see gl_LIBTOOL.
99024 2005-08-31  Bruno Haible  <bruno@clisp.org>
99026         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
99027         declaration macro definitions from generated gnulib.m4.
99029 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
99031         * lib/iconvme.h: Add prototype for iconv_alloc.
99033 2005-08-29  Simon Josefsson  <jas@extundo.com>
99035         * lib/iconvme.c: Fix errno.
99037 2005-08-29  Bruno Haible  <bruno@clisp.org>
99039         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
99040         that it works when the directory contains spaces.
99042 2005-08-29  Bruno Haible  <bruno@clisp.org>
99044         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
99046 2005-08-29  Bruno Haible  <bruno@clisp.org>
99048         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
99049         Emit more advice.
99051 2005-08-29  Bruno Haible  <bruno@clisp.org>
99052         and Stepan Kasal  <kasal@ucw.cz>
99054         * check-module: If more parameters are given, check each of them
99055         separately; add more exceptions, as noted by Jim Meyering.
99056         (check_module): New procedure.
99057         (%exempt_header): Now contains all exceptions.
99059 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
99061         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
99063 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
99065         * lib/iconvme.c: Split iconv_string into iconv_alloc.
99067 2005-08-28  Bruno Haible  <bruno@clisp.org>
99069         * m4/gnulib-tool.m4: New file.
99071 2005-08-27  Jim Meyering  <jim@meyering.net>
99073         * modules/unistd-safer (Files): Add pipe-safer.c.
99074         * modules/fcntl-safer (Files): Add creat-safer.c.
99076 2005-08-27  Jim Meyering  <jim@meyering.net>
99078         * m4/stdlib-safer.m4: New file.  From coreutils.
99079         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
99080         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
99081         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
99082         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
99083         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
99085 2005-08-27  Jim Meyering  <jim@meyering.net>
99087         * lib/fopen-safer.c: Merge minor changes from coreutils.
99088         * lib/dup-safer.c: Likewise.
99089         * lib/fd-safer.c: Likewise.
99091         Merge from coreutils.
99092         * lib/stdio--.h: New file.
99093         * lib/stdlib--.h: New file.
99094         * lib/mkstemp-safer.c: New file.
99096         GNU tar needs these.
99097         * lib/pipe-safer.c: New file.
99098         * lib/creat-safer.c: New file.
99099         * lib/fcntl--.h (creat): Define to creat_safer.
99100         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
99101         * lib/unistd--.h (pipe): Define to pipe_safer.
99102         * lib/unistd-safer.h: Declare pipe_safer.
99104 2005-08-26  Simon Josefsson  <jas@extundo.com>
99106         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
99107         Haible <bruno@clisp.org>.
99109 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
99111         * lib/regex_internal.h: Remove all references to
99112         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
99113         or better.
99114         (bitset_not, bitset_merge, bitset_not_merge):
99115         (bitset_mask, re_string_allocate, re_string_construct):
99116         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
99117         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
99118         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
99119         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
99120         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
99121         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
99122         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
99123         (re_acquire_state_context):
99124         Remove unnecessary forward decls.
99125         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
99126         Put __attribute at function definition,
99127         now that the function decl has been removed.
99128         * lib/regex_internal.c (re_string_peek_byte_case):
99129         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
99130         Likewise.
99132 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
99134         * m4/regex.m4: Add AC_PREREQ(2.50).
99135         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
99137 2005-08-25  Simon Josefsson  <jas@extundo.com>
99139         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
99140         __fsetlocking.
99142 2005-08-25  Simon Josefsson  <jas@extundo.com>
99144         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
99145         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
99146         GLIBC specific code.
99148 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
99150         Make regex safe for g++.  This fixes one real bug (an "err"
99151         that should have been "*err").  g++ problem reported by
99152         Sam Steingold.
99153         * lib/regex_internal.h (re_calloc): New macro, consistent with
99154         re_malloc etc.  All callers of calloc changed to use re_calloc.
99155         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
99156         not int.  All callers changed.
99157         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
99158         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
99159         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
99160         (find_recover_state): Change "err" to "*err"; this fixes what
99161         appears to be a real bug.
99162         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
99163         versus int.
99165 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
99167         * modules/regex (Depends-on): Add malloc, since the code
99168         assumes that !malloc(0) means failure.
99170 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
99172         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
99174         alloca modernization/simplification for regex.
99175         * lib/regex.c: Remove portability cruft for alloca.  This no longer
99176         needs to be at the start of the file, and can be moved into
99177         regex_internal.h and simplified.
99178         * lib/regex_internal.h: Include <alloca.h>.
99179         (__libc_use_alloca) [!defined _LIBC]: New macro.
99180         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
99181         now works outside glibc.
99183 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
99185         * config/srclist.txt: Add glibc bugs 1241, 1245.
99187 2005-08-25  Jim Meyering  <jim@meyering.net>
99189         * lib/open-safer.c: Include <config.h>.
99190         Otherwise, we'd lose LARGEFILE support in any file using
99191         e.g. "fcntl--.h"
99193 2005-08-25  Bruno Haible  <bruno@clisp.org>
99195         * m4/minmax.m4: Require autoconf 2.52.
99196         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
99197         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
99198         alternatives of translit over the alphabet.
99199         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
99201 2005-08-24  Simon Josefsson  <jas@extundo.com>
99203         * tests/test-getpass.c: New file.
99205 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
99207         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
99208         for GNU regex features.
99210 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
99212         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
99213         * lib/regex.h (regerror): Likewise.
99215         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
99216         requires this.  (The code never needed it.)
99218         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
99219         All uses of recently-renamed identifiers changed to use the new,
99220         POSIX-compliant names.  The code will build and run just fine
99221         without these changes, but it's better to eat our own dog food
99222         and use the standard-conforming names.
99224         * lib/regex.h: Fix a multitude of POSIX name space violations.
99225         These changes have an effect only for programs that define
99226         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
99227         do not change anything for programs compiled in the normal way.
99228         Also, there is no effect on the ABI.
99230         (_REGEX_SOURCE): New macro.
99231         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
99232         defined and _GNU_SOURCE is not; this fixes a name space violation.
99234         Rename the following macros to obey POSIX requirements.
99235         The old names are still visible as macros if _REGEX_SOURCE is defined.
99236         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
99237         RE_BACKSLASH_ESCAPE_IN_LISTS.
99238         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
99239         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
99240         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
99241         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
99242         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
99243         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
99244         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
99245         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
99246         (REG_INTERVALS): renamed from RE_INTERVALS.
99247         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
99248         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
99249         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
99250         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
99251         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
99252         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
99253         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
99254         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
99255         RE_UNMATCHED_RIGHT_PAREN_ORD.
99256         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
99257         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
99258         (REG_DEBUG): renamed from RE_DEBUG.
99259         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
99260         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
99261         unusual, since we can't clash with the POSIX REG_ICASE.
99262         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
99263         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
99264         (REG_NO_SUB): renamed from RE_NO_SUB.
99265         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
99266         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
99267         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
99268         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
99269         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
99270         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
99271         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
99272         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
99273         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
99274         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
99275         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
99276         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
99277         RE_SYNTAX_POSIX_MINIMAL_BASIC.
99278         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
99279         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
99280         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
99281         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
99282         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
99283         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
99284         (REG_FIXED): Renamed from REGS_FIXED.
99285         (REG_NREGS): Renamed from RE_NREGS.
99287         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
99288         of other REG_* macros, since POSIX says the user is allowed to
99289         #undef these macros selectively.
99291         (reg_errcode_t): Update comment stating what other tables need
99292         to be consistent.
99294         Rename the following enum values to obey POSIX requirements.
99295         The old names are still visible as macros.
99296         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
99297         is not defined, since GNU is supposed to be a superset of POSIX as
99298         much as possible, and since we want reg_errcode_t to be a signed
99299         type for implementation consistency.
99300         (_REG_NOERROR): Renamed from REG_NOERROR.
99301         (_REG_NOMATCH): Renamed from REG_NOMATCH.
99302         (_REG_BADPAT): Renamed from REG_BADPAT.
99303         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
99304         (_REG_ECTYPE): Renamed from REG_ECTYPE.
99305         (_REG_EESCAPE): Renamed from REG_EESCAPE.
99306         (_REG_ESUBREG): Renamed from REG_ESUBREG.
99307         (_REG_EBRACK): Renamed from REG_EBRACK.
99308         (_REG_EPAREN): Renamed from REG_EPAREN.
99309         (_REG_EBRACE): Renamed from REG_EBRACE.
99310         (_REG_BADBR): Renamed from REG_BADBR.
99311         (_REG_ERANGE): Renamed from REG_ERANGE.
99312         (_REG_ESPACE): Renamed from REG_ESPACE.
99313         (_REG_BADRPT): Renamed from REG_BADRPT.
99314         (_REG_EEND): Renamed from REG_EEND.
99315         (_REG_ESIZE): Renamed from REG_ESIZE.
99316         (_REG_ERPAREN): Renamed from REG_ERPAREN.
99317         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
99318         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
99319         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
99320         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
99322         (_REG_RE_NAME, _REG_RM_NAME): New macros.
99323         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
99324         changed.  But support the old name if the new one is not defined
99325         and if _REGEX_SOURCE.
99327         Change the following member names in struct re_pattern_buffer.
99328         The old names are still supported if !_REGEX_SOURCE.
99329         The new names are always supported, regardless of _REGEX_SOURCE.
99330         (re_buffer): Renamed from buffer.
99331         (re_allocated): Renamed from allocated.
99332         (re_used): Renamed from used.
99333         (re_syntax): Renamed from syntax.
99334         (re_fastmap): Renamed from fastmap.
99335         (re_translate): Renamed from translate.
99336         (re_can_be_null): Renamed from can_be_null.
99337         (re_regs_allocated): Renamed from regs_allocated.
99338         (re_fastmap_accurate): Renamed from fastmap_accurate.
99339         (re_no_sub): Renamed from no_sub.
99340         (re_not_bol): Renamed from not_bol.
99341         (re_not_eol): Renamed from not_eol.
99342         (re_newline_anchor): Renamed from newline_anchor.
99344         Change the following member names in struct re_registers.
99345         The old names are still supported if !_REGEX_SOURCE.
99346         The new names are always supported, regardless of _REGEX_SOURCE.
99347         (rm_num_regs): Renamed from num_regs.
99348         (rm_start): Renamed from start.
99349         (rm_end): Renamed from end.
99351         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
99352         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
99353         Prepend __ to parameter names.
99355         Undo yesterday's changes.
99357 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
99359         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
99360         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
99361         lib/regex.c.
99363 2005-08-24  Jim Meyering  <jim@meyering.net>
99365         Sync from coreutils.
99366         * m4/fcntl-safer.m4: New file.
99368         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
99369         and object files for this module.
99371 2005-08-24  Jim Meyering  <jim@meyering.net>
99373         Sync from coreutils.
99374         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
99376 2005-08-24  Jim Meyering  <jim@meyering.net>
99378         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
99379         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
99381 2005-08-24  Jim Meyering  <jim@meyering.net>
99383         * modules/fcntl-safer: New module.
99384         * modules/fts (Depends-on): Add fcntl-safer.
99385         * MODULES.html.sh (File descriptor based Input/Output):
99386         Add fcntl-safer.
99388 2005-08-24  Bruno Haible  <bruno@clisp.org>
99390         Support for unit test modules.
99391         * modules/README: Mention tests modules.
99392         * modules/TEMPLATE-TESTS: New file.
99393         * gnulib-tool: New options --extract-tests-module, --with-tests and
99394         --tests-base (unused for the moment).
99395         (testsbase, inctests): New variables.
99396         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
99397         (func_verify_module): Exclude TEMPLATE-TESTS.
99398         (func_verify_nontests_module, func_verify_tests_module): New functions.
99399         (func_get_dependencies): Add implicit dependency for tests modules.
99400         (func_get_tests_module): New function.
99401         (func_modules_transitive_closure): When --with-tests was specified,
99402         include the unit tests as well, unless explicitly avoided.
99403         (func_emit_lib_Makefile_am): Ignore the tests modules here.
99404         (func_emit_tests_Makefile_am): New function.
99405         (func_create_testdir): When --with-tests was specified, emit a
99406         tests/ directory.
99407         * MODULES.html.sh (Future developments): Update.
99409 2005-08-24  Bruno Haible  <bruno@clisp.org>
99411         * modules/tls-tests: New file.
99412         * tests/test-tls.c: New file, from GNU gettext.
99414 2005-08-24  Bruno Haible  <bruno@clisp.org>
99416         * modules/lock-tests: New file.
99417         * tests/test-lock.c: New file, from GNU gettext.
99419 2005-08-24  Bruno Haible  <bruno@clisp.org>
99421         * lib/lock.h: Add multiple inclusion guard.
99422         * lib/tls.h: Add multiple inclusion guard.
99424 2005-08-24  Bruno Haible  <bruno@clisp.org>
99426         * gnulib-tool: Add support for the --aux-dir option to
99427         --create-testdir, --create-megatestdir, --test, --megatest.
99428         (func_create_testdir, func_create_megatestdir): Optionally emit a
99429         AC_CONFIG_AUX_DIR directive.
99430         (create-testdir, create-megatestdir, test, megatest): Provide a
99431         default value for $auxdir.
99433 2005-08-24  Bruno Haible  <bruno@clisp.org>
99435         * gnulib-tool (import): Use compound statement instead of subshell
99436         where possible.
99438 2005-08-24  Bruno Haible  <bruno@clisp.org>
99440         * gnulib-tool (import): Change --aux-dir default to "build-aux".
99442 2005-08-24  Bruno Haible  <bruno@clisp.org>
99444         * gnulib-tool (func_version): Update.
99446 2005-08-24  Bruno Haible  <bruno@clisp.org>
99448         * gnulib-tool (func_import, func_create_testdir,
99449         func_create_megatestdir): Quote all autoconf macro arguments.
99451 2005-08-24  Bruno Haible  <bruno@clisp.org>
99453         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
99454         option --force, because --force causes the aclocal.m4 of each
99455         subdirectory to be newer than the corresponding config.h.in.
99457 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
99459         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
99460         All contents moved to gl_REGEX.
99461         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
99462         assume that it does.
99464 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
99466         * lib/regex.h (REG_NOSYS)
99467         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
99468         Define, since POSIX requires it as of 2001.
99469         (_REG_ENOSYS)
99470         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
99471         New private symbol, used to keep the enum signed in all cases.
99472         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
99473         Youngman in
99474         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
99476         * lib/regex_internal.c (re_string_skip_chars, register_state):
99477         (calc_state_hash):
99478         Remove forward decls; no longer needed now that we use prototypes.
99479         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
99480         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
99481         (clean_state_log_if_needed): Likewise.
99483 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
99485         * config/srclist.txt: Add glibc bugs 1231-1233.
99487 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
99489         Fix problems reported by Sam Steingold in
99490         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
99491         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
99492         assumed that reg_errcode_t is a signed type, which is not
99493         necessarily true if _XOPEN_SOURCE is not defined.
99494         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
99495         since some compilers warn about it otherwise.
99497 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
99499         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
99500         (init_word_char, create_initial_state, duplicate_node_closure):
99501         (fetch_token, peek_token_bracket, build_range_exp):
99502         (build_collating_symbol): Remove forward decls; no longer needed
99503         now that we use prototypes.
99505         * lib/regcomp.c:
99506         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
99507         (re_compile_fastmap_iter, regcomp, regerror, regfree):
99508         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
99509         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
99510         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
99511         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
99512         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
99513         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
99514         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
99515         (build_range_exp, build_collating_symbol, parse_bracket_exp):
99516         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
99517         (build_charclass, build_charclass_op, fetch_number, create_tree):
99518         (create_token_tree, mark_opt_subexp, duplicate_tree):
99519         Use prototypes rather than old-style definitions.
99521         * lib/regex_internal.c:
99522         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
99523         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
99524         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
99525         (re_string_reconstruct, re_string_peek_byte_case):
99526         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
99527         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
99528         (re_node_set_init_copy, re_node_set_add_intersect):
99529         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
99530         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
99531         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
99532         (re_acquire_state, re_acquire_state_context, register_state):
99533         (create_ci_newstate, create_cd_newstate, free_state):
99534         Likewise.
99535         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
99536         re_search_2):
99537         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
99538         (re_search_internal, prune_impossible_nodes):
99539         (acquire_init_state_context, check_matching, static):
99540         (check_halt_node_context, check_halt_state_context, proceed_next_node):
99541         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
99542         (update_regs, sift_states_backward, build_sifted_states):
99543         (clean_state_log_if_needed, merge_state_array):
99544         (update_cur_sifted_state, add_epsilon_src_nodes):
99545         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
99546         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
99547         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
99548         (find_recover_state, check_subexp_matching_top, transit_state_mb):
99549         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
99550         (check_arrival, check_arrival_add_next_nodes):
99551         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
99552         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
99553         (check_node_accept_bytes, check_node_accept, extend_buffers):
99554         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
99555         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
99556         (sift_ctx_init):
99557         Likewise.
99559         * lib/regex_internal.h:
99560         (re_string_allocate, re_string_construct, re_string_reconstruct):
99561         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
99562         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
99563         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
99564         (re_string_context_at, re_string_peek_byte_case):
99565         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
99566         is defined, since we now use prototypes always.
99568         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
99569         C89 or better.  All uses removed.
99571 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
99573         * config/srclist.txt: Add glibc bugs 1220-1227.
99575 2005-08-20  Jim Meyering  <jim@meyering.net>
99577         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
99578         of unused local, dfa.
99580 2005-08-20  Bruno Haible  <bruno@clisp.org>
99582         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
99584 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99586         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
99587         (re_node_set_insert_last, re_dfa_add_node):
99588         Rename local variables to avoid GCC shadowing warnings.
99590 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99592         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
99593         [defined lint]: Suppress bogus uninitialized-variable warnings.
99595         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
99596         and let the caller return REG_ESPACE if out of space.  This
99597         removes an uninitialied-variable warning with GCC 4.0.1, and also
99598         avoids taking the address of a local variable.  All callers
99599         changed.
99601 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
99603         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
99604         $LIBCSRC/posix/regexec.c.
99605         Add glibc bug 1217 for regcomp.c.
99607 2005-08-19  Jim Meyering  <jim@meyering.net>
99609         * lib/regexec.c (proceed_next_node): Redo local variables to
99610         avoid GCC shadowing warnings.
99612 2005-08-18  Bruno Haible  <bruno@clisp.org>
99614         * lib/strstr.c (strstr): Fix return value in multibyte case.
99615         * lib/strcasestr.c (strcasestr): Likewise.
99617 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
99619         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
99621 2005-08-17  Jim Meyering  <jim@meyering.net>
99623         Make the %s format (seconds since the epoch) work for a negative
99624         number and when used with a zero-padded field width, e.g. %015s.
99626         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
99627         label so that it precedes the code to set `digits'.  Otherwise,
99628         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
99629         print `00-22'.  Now, it prints `-0022', as it should.
99631 2005-08-17  Bruno Haible  <bruno@clisp.org>
99633         * modules/strstr (Files): Add m4/mbrtowc.m4.
99634         (Depends-on): Add mbuiter.
99636 2005-08-17  Bruno Haible  <bruno@clisp.org>
99638         * modules/strcasestr: New file.
99639         * MODULES.html.sh (String handling, based on ANSI C 89): Add
99640         strcasestr.
99642 2005-08-17  Bruno Haible  <bruno@clisp.org>
99644         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
99646 2005-08-17  Bruno Haible  <bruno@clisp.org>
99648         * modules/mbuiter: New file.
99649         * MODULES.html.sh (Extended multibyte and wide character utilities):
99650         Add mbuiter.
99652 2005-08-17  Bruno Haible  <bruno@clisp.org>
99654         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
99655         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
99657 2005-08-17  Bruno Haible  <bruno@clisp.org>
99659         * m4/strcasestr.m4: New file.
99661 2005-08-17  Bruno Haible  <bruno@clisp.org>
99663         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
99664         * lib/strstr.c: Completely rewritten, with multibyte locale support.
99666 2005-08-17  Bruno Haible  <bruno@clisp.org>
99668         * lib/strcasestr.h: New file.
99669         * lib/strcasestr.c: New file.
99671 2005-08-17  Bruno Haible  <bruno@clisp.org>
99673         * lib/strcasecmp.c: Use mbuiter.h.
99675 2005-08-17  Bruno Haible  <bruno@clisp.org>
99677         * lib/mbuiter.h: New file.
99679 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
99681         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
99682         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
99683         and gl_GETOPT are both invoked via different paths (as happens
99684         with GNU tar CVS because it uses both argp and getopt), the former
99685         wins.
99687 2005-08-16  Bruno Haible  <bruno@clisp.org>
99689         * modules/tls: New file.
99690         * MODULES.html.sh (Multithreading): Add tls.
99692 2005-08-16  Bruno Haible  <bruno@clisp.org>
99694         * modules/strnlen1: New file.
99695         * MODULES.html.sh (String handling): Add strnlen1.
99697 2005-08-16  Bruno Haible  <bruno@clisp.org>
99699         * modules/strcase (Files): Add m4/mbrtowc.m4.
99700         (Depends-on): Add strnlen1, mbchar.
99702 2005-08-16  Bruno Haible  <bruno@clisp.org>
99704         * modules/mbiter: New file.
99705         * MODULES.html.sh (Extended multibyte and wide character utilities):
99706         Add mbiter.
99708 2005-08-16  Bruno Haible  <bruno@clisp.org>
99710         * modules/mbfile: New file.
99711         * MODULES.html.sh (Extended multibyte and wide character utilities):
99712         Add mbfile.
99714 2005-08-16  Bruno Haible  <bruno@clisp.org>
99716         * modules/mbchar: New file.
99717         * MODULES.html.sh (Extended multibyte and wide character utilities):
99718         New section.
99720 2005-08-16  Bruno Haible  <bruno@clisp.org>
99722         * m4/tls.m4: New file, from GNU gettext.
99724 2005-08-16  Bruno Haible  <bruno@clisp.org>
99726         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
99727         always.
99728         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
99730 2005-08-16  Bruno Haible  <bruno@clisp.org>
99732         * m4/mbiter.m4: New file.
99734 2005-08-16  Bruno Haible  <bruno@clisp.org>
99736         * m4/mbfile.m4: New file.
99738 2005-08-16  Bruno Haible  <bruno@clisp.org>
99740         * m4/mbchar.m4: New file.
99742 2005-08-16  Bruno Haible  <bruno@clisp.org>
99744         * lib/tls.h: New file, from GNU gettext.
99745         * lib/tls.c: New file, from GNU gettext.
99747 2005-08-16  Bruno Haible  <bruno@clisp.org>
99749         * lib/strnlen1.h: New file.
99750         * lib/strnlen1.c: New file.
99752 2005-08-16  Bruno Haible  <bruno@clisp.org>
99754         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
99755         (mbi_init): Update.
99756         (mbi_avail, mbi_advance): Let the iteration end before the terminating
99757         NUL byte, not after it.
99759 2005-08-16  Bruno Haible  <bruno@clisp.org>
99761         * lib/strcase.h (strcasecmp): Add note in comments.
99762         * lib/strncasecmp.c: Use code from strcasecmp.c.
99763         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
99764         (strcasecmp): Work correctly in multibyte locales.
99766 2005-08-16  Bruno Haible  <bruno@clisp.org>
99768         * lib/mbiter.h: New file.
99770 2005-08-16  Bruno Haible  <bruno@clisp.org>
99772         * lib/mbfile.h: New file.
99774 2005-08-16  Bruno Haible  <bruno@clisp.org>
99776         * lib/mbchar.h: New file.
99777         * lib/mbchar.c: New file.
99779 2005-08-16  Bruno Haible  <bruno@clisp.org>
99781         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
99782         the valid ones. Makes the comparison operations transitive:
99783         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
99784         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
99786 2005-08-15  Simon Josefsson  <jas@extundo.com>
99788         * modules/ssize_t (License): Change to 'unlimited'.
99790         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
99792 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
99794         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
99795         Add comments for each pending glibc patch.
99797 2005-08-15  Bruno Haible  <bruno@clisp.org>
99799         * lib/regex.h (__restrict_arr): Don't define to __restrict if
99800         __cplusplus is defined.
99802 2005-08-14  Jim Meyering  <jim@meyering.net>
99804         Sync from coreutils.
99806         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
99807         Use the hash-table-based cycle-detection code not just when
99808         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
99809         Reported by James Youngman in
99810         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
99811         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
99812         FTS_TIGHT_CYCLE_CHECK.
99813         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
99814         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
99815         once again.
99816         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
99817         * lib/fts.c (fd_safer): Remove decl.
99818         Include fcntl--.h rather than unistd-safer.h
99819         (fts_safe_changedir): Don't call fd_safer; no longer needed
99820         now that we include fcntl--.h.
99822 2005-08-12  Simon Josefsson  <jas@extundo.com>
99824         * modules/getndelim2: Use ssize_t module.
99825         * modules/getnline: Likewise.
99826         * modules/safe-read: Likewise.
99827         * modules/xreadlink: Likewise.
99829         * modules/ssize_t: New file.
99831 2005-08-12  Simon Josefsson  <jas@extundo.com>
99833         * m4/readline.m4: Look for termcap, curses or ncurses if required.
99835 2005-08-12  Simon Josefsson  <jas@extundo.com>
99837         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
99838         ssize_t.
99840 2005-08-12  Simon Josefsson  <jas@extundo.com>
99842         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
99843         readline, getdelim and check_version.
99844         (Support for systems lacking ISO C 99: Sizes of integer types):
99845         Add size_max.
99847 2005-08-12  Bruno Haible  <bruno@clisp.org>
99849         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
99851 2005-08-11  Simon Josefsson  <jas@extundo.com>
99853         * modules/readline: New file.
99855         * modules/strnlen (Files): Add strnlen.h.
99857 2005-08-11  Simon Josefsson  <jas@extundo.com>
99859         * m4/readline.m4: New file.
99861 2005-08-11  Simon Josefsson  <jas@extundo.com>
99863         * lib/readline.h, readline.c: New file.
99865 2005-08-11  Simon Josefsson  <jas@extundo.com>
99867         * doc/gnulib.texi (Initial import, Finishing touches): Mention
99868         gl_AVOID.
99870 2005-08-11  Bruno Haible  <bruno@clisp.org>
99872         * lib/strnlen.h (strnlen): Change parameter name to match comment.
99874 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
99876         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
99878 2005-08-10  Simon Josefsson  <jas@extundo.com>
99880         * tests/test-iconvme.c: New file.
99882 2005-08-10  Simon Josefsson  <jas@extundo.com>
99884         * m4/strnlen.m4: New file.
99886         * m4/strndup.m4: Don't check for strnlen declaration, done in
99887         strnlen.m4.
99889 2005-08-10  Simon Josefsson  <jas@extundo.com>
99891         * lib/strndup.c: Use strnlen.h.
99893         * lib/strnlen.h: New file.
99895 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
99897         * README: Typos.
99899 2005-08-02  Simon Josefsson  <jas@extundo.com>
99901         * modules/readline: New file.
99903 2005-08-02  Simon Josefsson  <jas@extundo.com>
99905         * modules/getdelim: New file.
99907         * modules/getline: Rewrite, don't use getndelim2.
99909 2005-08-02  Simon Josefsson  <jas@extundo.com>
99911         * m4/getline.m4: Separate out getdelim stuff into separate module.
99913         * m4/getdelim.m4: New file.
99915 2005-08-02  Simon Josefsson  <jas@extundo.com>
99917         * lib/getline.h, getline.c: Rewrite.
99919         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
99921 2005-07-31  Bruno Haible  <bruno@clisp.org>
99923         * lib/lock.h (gl_lock_initializer): New macro.
99924         (gl_lock_define_initialized): Use it.
99925         (gl_rwlock_initializer): New macro.
99926         (gl_rwlock_define_initialized): Use it.
99927         (gl_recursive_lock_initializer): New macro.
99928         (gl_recursive_lock_define_initialized): Use it.
99930 2005-07-30  Karl Berry  <karl@gnu.org>
99932         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
99933         Report from Ben Pfaff, regarding getopt.
99935 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
99937         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
99938         normal way.
99939         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
99940         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
99941         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
99942         (gl_GETOPT): Use the new macros.  Most of the implementation
99943         is moved to the new macros.  This is for programs like Emacs
99944         that don't want all the functionality of gl_GETOPT.
99946 2005-07-26  Bruno Haible  <bruno@clisp.org>
99948         * m4/lock.m4: Update from GNU gettext.
99950 2005-07-26  Bruno Haible  <bruno@clisp.org>
99952         * lib/lock.h: Update from GNU gettext.
99953         * lib/lock.c: Update from GNU gettext.
99955 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
99957         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
99958         obsolescent AC_TRY_RUN.  Include the default includes files, for
99959         'exit'.
99961 2005-07-24  Bruno Haible  <bruno@clisp.org>
99963         * modules/visibility: New file.
99964         * MODULES.html.sh (Misc): Add visibility.
99966 2005-07-24  Bruno Haible  <bruno@clisp.org>
99968         * m4/visibility.m4: New file.
99970 2005-07-24  Bruno Haible  <bruno@clisp.org>
99972         * doc/visibility.texi: New file.
99974 2005-07-22  Bruno Haible  <bruno@clisp.org>
99976         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
99977         $(ALLOCA_H), redundant through BUILT_SOURCES.
99978         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
99979         redundant through BUILT_SOURCES.
99980         * modules/byteswap (Makefile.am): Remove explicit dependency on
99981         $(BYTESWAP_H), redundant through BUILT_SOURCES.
99982         * modules/fnmatch (Makefile.am): Remove explicit dependency on
99983         $(FNMATCH_H), redundant through BUILT_SOURCES.
99984         * modules/getopt (Makefile.am): Remove explicit dependency on
99985         $(GETOPT_H), redundant through BUILT_SOURCES.
99986         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
99987         redundant through BUILT_SOURCES.
99988         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
99989         redundant through BUILT_SOURCES.
99990         * modules/stdbool (Makefile.am): Remove explicit dependency on
99991         $(STDBOOL_H), redundant through BUILT_SOURCES.
99992         * modules/stdint (Makefile.am): Remove explicit dependency on
99993         $(STDINT_H), redundant through BUILT_SOURCES.
99994         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
99995         Remove explicit dependency on $(SYSEXITS_H).
99996         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
99998 2005-07-18  Simon Josefsson  <jas@extundo.com>
100000         * lib/check-version.c (check_version): Accept identical versions too.
100002 2005-07-18  Bruno Haible  <bruno@clisp.org>
100004         * modules/lock: New file.
100005         * MODULES.html.sh (Multithreading): New section.
100007 2005-07-18  Bruno Haible  <bruno@clisp.org>
100009         * m4/lock.m4: New file, from GNU gettext.
100011 2005-07-18  Bruno Haible  <bruno@clisp.org>
100013         * lib/lock.h: New file, from GNU gettext.
100014         * lib/lock.c: New file, from GNU gettext.
100016 2005-07-18  Bruno Haible  <bruno@clisp.org>
100018         * lib/lock.h (gl_once_t): New type.
100019         (gl_once_define, gl_once): New macros.
100020         * lib/lock.c (fresh_once): New variable.
100021         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
100022         functions.
100024 2005-07-16  Simon Josefsson  <jas@extundo.com>
100026         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
100027         workaround, suggested by Bruno.
100029 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
100031         * modules/xalloc (Depends-on): Add xalloc-die.
100032         * modules/xvasprintf (Depends-on): Add xalloc-die.
100034 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
100036         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
100037         with a minor change.
100039 2005-07-15  Bruno Haible  <bruno@clisp.org>
100041         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
100042         When using lib/poll.c, define poll as rpl_poll.
100044 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
100046         * modules/argp (Depends-on): Remove unlocked-io.
100048 2005-07-14  Derek Price  <derek@ximbiot.com>
100050         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
100051         for glob symlink bug.
100053 2005-07-14  Bruno Haible  <bruno@clisp.org>
100055         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
100056         Instead, test for *_unlocked function declarations directly.
100058 2005-07-11  Simon Josefsson  <jas@extundo.com>
100060         * modules/size_max: New file.
100062         * modules/xsize: Depend on size_max module for size_max.m4.
100064 2005-07-11  Simon Josefsson  <jas@extundo.com>
100066         * lib/size_max.h: New file.
100068 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
100070         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
100071         copyright symbol and the year.
100072         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
100073         (version_etc_va): Use parameterized copyright notice.
100074         Reword to conform to the current GNU coding standards.
100076 2005-07-11  Karl Berry  <karl@gnu.org>
100078         * doc/gnulib.texi (Quoting): new node.
100079         (Initial import): more info, from Patrice.
100081 2005-07-11  Bruno Haible  <bruno@clisp.org>
100083         * gnulib-tool (func_usage): Document option --avoid.
100084         (Command line options): Handle --avoid.
100085         (func_acceptable): New function.
100086         (func_modules_transitive_closure): Use it.
100088 2005-07-11  Bruno Haible  <bruno@clisp.org>
100090         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
100091         Reported by Jim Meyering.
100093 2005-07-10  Bruno Haible  <bruno@clisp.org>
100095         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
100096         Needed when size_t is smaller than 'unsigned int'.
100097         Reported by Paul Eggert.
100099 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100101         * modules/argp (Depends-on): Add unlocked-io
100103 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
100105         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
100106         block of defines.
100108 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
100110         * config/srclist.txt: Comment out regcomp.c, since we have a porting
100111         fix now.
100113 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
100114         and Paul Eggert  <eggert@cs.ucla.edu>
100116         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
100117         in wint_t, not wchar_t.  Remove now-unnecessary cast.
100119 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
100121         * modules/regex (Files): Add lib/regex_internal.c,
100122         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
100123         (Depends-on): Add extensions.
100124         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
100126 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
100128         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
100129         pathconf.
100130         * m4/same.m4 (gl_SAME): Likewise.
100131         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
100133         * m4/regex.m4: Adjust to new libc regex implementation.
100134         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
100135         all the .c and .h parts of (the new) regex.
100136         Quote the m4 stuff better.
100137         Check for RE_ICASE bug of old gnulib.
100138         Check for REG_STARTEND of recent libc.
100139         Rename local variables from jm_* to gl_*.
100140         Quote operand of "test -f".
100141         Say "recent enough" version of libc, not "version 2".
100142         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
100143         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
100144         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
100145         Remove check for btowc, isascii.
100146         Require AM_LANGINFO_CODESET.
100148 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
100150         * lib/regex.c, regex.h: Sync from libc.
100151         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
100152         * lib/regexec.c:
100153         New files, synced from libc, except that regex_internal.h
100154         currently has a small porting fix.
100156 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
100158         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
100159         regex_internal.c, regexec.c.
100160         Add regex_internal.h too, but as a comment, since the libc version
100161         is currently broken in gnulib mode.
100163 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
100165         Support programs like Emacs that use gnulib but not gettext.
100166         * MODULES.html.sh (Internationalization functions): Add gettext-h.
100167         * modules/gettext-h: New file.
100168         * modules/gettext (Files): Remove lib/gettext.h.
100169         (Depends-on): Add gettext-h.
100170         (Makefile.am): Remove lib_SOURCES.
100171         * modules/argmatch, modules/c-stack, modules/closeout:
100172         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
100173         * modules/execute, modules/file-type, modules/getaddrinfo:
100174         * modules/getopt, modules/human, modules/javacomp:
100175         * modules/javaexec, modules/mkdir-p, modules/obstack:
100176         * modules/openat, modules/pagealign_alloc, modules/pipe:
100177         * modules/quotearg, modules/regex, modules/rpmatch:
100178         * modules/unicodeio, modules/userspec, modules/version-etc:
100179         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
100180         * modules/xsetenv:
100181         Depend on gettext-h, not gettext.
100183 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
100185         * gnulib-tool (func_import): Add support for 'public domain' license.
100186         * modules/alloca, modules/atexit, modules/memmove:
100187         Now public domain, not GPL.
100188         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
100189         * modules/realloc, modules/strerror, modules/strtod:
100190         Now LGPL, not GPL.
100192 2005-07-05  Bruno Haible  <bruno@clisp.org>
100194         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
100195         autoconf CVS. Needed for mingw.
100197 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
100199         Remove the dependency of the strftime module on the tzset module.
100200         * modules/strftime (Depends-on): Remove dependency on tzset.
100202 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
100204         Remove the dependency of the strftime module on the tzset module.
100205         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
100206         gl_FUNC_TZSET_CLOBBER.
100208 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
100210         Remove the dependency of the strftime module on the tzset module.
100211         * lib/strftime.c (my_strftime)
100212         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
100213         Copy the input structure, to work around some of the bug with
100214         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
100215         Solaris releases, you should also use the tzset module, but we won't
100216         require it as a dependency any more since we don't want LGPLed code
100217         to depend on GPLed code.
100219 2005-07-02  Jim Meyering  <jim@meyering.net>
100221         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
100222         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
100223         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
100224         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
100226 2005-07-02  Jim Meyering  <jim@meyering.net>
100228         * lib/backupfile.c (backup_args): Change a `0' to NULL.
100230 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
100232         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
100233         declares only 'struct timespec;' (!).
100235 2005-07-01  Jim Meyering  <jim@meyering.net>
100237         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
100238         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
100239         * lib/save-cwd.c, tempname.c:
100240         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
100241         and don't include <sys/file.h>).
100243 2005-06-29  Jim Meyering  <jim@meyering.net>
100245         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
100246         type name.  Use the variable name instead.
100247         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
100248         Likewise.
100250 2005-06-28  Simon Josefsson  <jas@extundo.com>
100252         * modules/check-version (Files): Add check-version.m4.
100254 2005-06-28  Simon Josefsson  <jas@extundo.com>
100256         * m4/check-version.m4: New file, suggested by Jim Meyering
100257         <jim@meyering.net>.
100259 2005-06-28  Simon Josefsson  <jas@extundo.com>
100261         * lib/check-version.h, lib/check-version.c: New files.
100263 2005-06-28  Simon Josefsson  <jas@extundo.com>
100265         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
100266         collision with global variable.  Better indentation.  Don't
100267         increment buffer pointer beyond buffer end.  Based on comments
100268         from Paul Eggert <eggert@cs.ucla.edu>.
100270         * lib/base64.h: Indent.
100272 2005-06-28  Simon Josefsson  <jas@extundo.com>
100274         * doc/gnulib.texi (Library version handling): New section.
100276 2005-06-28  Jim Meyering  <jim@meyering.net>
100278         * check-module (find_included_lib_files): Hard-code another
100279         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
100280         but modules/fts-lgpl (correctly) does not list those files.
100282         * modules/canonicalize (Files): Add lib/pathmax.h.
100284 2005-06-25  Simon Josefsson  <jas@extundo.com>
100286         * modules/check-version: New file.
100288 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
100290         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
100291         initializer of struct addrinfo, as an indication that we don't
100292         care how many members the structure has.
100294 2005-06-24  Derek Price  <derek@ximbiot.com>
100295         and Bruno Haible  <bruno@clisp.org>
100297         Remove stat module & update lstat.
100298         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
100299         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
100300         * m4/stat.m4: Remove this file.
100302 2005-06-24  Derek Price  <derek@ximbiot.com>
100303         and Bruno Haible  <bruno@clisp.org>
100305         Remove stat module & update lstat.
100306         * lib/stat.c: Remove this file...
100307         (slash_aware_lstat): ...moving this content and its support...
100308         * lib/lstat.c (rpl_lstat): ...into here.
100309         * lib/lstat.h: New file.
100311 2005-06-24  Derek Price  <derek@ximbiot.com>
100312         and Bruno Haible  <bruno@clisp.org>
100314         Remove stat module & update lstat.
100315         * config/srclist.txt (libc sources): Remove stat.
100317 2005-06-24  Derek Price  <derek@ximbiot.com>
100318         and Bruno Haible  <bruno@clisp.org>
100320         Remove stat module & update lstat.
100321         * MODULES.html.sh (stat): Remove.
100322         * MODULES.html: Regenerated.
100323         * modules/lstat (Description): Correct function name.
100324         (Files): Add "lstat.h".
100325         (Depends-on): Remove stat, add xalloc, stat-macros.
100326         * modules/stat: Remove this file.
100327         (Include): Add "lstat.h", remove <sys/stat.h>.
100329 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
100331         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
100332         (ranged_convert): Don't save conversion in a temporary struct.
100333         This causes a warning with GCC 4.0.0, and anyway in the typical
100334         case it's not worth the extra 100 bytes or so of code.
100335         (ranged_convert, __mktime_internal): When calling a function via a
100336         pointer P, use P () rather than (*P) (), as we now assume C89 or
100337         better.
100339 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
100341         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
100342         "who -r" failed to give output.  Problem reported by Tim Waugh.
100344         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
100345         (xcalloc): Use it to avoid needless tests.
100346         Problem reported by Jim Meyering.
100348 2005-06-20  Derek Price  <derek@ximbiot.com>
100350         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
100351         unnecessary for Autoconfs > 2.59c.
100353 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
100355         * lib/argp.h (__option_is_short): Check upper limit of
100356         __key. Isprint() requires its argument to have the value
100357         of an unsigned char or EOF.
100359 2005-06-16  Jim Meyering  <jim@meyering.net>
100361         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
100362         when either N or S is zero.
100364 2005-06-16  Derek Price  <derek@ximbiot.com>
100366         * m4/bison.m4: Declare YACC & YFLAGS precious.
100368 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
100370         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
100371         multibyte string or pattern, fall back on unibyte matching.
100372         Problem reported by James Youngman.
100374 2005-06-08  Bruno Haible  <bruno@clisp.org>
100376         * modules/csharpcomp: New file.
100377         * MODULES.html.sh (C#): Add csharpcomp.
100379 2005-06-08  Bruno Haible  <bruno@clisp.org>
100381         * m4/csharpcomp.m4: New file, from GNU gettext.
100383 2005-06-08  Bruno Haible  <bruno@clisp.org>
100385         * lib/csharpcomp.h: New file, from GNU gettext.
100386         * lib/csharpcomp.c: New file, from GNU gettext.
100387         * lib/csharpcomp.sh.in: New file, from GNU gettext.
100389 2005-06-08  Bruno Haible  <bruno@clisp.org>
100391         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
100392         warning on mingw.
100394 2005-06-07  Derek Price  <derek@ximbiot.com>
100396         Sync from CVS.
100397         * lib/glob_.h: Indent nested #ifdef.
100399 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
100401         Sync from coreutils.
100402         Use "file name" when talking about file names, instead of "filename"
100403         or "path", as per the GNU coding standards.
100404         * lib/mkdir-p.c: Renamed from makepath.c.
100405         (make_dir_parents): Renamed from make_path.  All callers changed.
100406         * lib/mkdir-p.h: Likewise.  All includers changed.
100407         * lib/filenamecat.c: Renamed from path-concat.c.
100408         (file_name_concat): Renamed from path_concat.  All callers changed.
100409         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
100410         * lib/filenamecat.h: Likewise.  All includers changed.
100411         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
100412         in comments or local variable names.
100413         * lib/basename.c: Likewise.
100414         * lib/canonicalize.c, canonicalize.h: Likewise.
100415         * lib/dirname.c, dirname.h: Likewise.
100416         * lib/euidaccess.c: Likewise.
100417         * lib/exclude.c: Likewise
100418         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
100419         * lib/fsusage.c, fsuage.h: Likewise.
100420         * lib/fts.c, fts_.h: Likewise.
100421         * lib/getcwd.c: Likewise.
100422         * lib/getloadavg.c: Likewise.
100423         * lib/mkstemp.c: Likewise.
100424         * lib/mountlist.c, mountlist.h: Likewise.
100425         * lib/openat.c, openat.h: Likewise.
100426         * lib/readlink-stub.c: Likewise.
100427         * lib/readutmp.c, readutmp.h: Likewise.
100428         * lib/rename.c: Likewise.
100429         * lib/rmdir.c: Likewise.
100430         * lib/same.c: Likewise.
100431         * lib/savedir.c: Likewise.
100432         * lib/stripslash.c: Likewise.
100433         * lib/tempname.c: Likewise.
100434         * lib/xreadlink.c: Likewise.
100435         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
100436         All uses changed.
100437         * lib/exclude.h: Likewise.
100439         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
100440         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
100441         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
100442         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
100443         * lib/pathmax.h: Include <limits.h> unconditionally, since other
100444         files have been getting away with it for years (MORE/BSD 4.3
100445         is extinct now).
100446         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
100447         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
100449         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
100450         Define to 256, not 255, as per modern POSIX.
100452 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
100454         Sync from coreutils.
100455         Use "file name" when talking about file names, instead of "filename"
100456         or "path", as per the GNU coding standards.
100457         * MODULES.html.sh: mkdir-p renamed from makepath.
100458         filenamecat renamed from path-concat.
100459         * modules/filenamecat: Renamed from modules/path-concat.
100460         (Files): filenamecat.h and filenamecat.c renamed from
100461         path-concat.h and path-concat.c.
100462         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
100463         (Include): filenamecat.h, not path-concat.h.
100464         * modules/mkdir-p: Renamed from modules/makepath.
100465         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
100466         makepath.c.
100467         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
100468         (Include): mkdir-p.h, not makepath.h.
100470 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
100472         Sync from coreutils.
100473         * m4/mkdir-p.m4: Renamed from makepath.m4.
100474         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
100475         Rename files from makepath.c to mkdir-p.c, and from
100476         makepath.h to mkdir-p.h.
100477         * m4/filenamecat.m4: Renamed from path-concat.m4.
100478         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
100479         Rename files from path-concat.c to filenamecat.c,
100480         and from path-concat.h to filenamecat.h.
100481         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
100482         "file name" in local variables or comments.
100483         * m4/rename.m4: Likewise.
100485 2005-06-01  Bruno Haible  <bruno@clisp.org>
100487         * modules/csharpexec: New file.
100488         * MODULES.html.sh (C#): New section.
100490 2005-06-01  Bruno Haible  <bruno@clisp.org>
100492         * m4/csharp.m4: New file, from GNU gettext.
100493         * m4/csharpexec.m4: New file, from GNU gettext.
100495 2005-06-01  Bruno Haible  <bruno@clisp.org>
100497         * lib/csharpexec.h: New file, from GNU gettext.
100498         * lib/csharpexec.c: New file, from GNU gettext.
100499         * lib/csharpexec.sh.in: New file, from GNU gettext.
100501 2005-05-31  Derek Price  <derek@ximbiot.com>
100502             Paul Eggert  <eggert@cs.ucla.edu>
100504         Sync from cvs.
100505         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
100507 2005-05-31  Derek Price  <derek@ximbiot.com>
100508             Paul Eggert  <eggert@cs.ucla.edu>
100510         Sync from cvs.
100511         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
100513 2005-05-29  Derek Price  <derek@ximbiot.com>
100515         * config/srclist.txt (glob_.h, glob.c): Add these files.
100517 2005-05-29  Derek Price  <derek@ximbiot.com>
100519         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
100520         * modules/glob: New file.
100521         * modules/getlogin_r: Add link to POSIX spec in description.
100523 2005-05-29  Derek Price  <derek@ximbiot.com>
100524             Paul Eggert  <eggert@cs.ucla.edu>
100526         * m4/glob.m4: New file.
100528 2005-05-29  Derek Price  <derek@ximbiot.com>
100529             Paul Eggert  <eggert@cs.ucla.edu>
100531         * lib/glob_.h, lib/glob.c: New files.
100533 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
100535         * modules/fts (Files): Remove m4/inttypes-pri.m4.
100536         * modules/fts-lgpl (Depends-on): Remove gettext.
100538 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
100540         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
100541         and don't require gt_INTTYPES_PRI.
100543 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
100545         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
100547         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
100548         the configuration hassle isn't worth it.
100549         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
100550         (LONGEST_MODIFIER, PRIuMAX): Remove.
100552 2005-05-27  Bruno Haible  <bruno@clisp.org>
100554         * lib/getlogin_r.h: Remove second include of <stddef.h>.
100556 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
100558         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
100559         _POSIX_PTHREAD_SEMANTICS for Solaris.
100561 2005-05-25  Derek Price  <derek@ximbiot.com>
100563         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
100565 2005-05-25  Derek Price  <derek@ximbiot.com>
100566             Paul Eggert  <eggert@cs.ucla.edu>
100568         * modules/getlogin_r, m4/getlogin_r.m4: New files.
100569         * lib/getlogin_r.c, getlogin_r.h: New files.
100571 2005-05-25  Bruno Haible  <bruno@clisp.org>
100572             Derek Price  <derek@ximbiot.com>
100574         * lib/getlogin_r.h: Simplify API documentation.
100576 2005-05-23  Derek Price  <derek@ximbiot.com>
100578         * modules/minmax (Files): Add m4/minmax.m4.
100579         (configure.ac): Add gl_MINMAX.
100581 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
100583         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
100584         so that unistd-safer.h (GPL'ed code) need not be included.
100586 2005-05-22  Bruno Haible  <bruno@clisp.org>
100588         * m4/minmax.m4: New file.
100589         Based on a patch by Derek Price <derek@ximbiot.com>.
100591 2005-05-22  Bruno Haible  <bruno@clisp.org>
100593         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
100594         (INT64_MIN): Fix definition.
100595         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
100597         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
100598         NEED_SIGNED_INT_TYPES.
100600         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
100601         HAVE_SYSTEM_INTTYPES.
100603 2005-05-22  Bruno Haible  <bruno@clisp.org>
100605         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
100606         Also include <sys/param.h> if it defines MIN, MAX.
100607         Based on a patch by Derek Price <derek@ximbiot.com>.
100609 2005-05-21  Jim Meyering  <jim@meyering.net>
100611         * modules/fts (Files): Add m4/inttypes-pri.m4.
100612         (Depends-on): Add lstat and remove gettext.  Alphabetize.
100614 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
100616         New fts module.
100617         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
100618         (setup_dir, free_dir): New functions.
100619         (enter_dir, leave_dir): Define trivial
100620         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
100621         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
100622         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
100623         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
100624         Move to fts-cycle.c.
100625         (fts_open): Use setup_dir.
100626         (fts_close): Use free_dir.
100627         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
100628         This adds a label and some gotos, but the alternatives were messier.
100629         Check for memory allocation failure when entering a dir.
100630         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
100631         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
100632         (FTS): New member fts_cycle, that is a union that contains the
100633         old active_dir_ht and cycle_state.  All uses changed to mention
100634         fts_cycle.ht and fts_cycle.state.
100635         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
100636         fts.c, with the following changes:
100637         (setup_dir, free_dir): New functions.
100638         (enter_dir): Now returns bool.  Return true if successful, false
100639         if memory exhausted.  All callers changed.
100640         Do not bother partly cleaning up on
100641         memory allocation failure; that is free_dir's job.
100642         However, free ad if hash_insert fails, to avoid memory leak.
100643         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
100644         fts->fts_options to see which union member to use.
100646 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
100648         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
100649         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
100651 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
100653         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
100655 2005-05-20  Jim Meyering  <jim@meyering.net>
100657         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
100658         Now a macro, to pacify GCC.
100660 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
100662         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
100663         of -1.
100665 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
100667         * lib/chown.c (rpl_chown): Return -1 on failure.
100669 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
100671         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
100672         Don't check for stddef.h.
100673         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
100674         don't use its results.
100675         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
100676         since we include them unconditionally.  Don't require
100677         AM_STDBOOL_H, since stdbool is a prerequisite.
100678         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
100679         since we assume C89 or better.
100680         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
100681         as we don't use their results.
100682         Don't check for fchdir, memmove, memset, strrchr, as we use
100683         them unconditionally.
100684         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
100685         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
100687 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
100689         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
100690         Include <stddef.h> unconditionally, since we assume C89 now.
100691         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
100692         * lib/fts.c: Include fts_.h first, to check interface.
100693         Do not include intprops.h; no longer needed.
100694         Include cycle-check.h and hash.h, since fts_.h no longer does.
100695         Remove unnecessary casts of closedir to void.
100696         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
100697         decide whether to decrement nlinks.
100698         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
100699         (FTS): Use struct hash_table * instead of Hash_table, so that
100700         we no longer need to include hash.h here.
100702 2005-05-18  Jim Meyering  <jim@meyering.net>
100704         * modules/dirfd (License): Change to LGPL.  Most of the code
100705         is already in the public domain.
100707 2005-05-18  Jim Meyering  <jim@meyering.net>
100709         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
100710         Reported by Yoann Vandoorselaere.
100712 2005-05-17  Jim Meyering  <jim@meyering.net>
100714         * m4/fts.m4: New file, from coreutils.
100716 2005-05-17  Jim Meyering  <jim@meyering.net>
100718         * lib/fts.c, lib/fts_.h: New files, from coreutils.
100720 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100722         Sync from coreutils.
100723         * m4/unlinkdir.m4: New file.
100725 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100727         Sync from coreutils.
100728         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
100729         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
100730         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
100731         White space changes only.
100732         * lib/makepath.c (make_path): Port to hosts where leading "//" is
100733         special.
100734         * lib/yesno.c: Include getline.h, not ctype.h.
100735         (yesno): Don't remove leading white space; POSIX doesn't allow it.
100736         Use getline to remove arbitrary restriction on response length.
100738 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
100740         * config/srclist-update: Spell out "Street" in FSF postal
100741         mail address; this is the style the FSF seems to prefer.
100743         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
100744         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
100745         this updates FSF postal mail address.
100747         Sync from coreutils.
100748         * modules/unlinkdir: New file.
100749         * modules/yesno (Depends-on): Add getline.
100750         * MODULES.html.sh (File system functions): Add unlinkdir.
100752 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
100754         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
100755         lib/strsep.h:
100756         Change the initial comment to refer to GPL, not LGPL.
100757         gnulib-tool will change it to LGPL as needed.
100759         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
100760         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
100761         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
100762         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
100763         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
100764         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
100765         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
100766         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
100767         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
100768         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
100769         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
100770         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
100771         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
100772         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
100773         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
100774         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
100775         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
100776         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
100777         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
100778         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
100779         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
100780         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
100781         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
100782         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
100783         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
100784         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
100785         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
100786         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
100787         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
100788         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
100789         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
100790         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
100791         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
100792         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
100793         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
100794         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
100795         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
100796         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
100797         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
100798         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
100799         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
100800         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
100801         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
100802         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
100803         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
100804         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
100805         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
100806         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
100807         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
100808         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
100809         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
100810         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
100811         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
100812         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
100813         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
100814         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
100815         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
100816         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
100817         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
100818         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
100819         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
100820         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
100821         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
100822         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
100823         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
100824         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
100825         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
100826         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
100827         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
100828         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
100829         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
100830         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
100831         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
100832         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
100833         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
100834         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
100835         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
100836         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
100837         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
100838         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
100839         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
100840         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
100841         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
100842         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
100843         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
100844         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
100845         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
100846         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
100847         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
100848         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
100849         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
100850         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
100851         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
100852         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
100853         lib/yesno.c, lib/yesno.h:
100854         Update FSF postal mail address.
100856 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
100858         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
100859         tests/test-memmem.c, tests/test-stpncpy.c:
100860         Update FSF postal mail address.
100862 2005-05-13  Bruno Haible  <bruno@clisp.org>
100864         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
100865         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
100866         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
100867         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
100868         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
100869         Add support for 64-bit integers in the MSVC compiler.
100871 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
100873         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
100875 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
100877         * gnulib-tool (func_import): Sort and uniquify recommended includes.
100879 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
100881         * doc/getdate.texi (General date syntax): Don't say that date
100882         date --iso-8601=ns generates acceptable dates; it doesn't yet.
100883         Problem reported by Nic Ferrier.
100885 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100887         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
100888         specified in ai_socktype. Fix invalid ai_protocol
100889         check. ai_protocol is usually set to 0 or depending on
100890         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
100891         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
100892         ai_socktype / ai_protocol in the returned addrinfo structure.
100894 2005-05-10  Simon Josefsson  <jas@extundo.com>
100896         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
100897         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
100899 2005-05-10  Karl Berry  <karl@gnu.org>
100901         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
100902         (from http://www.gnu.org/licenses).
100903         * doc/COPYING.LIB: also rename to COPYING.LESSER.
100904         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
100905         fdl.texi suffices.
100907 2005-05-10  Karl Berry  <karl@gnu.org>
100909         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
100910         (COPYING.DOC): remove.
100912         * config/srclist-update: new FSF address.
100914 2005-05-10  Derek Price  <derek@ximbiot.com>
100916         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
100917         possible.
100919 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100920             Bruno Haible  <bruno@clisp.org>
100922         * modules/inet_ntop: New file.
100923         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
100924         inet_ntop.
100926 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100927             Bruno Haible  <bruno@clisp.org>
100929         * m4/inet_ntop.m4: New file.
100931 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
100932             Bruno Haible  <bruno@clisp.org>
100934         * lib/inet_ntop.h: New file.
100935         * lib/inet_ntop.c: New file, from glibc with modifications.
100937 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
100939         * modules/time_r (License): Change to LGPL.
100940         * modules/extensions (License): Change to LGPL.  Actually,
100941         the license is more permissive than that, but currently gnulib-tool
100942         doesn't know how to handle more-permissive licenses.
100944         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
100945         Problem reported by Dave Love.
100947 2005-05-08  Jim Meyering  <jim@meyering.net>
100949         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
100950         blank.
100952 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
100954         * modules/argmatch (Depends-on): Add stdbool.
100955         * modules/backupfile (Depends-on): Likewise.
100956         * modules/chdir-long (Depends-on): Likewise.
100957         * modules/closeout (Depends-on): Likewise.
100958         * modules/cycle-check (Depends-on): Likewise.
100959         * modules/dirname (Depends-on): Likewise.
100960         * modules/fnmatch (Depends-on): Likewise.
100961         * modules/fsusage (Depends-on): Likewise.
100962         * modules/fwriteerror (Depends-on): Likewise.
100963         * modules/getcwd (Depends-on): Likewise.
100964         * modules/getloadavg (Depends-on): Likewise.
100965         * modules/hard-locale (Depends-on): Likewise.
100966         * modules/makepath (Depends-on): Likewise.
100967         * modules/mountlist (Depends-on): Likewise.
100968         * modules/nanosleep (Depends-on): Likewise.
100969         * modules/posixtm (Depends-on): Likewise.
100970         * modules/quotearg (Depends-on): Likewise.
100971         * modules/readtokens (Depends-on): Likewise.
100972         * modules/readtokens0 (Depends-on): Likewise.
100973         * modules/readutmp (Depends-on): Likewise.
100974         * modules/save-cwd (Depends-on): Likewise.
100975         * modules/strftime (Depends-on): Likewise.
100976         * modules/userspec (Depends-on): Likewise.
100977         * modules/utimecmp (Depends-on): Likewise.
100978         * modules/xgetcwd (Depends-on): Likewise.
100979         * modules/xnanosleep (Depends-on): Likewise.
100980         * modules/xstrtod (Depends-on): Likewise.
100981         * modules/yesno (Depends-on): Likewise.
100983 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
100985         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
100986         needless checks.
100988 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
100990         Merge from coreutils.  Among other things,
100991         add bulletproofing for cases where stdin, stdout, or stderr are closed.
100992         * lib/fd-safer.c: New file.
100993         * lib/fcntl-safer.h, open-safer.c: Remove.
100994         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
100995         * lib/dup-safer.c: Include unistd-safer.h first.
100996         Don't include errno.h.
100997         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
100998         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
100999         * lib/file-type.c: Rely on file-type.h change.
101000         * lib/getloadavg.c: Include unistd-safer.h.
101001         (getloadavg): Use safer open.
101002         * lib/getusershell.c: Include "stdio-safer.h".
101003         (getusershell): Use safer fopen.
101004         * lib/long-options.c (long_options): Use NULL rather than 0.
101005         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
101006         'free'.
101007         * lib/modechange.c: Likewise.
101008         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
101009         (MODE_DONE): New constant.
101010         (struct mode_change): Remove 'next' member.
101011         (make_node_op_equals): New function; like the old one of the
101012         same name, except it allocates an array.
101013         (mode_compile, mode_create_from_ref): Use it.
101014         (mode_compile): Allocate result as an array, not a linked list.
101015         Parse octal string ourself, so that we catch mistakes like "+0".
101016         (mode_adjust): Arg is an array, not a linked list.
101017         * lib/modechange.c: Include stat-macros.h, xalloc.h.
101018         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
101019         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
101020         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
101021         Remove.  This is now stat-macros.h's job.
101022         (talloc): Remove.  All callers replaced by xalloc, so that
101023         our invokers don't have to worry about reporting memory failures.
101024         (make_node_op_equals): Remove.
101025         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
101026         New constants.
101027         (struct mode_change): Moved here from modechange.h.
101028         (mode_append_entry): Remove.
101029         (mode_compile): Remove MASKED_OPS arg, since it encouraged
101030         apps to have incorrect behavior.  Use simpler algorithm for head
101031         and tail.  Don't futz with umask; that's now the job of mode_adjust.
101032         Detect more invalid usages rather than having somewhat-random behavior.
101033         Don't insert an "a=" action, as that leads to incorrect behavior.
101034         (mode_compile, mode_create_from_ref): Return NULL on error instead
101035         of an enum, since now there's only one way to have an error.  All
101036         callers changed.
101037         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
101038         at the correct time.  Simplify calculation of "+u" and its ilk.
101039         Don't mishandle "+X".
101040         (mode_free): Remove "register" and localize decls.
101041         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
101042         (struct mode_change): Move to modechange.c; callers don't
101043         need to see this stuff.
101044         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
101045         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
101046         (mode_change, mode_adjust): Reflect the new signatures noted above.
101047         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
101048         that might redefine system include files.
101049         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
101050         (my_usleep): Use NULL rather than (void *) 0.
101051         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
101052         Use siginterrupt to specify that system calls should be interrupted.
101053         (rpl_nanosleep): Move initialization of suspended closer to call of
101054         my_usleep.
101055         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
101056         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
101057         (desirable_utmp_entry): New function.
101058         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
101059         using x2nrealloc, to simplify logic.
101060         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
101061         size calculation.  Do not assume utmp file is a regular file.
101062         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
101063         (READ_UTMP_CHECK_PIDS): New constant.
101064         * lib/save-cwd.c: Include unistd-safer.h.
101065         (save_cwd): Use fd_safer.
101066         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
101067         [!_LIBC] Include "stat-macros.h" instead.
101068         * lib/unistd-safer.h (fd_safer): New decl.
101070 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
101072         * modules/getloadavg (Depends-on): Add unistd-safer.
101073         * modules/getusershell (Depends-on): Add stdio-safer.
101074         * modules/lstat (Depends-on): Remove xalloc.
101075         * modules/mkstemp (Depends-on): Add stat-macros.
101076         * modules/modechange (Depends-on): Remove xstrtol.
101077         Add stat-macros, xalloc.
101078         * modules/save-cwd (Depends-on): Add unistd-safer.
101079         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
101080         * modules/unistd-safer (Files): Add lib/fd-safer.c
101081         (Makefile.am): Remove lib_SOURCES.
101083         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
101084         Remove fcntl-safer; unistd-safer supersedes it.
101086 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
101088         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
101089         AC_HEADER_STAT.
101090         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
101091         (gl_PREREQ_CHOWN): Remove.
101092         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
101093         it.  Don't require AC_HEADER_STAT.
101094         (gl_PREREQ_LSTAT): Remove.
101095         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
101096         Don't require AC_HEADER_STAT.
101097         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
101098         (gl_PREREQ_RMDIR): Remove.
101099         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
101100         mention stat-macros.h or AC_HEADER_STAT, since we'll make
101101         the stat-macros module a prerequisite.
101102         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
101103         * m4/filemode.m4 (gl_FILEMODE): Likewise.
101104         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
101105         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
101106         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
101107         variable names.
101108         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
101109         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
101110         variable prefixes.
101111         * m4/fcntl-safer.m4: Remove.
101112         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
101113         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
101114         Invoke gl_PREREQ_FD_SAFER.
101115         (gl_PREREQ_FD_SAFER): New macro.
101116         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
101117         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
101118         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
101119         Remove duplicate call to AC_LIBOBJ(readutmp).
101120         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
101122         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
101123         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
101125 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
101127         * MODULES.html.sh (Misc): Add byteswap.
101129 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
101131         * modules/getcwd (Depends-on): Add extensions.
101132         * modules/openat (Depends-on): Likewise.
101134 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
101136         * modules/byteswap: New file.
101138 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
101140         * m4/byteswap.m4: New file.
101142 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
101144         * lib/byteswap_.h: New file.
101146 2005-04-25  Karl Berry  <karl@gnu.org>
101148         * m4/gettext.m4: Update from GNU gettext 0.14.4.
101150 2005-04-25  Albert Chin  <china@thewrittenword.com>
101152         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
101153         Toolkit C bug.
101155 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
101157         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
101158         (func_ln_if_changed): Remove forcibly for no error message
101159         in case file does not exist.
101161 2005-04-19  Simon Josefsson  <jas@extundo.com>
101163         * gnulib-tool (Options): Make --symlink mean --symbolic.
101165 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
101167         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
101169 2005-04-16  Simon Josefsson  <jas@extundo.com>
101171         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
101173 2005-04-15  Simon Josefsson  <jas@extundo.com>
101175         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
101177 2005-04-15  Simon Josefsson  <jas@extundo.com>
101179         * gnulib-tool: Rename --symlink to --symbolic.
101181 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
101183         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
101184         symbolic links to files instead of copying/moving.  Add --aux-dir,
101185         specifying directory relative --dir where auxiliary build tools
101186         are placed.
101188 2005-04-14  Bruno Haible  <bruno@clisp.org>
101190         * modules/allocsa (License): Change to LGPL.
101191         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
101193 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
101195         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
101196         that "UTC +1 second" continues to work.  Problem reported
101197         by Dmitry V. Levin.
101198         (relunit_snumber): New rule.
101199         (relunit): Use it.
101201 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
101203         * lib/getdate.y (universal_time_zone_table): New constant.
101204         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
101205         universal_time_zone_table.
101206         (lookup_zone): Prefer universal_time_zone_table to
101207         local_time_zone_table, so that "GMT" time stamps are allowed in
101208         London during the summer.  Problem reported by Ian Abbott.
101210 2005-04-12  Jim Meyering  <jim@meyering.net>
101212         * lib/human.c (humblock): Set *options even when returning due to
101213         xstrtoumax conversion failure.  Thanks to a used-uninitialized
101214         warning from gcc-4.
101216 2005-04-09  Jim Meyering  <jim@meyering.net>
101218         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
101219         -Wuninitialized: initialize tm0.tm_year.
101221 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
101223         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
101224         count, since there's no maximum.  All uses changed.
101225         Add member dsts_seen.
101226         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
101227         not being INT_MAX.
101228         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
101229         Use pc_rels_seen to decide whether a date is absolute.
101231         * lib/getdate.y (number): Don't overwrite year.
101232         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
101233         check.
101235 2005-04-02  Simon Josefsson  <jas@extundo.com>
101237         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
101238         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
101240 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
101242         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
101243         where no absolute path name can be longer than PATH_MAX.
101245 2005-03-27  Jim Meyering  <jim@meyering.net>
101247         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
101249 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
101251         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
101252         "one's complement" -> "ones' complement" in comment, as per Knuth.
101253         "value of type" -> "type or expression" in comment.
101254         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
101256 2005-03-26  Jim Meyering  <jim@meyering.net>
101258         Comment nits.
101259         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
101260         Correct typos: s/or/of/.
101262 2005-03-26  Jim Meyering  <jim@meyering.net>
101264         * modules/check-include-files: Move to ../ and rename to...
101265         * check-module: ...this.
101267 2005-03-25  Jim Meyering  <jim@meyering.net>
101269         * modules/xvasprintf (Files): Add xalloc.h.
101271 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
101273         * modules/gettext (Files): config/config.rpath ->
101274         build-aux/config.rpath
101275         * modules/iconv (Files): Likewise.
101276         Problem reported by Oskar Liljeblad.
101278 2005-03-23  Jim Meyering  <jim@meyering.net>
101280         * modules/check-include-files: New script to check for
101281         missing dependencies, multiple includes, etc.
101283         * modules/c-strtold (Depends-on): Add xalloc.
101284         * modules/c-strtod (Depends-on): Add xalloc.
101285         * modules/hash (Depends-on): Add xalloc.
101286         (Files): Remove lib/xalloc.h.
101288         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
101289         * modules/userspec (Files): Add lib/inttostr.h.
101291 2005-03-23  Jim Meyering  <jim@meyering.net>
101293         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
101295 2005-03-22  Jim Meyering  <jim@meyering.net>
101297         * modules/stat-macros: New module.
101298         * modules/canonicalize, modules/euidaccess, modules/file-type,
101299         * modules/filemode, modules/lchown, modules/makepath,
101300         * modules/rmdir, modules/stat: Depend on new stat-macros module
101301         rather than listing lib/stat-macros.h manually.
101302         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
101304 2005-03-22  Jim Meyering  <jim@meyering.net>
101306         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
101308 2005-03-22  Bruno Haible  <bruno@clisp.org>
101310         * config/srclist.txt: Replace target directory 'config' with
101311         'build-aux'.
101312         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
101313         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
101314         ../build-aux/.
101316 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
101318         * modules/chdir-long (Depends-on): Add mempcpy.
101320         * modules/acl, modules/backupfile, modules/c-strtod,
101321         modules/c-strtold, modules/canon-host, modules/canonicalize,
101322         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
101323         modules/exclude, modules/exitfail, modules/file-type,
101324         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
101325         modules/getdate, modules/getline, modules/getpagesize,
101326         modules/getpass, modules/getugroups, modules/group-member,
101327         modules/hard-locale, modules/hash, modules/human, modules/idcache,
101328         modules/inttostr, modules/long-options, modules/makepath,
101329         modules/md5, modules/memcasecmp, modules/memcoll,
101330         modules/modechange, modules/mountlist, modules/path-concat,
101331         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
101332         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
101333         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
101334         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
101335         modules/strftime, modules/strndup, modules/strverscmp,
101336         modules/timespec, modules/unlocked-io, modules/userspec,
101337         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
101338         modules/yesno:
101339         Remove lib_SOURCES line from Makefile.am section, as this is now
101340         done automatically by the corresponding Autoconf macro.
101342 2005-03-21  Jim Meyering  <jim@meyering.net>
101344         Changes imported from coreutils.
101346         * lib/cycle-check.c: Don't include xalloc.h.
101348         * lib/path-concat.c: Don't include assert.h.
101349         (path_concat): Remove assertion that would have triggered
101350         for ABASE starting with more than one slash.
101351         Reported by Andreas Schwab.
101353         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
101354         properly when ABASE is an absolute file name.
101355         Correct the description of this function.
101356         Include <assert.h>.
101357         Add an assertion and a test driver.
101358         This fixes a bug introduced on 2004-07-02.
101359         Andreas Schwab reported the resulting failure of cp --parents:
101360         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
101362 2005-03-21  Jim Meyering  <jim@meyering.net>
101364         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
101365         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
101367 2005-03-21  Jim Meyering  <jim@meyering.net>
101368         and  Paul Eggert  <eggert@cs.ucla.edu>
101370         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
101371         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
101372         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
101373         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
101374         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
101375         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
101376         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
101377         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
101378         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
101379         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
101380         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
101381         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
101382         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
101383         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
101384         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
101385         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
101386         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
101387         for these modules.
101389 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
101391         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
101392         (which shouldn't happen), generate nothing instead of returning 0
101393         immediately, so that nstrftime (NULL, ...) doesn't return 0.
101395 2005-03-16  Bruno Haible  <bruno@clisp.org>
101397         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
101398         HAVE_LONGLONG_64BIT.
101400 2005-03-16  Bruno Haible  <bruno@clisp.org>
101402         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
101403         HAVE_LONGLONG_64BIT.
101405 2005-03-16  Bruno Haible  <bruno@clisp.org>
101407         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
101408         HAVE_LONGLONG_64BIT.
101410 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
101412         * lib/strftime.c (my_strftime): Prepend space to format so that we can
101413         reliably distinguish strftime failure from empty output on POSIX
101414         hosts.
101416 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
101418         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
101419         (iconv_string): Don't guess a size-zero buffer, as that might cause
101420         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
101421         result would be 'too large', where 'too large' is (heuristically)
101422         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
101423         overflow concerns.  This will prevent some unwanted malloc failures
101424         when the inputs are very large.
101426 2005-03-15  Karl Berry  <karl@gnu.org>
101428         * config/srclist.txt (config.rpath): from gettext.
101429         * config/config.rpath: update.
101431 2005-03-15  Bruno Haible  <bruno@clisp.org>
101433         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
101434         to 'negate'.
101436         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
101437         variable.
101439         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
101440         results.
101442 2005-03-14  Simon Josefsson  <jas@extundo.com>
101444         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
101445         <fx@gnu.org>.
101447 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
101449         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
101450         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
101451         intprops.h.
101452         * lib/strtol.c: Likewise.
101454 2005-03-14  Jim Meyering  <jim@meyering.net>
101456         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
101457         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
101458         to be nonzero so that we (and caller) can detect the difference
101459         between a valid zero-length expansion and an error return, even
101460         when the underlying strftime fails before writing anything into
101461         that location.
101463 2005-03-14  Bruno Haible  <bruno@clisp.org>
101465         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
101466         Update from GNU gettext 0.14.3.
101468 2005-03-10  Jim Meyering  <jim@meyering.net>
101470         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
101472 2005-03-10  Jim Meyering  <jim@meyering.net>
101474         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
101475         so that this module works on systems without fchdir.
101477 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
101479         Factor int-properties macros into a single file, except for
101480         glibc-related files.
101481         * lib/intprops.h: New file.
101482         * lib/getloadavg.c: Include it instead of limits.h.
101483         (INT_STRLEN_BOUND): Remove.
101484         * lib/human.c: Include intprops.h.
101485         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
101486         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
101487         302/1000.
101488         * lib/inttostr.h: Include intprops.h instead of limits.h.
101489         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
101490         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
101491         for consistency with intprops.h.
101492         (time_t_is_integer, twos_complement_arithmetic): Use them.
101493         * lib/sig2str.h: Include <signal.h>, intprops.h.
101494         (INT_STRLEN_BOUND): Remove.
101495         * lib/strftime.c (TYPE_SIGNED): Remove.
101496         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
101497         * lib/strtol.c: Adjust comments to match intprops.h.
101498         * lib/userspec.c: Include intprops.h.
101499         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
101500         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
101501         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
101502         instead of rolling our own expressions.
101503         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
101505         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
101506         instead of int.
101507         (my_strftime): Do not mishandle years close to INT_MAX, by doing
101508         the right thing even if adding 1900 would overflow.  Similarly
101509         for tm_mon + 1 and tm_yday + 1.
101510         Make %Y always equivalent to %C%y, and similarly for %G and %g.
101511         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
101512         (DO_SIGNED_NUMBER): New macro.
101513         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
101515 2005-03-07  Bruno Haible  <bruno@clisp.org>
101517         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
101519 2005-03-07  Bruno Haible  <bruno@clisp.org>
101521         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
101523 2005-03-04  Derek R. Price  <derek@ximbiot.com>
101525         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
101526         (func_import): Only replace files via --import when they have actually
101527         changed.
101529 2005-03-03  Derek R. Price  <derek@ximbiot.com>
101531         * m4/mmap-anon.m4: New file.
101532         * m4/pagealign_alloc.m4: New file.
101534 2005-03-03  Derek R. Price  <derek@ximbiot.com>
101535             Bruno Haible  <bruno@clisp.org>
101537         * modules/pagealign_alloc: New file.
101538         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
101540 2005-03-03  Derek R. Price  <derek@ximbiot.com>
101541             Bruno Haible  <bruno@clisp.org>
101543         * lib/pagealign_alloc.h: New file.
101544         * lib/pagealign_alloc.c: New file.
101546 2005-03-03  Bruno Haible  <bruno@clisp.org>
101548         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
101549         Use an all-permissive copyright notice, recommended by RMS.
101551 2005-03-02  Bruno Haible  <bruno@clisp.org>
101553         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
101554         of AIX, the replacement has to be done only after <string.h> is
101555         included, therefore not in config.h. stpncpy.h does the replacement,
101556         and stpncpy.c uses it.
101558 2005-03-02  Bruno Haible  <bruno@clisp.org>
101560         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
101561         stpncpy.c uses it.
101563 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101565         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
101566         The workaround isn't strictly needed for POSIX conformance, and
101567         it's too much of a pain to configure and maintain.  We'll ask
101568         people to fix their kernels instead.
101569         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
101570         (NANOSLEEP_BUG_WORKAROUND): Remove.
101571         (xnanosleep): Remove the workaround.
101573 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101575         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
101576         Reported by Derek Price.
101577         (Include): Add "timespec.h".
101579         * modules/xnanosleep (Depends-on): Remove gethrxtime.
101581 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
101583         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
101584         to detect nanosleep bug.
101586 2005-03-01  Bruno Haible  <bruno@clisp.org>
101588         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
101590 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
101592         * modules/gethrxtime: New file.
101593         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
101594         (Depends-on): Add gethrxtime.
101595         (configure.ac): Add gl_XNANOSLEEP.
101596         (Makefile.am): Remove lib_SOURCES line.
101598 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
101600         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
101601         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
101603 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
101605         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
101606         * lib/timespec.h (gettime): Return void, since it always
101607         succeeds now.  All uses changed.
101608         * lib/gettime.c (gettime): Likewise.
101609         [HAVE_NANOTIME]: Prefer nanotime.
101610         Assume gettimeofday succeeds, as POSIX requires.
101611         Assime time () succeeds, since other code already does.
101612         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
101613         (timespec_subtract): Remove.
101614         (NANOSLEEP_BUG_WORKAROUND): New constant.
101615         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
101616         things considerably.  Use it only on GNU/Linux hosts, since the
101617         workaround shouldn't be needed elsewhere.
101619 2005-02-24  Bruno Haible  <bruno@clisp.org>
101621         * modules/gettext (Files): Add m4/glibc2.m4.
101623 2005-02-24  Bruno Haible  <bruno@clisp.org>
101625         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
101626         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
101627         * m4/progtest.m4:
101628         Update from GNU gettext 0.14.2.
101629         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
101631 2005-02-24  Bruno Haible  <bruno@clisp.org>
101633         * lib/localcharset.c: Update from GNU gettext 0.14.2.
101634         * lib/config.charset: Update from GNU gettext 0.14.2.
101636 2005-02-24  Bruno Haible  <bruno@clisp.org>
101638         * lib/gettext.h: Update from GNU gettext 0.14.2.
101640 2005-02-23  Simon Josefsson  <jas@extundo.com>
101642         * m4/iconvme.m4: New file.
101644 2005-02-23  Jim Meyering  <jim@meyering.net>
101646         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
101647         change.
101648         Thanks to Bruno Haible for catching it.
101650 2005-02-22  Simon Josefsson  <jas@extundo.com>
101652         * modules/iconvme: New file.
101654         * MODULES.html.sh: Add iconvme.
101656 2005-02-22  Simon Josefsson  <jas@extundo.com>
101658         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
101660 2005-02-22  Simon Josefsson  <jas@extundo.com>
101662         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
101664 2005-02-22  Jim Meyering  <jim@meyering.net>
101666         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
101667         s/ifndef/ifdef/.
101669 2005-02-20  Neil Conway  <neilc@samurai.com>
101671         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
101672         returned by OSX/Darwin if the specified buffer is not large
101673         enough for the hostname.
101675 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
101677         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
101678         pass it to _help, otherwise the latter coredumps trying to
101679         dereference state.root_argp.
101681 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
101683         * modules/chdir-long (Depends-on): Add memrchr.
101684         * modules/memrchr (Files): Add lib/memrchr.h.
101685         (Include): "memrchr.h".
101687 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
101689         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
101691 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
101693         * lib/memrchr.h: New file.
101694         * lib/chdir-long.c: Include it.
101695         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
101696         Don't bother including stddef.h.
101698 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
101700         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
101701         inclusion.
101702         Include <sys/types.h>, for dev_t.
101703         (ME_DUMMY, ME_REMOTE): Move from here....
101704         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
101705         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
101706         Dmitry V. Levin.
101707         Include mountlist.h first, to test the interface.
101709 2005-01-29  Bruno Haible  <bruno@clisp.org>
101711         * lib/progname.c (program_name): Initialize.
101712         Needed when linking statically on MacOS X.
101714 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
101716         Sync from coreutils.
101717         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
101718         (Depends-on): Add c-strtod.
101719         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
101721 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
101723         Sync from coreutils.
101724         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
101726         Remove files that are specific to coreutils.
101727         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
101729 2005-01-28  Bruno Haible  <bruno@clisp.org>
101731         * modules/javacomp: New file.
101732         * MODULES.html.sh (Java): Add javacomp.
101734 2005-01-28  Bruno Haible  <bruno@clisp.org>
101736         * m4/javacomp.m4: New file, from GNU gettext.
101738 2005-01-28  Bruno Haible  <bruno@clisp.org>
101740         * lib/javacomp.sh.in: New file, from GNU gettext.
101741         * lib/javacomp.h: New file, from GNU gettext.
101742         * lib/javacomp.c: New file, from GNU gettext.
101744 2005-01-26  Simon Josefsson  <jas@extundo.com>
101746         * lib/gai_strerror.c: Use GPL in header.
101748 2005-01-26  Bruno Haible  <bruno@clisp.org>
101750         * modules/javaexec: New file.
101751         * MODULES.html.sh (Java): Add javaexec.
101753 2005-01-26  Bruno Haible  <bruno@clisp.org>
101755         * m4/javaexec.m4: New file, from GNU gettext.
101757 2005-01-26  Bruno Haible  <bruno@clisp.org>
101759         * lib/javaexec.sh.in: New file, from GNU gettext.
101760         * lib/javaexec.h: New file, from GNU gettext.
101761         * lib/javaexec.c: New file, from GNU gettext.
101763 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
101765         * modules/lchown (Depends-on): Remove lchown.h
101767 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
101769         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
101770         must be defined if the header file was not found, in order
101771         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
101773 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
101775         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
101776         initializers for struct pentry_state.
101777         (__argp_error): Check return value of __asprintf
101778         (__argp_failure): Translate error message
101780         * lib/argp-parse.c: Removed braces around the expansion of N_()
101782 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
101784         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
101785         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
101786         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
101787         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
101788         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
101789         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
101790         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
101791         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
101792         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
101793         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
101794         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
101795         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
101796         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
101797         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
101798         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
101799         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
101800         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
101801         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
101802         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
101803         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
101804         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
101805         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
101806         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
101807         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
101808         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
101809         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
101810         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
101811         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
101812         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
101813         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
101814         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
101815         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
101816         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
101817         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
101818         xstrtol.m4, xstrtoumax.m4, yesno.m4:
101819         Use an all-permissive copyright notice, recommended by RMS.
101821 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
101823         * modules/chdir-long (Depends-on): Remove mempcpy.
101825 2005-01-21  Jim Meyering  <jim@meyering.net>
101827         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
101828         same value as for Solaris 9.
101830         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
101831         component length.  This included changing the parameter to be
101832         of type `char *' rather than `char const *'.
101833         * lib/chdir-long.h (chdir_long): Update prototype.
101835         * lib/openat.c (fdopendir, fstatat): New functions.
101836         * lib/openat.h: Include headers required for use of DIR and struct
101837         stat.
101838         [AT_SYMLINK_NOFOLLOW]: Define.
101839         (fdopendir, fstatat): Add prototypes.
101841 2005-01-21  Bruno Haible  <bruno@clisp.org>
101843         * modules/classpath: New file.
101844         * MODULES.html.sh (Java): Add classpath.
101846 2005-01-21  Bruno Haible  <bruno@clisp.org>
101848         * lib/classpath.h: New file, from GNU gettext.
101849         * lib/classpath.c: New file, from GNU gettext.
101851 2005-01-20  Simon Josefsson  <jas@extundo.com>
101853         * modules/version-etc-fsf: New file.
101855 2005-01-20  Simon Josefsson  <jas@extundo.com>
101857         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
101858         * lib/version-etc.c: Remove version_etc_copyright.
101859         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
101860         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
101862 2005-01-20  Simon Josefsson  <jas@extundo.com>
101864         * lib/base64.h (isbase64): Add.
101866         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
101867         using a unsigned prototype, don't inline.
101868         (base64_decode): Use it.
101870 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101872         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
101873         it.
101875 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101877         * lib/save-cwd.c (save_cwd): Remove code to support the case
101878         where fchdir is missing or flaky.
101880 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
101882         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
101884 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
101886         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
101887         AC_LIBSOURCES now does this.
101888         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
101889         with new ullong_max module.
101891 2005-01-19  Bruno Haible  <bruno@clisp.org>
101893         * modules/sh-quote: New file.
101894         * MODULES.html.sh (Executing programs): Add sh-quote.
101896 2005-01-19  Bruno Haible  <bruno@clisp.org>
101898         * lib/sh-quote.h: New file, from GNU gettext.
101899         * lib/sh-quote.c: New file, from GNU gettext.
101901 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
101903         Merge from coreutils.
101904         * m4/ullong_max.m4: New file.
101905         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
101906         (gl_MACROS): Assume localeconv exists.
101908 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
101910         Merge changes from coreutils, as described below in several
101911         changelogs dated today.
101913         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
101914         (O_DIRECTORY): Remove; not needed here, since "." must be
101915         a directory.  All uses removed.
101916         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
101917         universal on Suns, and we also need to test for IRIX.
101918         Revamp code to use 'if' rather than '#if'.
101919         Avoid unnecessary comparison of cwd->desc to 0.
101921         * lib/utimens.c (futimens): Robustify the previous patch, by checking
101922         for known valid error numbers rather than observed invalid ones.
101924 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
101926         * modules/ullong_max: New file.
101928         * modules/chdir-long, modules/openat: New files.
101929         * modules/save-cwd (Depends-on): Depend on chdir-long.
101930         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
101932 2005-01-18  Jim Meyering  <jim@meyering.net>
101934         Merge from coreutils.
101935         * m4/chdir-long.m4, m4/openat.m4: New files.
101936         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
101937         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
101938         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
101939         is sane and DOES follow symlinks.  Besides, testing 20 different
101940         systems found no broken chown implementations.
101941         Prompted by a change in rsync's copy of this macro.
101942         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
101944         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
101946         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
101947         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
101948         NULL-means-set-to-current-time semantics.
101949         Remove temporary file immediately, rather than waiting
101950         for configure's at-exit trap code to do it.
101952 2005-01-18  Jim Meyering  <jim@meyering.net>
101954         * lib/version-etc.c (version_etc_copyright): Update copyright date.
101956         * lib/utimens.c (futimens): Account for the fact that futimes
101957         can also fail with errno == ENOSYS or errno == ENOENT.
101958         Patch from Dmitry V. Levin.
101960         Change the name of the robust chdir function from chdir to chdir_long.
101961         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
101962         (restore_cwd): Use chdir_long, not chdir.
101963         * lib/chdir-long.c: Renamed from chdir.c.
101964         * lib/chdir-long.h: Renamed from chdir.h.
101965         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
101966         Hurd.
101968 2005-01-18  Bruno Haible  <bruno@clisp.org>
101970         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
101971         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
101972         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
101973         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
101974         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
101975         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
101976         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
101977         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
101978         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
101979         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
101980         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
101981         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
101982         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
101983         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
101984         Use an all-permissive copyright notice, recommended by RMS.
101986 2005-01-18  Bob Proulx  <bob@proulx.com>
101988         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
101989         simplify offsetof() macro construct to avoid compile failure with
101990         native HP-UX 11.0 ANSI C compiler.
101992 2005-01-17  Bruno Haible  <bruno@clisp.org>
101994         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
101995         redundant because stpncpy.m4 takes care of it.
101997 2005-01-17  Bruno Haible  <bruno@clisp.org>
101999         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
102001 2005-01-17  Bruno Haible  <bruno@clisp.org>
102003         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
102004         used.
102006 2005-01-17  Bruno Haible  <bruno@clisp.org>
102008         * lib/fwriteerror.h (fwriteerror): Change specification to include
102009         fclose.
102010         * lib/fwriteerror.c: Include <stdbool.h>.
102011         (fwriteerror): At the end, close the file stream. Record whether
102012         stdout was already closed.
102014 2005-01-17  Bruno Haible  <bruno@clisp.org>
102016         * lib/execute.c (environ): Declare if needed.
102017         * lib/pipe.c (environ): Likewise.
102018         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
102020 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
102022         * modules/argp: Depend on vsnprintf
102024 2005-01-10  Jim Meyering  <jim@meyering.net>
102026         * modules/closeout (Depends-on): Add atexit.
102028 2005-01-06  Bruno Haible  <bruno@clisp.org>
102030         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
102032 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
102034         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
102035         definitions to be after all include files, to avoid collisions.
102036         Problem reported by Bob Proulx.
102038 2005-01-04  Jim Meyering  <jim@meyering.net>
102040         Changes imported from coreutils.
102041         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
102042         as the mkstemp template, use a temporary directory and an
102043         8.3-friendly template to avoid trouble on systems like DJGPP.
102044         Reported by Juan M. Guerrero via Stepan Kasal.
102045         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
102046         close. Remove the temporary directory right away, rather than waiting
102047         for configure's at-exit trap code to do it.
102048         Suggestion from Stepan Kasal.
102050 2005-01-01  Simon Josefsson  <jas@extundo.com>
102052         * gnulib-tool: Print #include directives when --import'ing.
102054 2004-12-28  Simon Josefsson  <jas@extundo.com>
102056         * tests/test-base64.c: Include required header files.  Remove
102057         unused variables.
102059 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
102061         * modules/error (Depends-on): Remove gettext.
102063 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
102065         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
102066         not needed.  This removes a dependency on the gettext module.
102067         [defined _LIBC]: Do not include <libintl.h>; not needed.
102069 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
102071         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
102072         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
102074 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
102076         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
102077         HAVE_DECL_STRTOLD.
102079 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
102081         * modules/getdate (Depends-on): Remove alloca-opt.
102083 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
102085         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
102087 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
102089         * lib/argp-parse.c: Include <stddef.h>.
102090         (alignof, alignto): New macros.
102091         (parser_init): Don't assume that void * is aligned sufficiently
102092         for struct option.
102094         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
102095         need to extend the stack.
102096         (YYINITDEPTH): New macro, so that the initial stack isn't overly
102097         large.
102099 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
102101         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
102103 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
102105         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
102106         (2004-10-24) change.  Apparently this was a false alarm.
102108         * modules/getdate: Depend on alloca-opt, not alloca.
102110 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
102112         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
102113         Remove now-obsolete comment about AIX.
102114         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
102115         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
102116         (YYMAXDEPTH): New macro.
102118 2004-12-18  Simon Josefsson  <jas@extundo.com>
102120         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
102122 2004-12-18  Bruno Haible  <bruno@clisp.org>
102124         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
102126 2004-12-18  Bruno Haible  <bruno@clisp.org>
102128         * lib/fatal-signal.c (fatal_signals): Make non-const.
102129         (init_fatal_signals): New function.
102130         (uninstall_handlers, install_handlers): Ignore signals that were set to
102131         SIG_IGN.
102132         (at_fatal_signal): Call init_fatal_signals.
102133         (init_fatal_signal_set): Likewise. Ignore signals that were set to
102134         SIG_IGN.
102135         Reported by Paul Eggert.
102137 2004-12-18  Bruno Haible  <bruno@clisp.org>
102139         * doc/alloca.texi: New file.
102140         * doc/alloca-opt.texi: New file.
102142 2004-12-17  Jim Meyering  <jim@meyering.net>
102144         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
102145         Otherwise, install-sh could exit with improper exit status when
102146         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
102148 2004-12-16  Simon Josefsson  <jas@extundo.com>
102150         * tests/test-base64.c: Add license.
102152 2004-12-15  Stepan Kasal  <address@hidden>
102154         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
102156 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
102158         * modules/getcwd (Files): Add m4/d-ino.m4.
102159         Suggested by Mark D. Baushke.
102161 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
102163         * lib/getdate.y (textint): New member "negative".
102164         (time_zone_hhmm): New function.
102165         Expect 14 shift-reduce conflicts, not 13.
102166         (o_colon_minutes): New rule.
102167         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
102168         (yylex): Set the "negative" member of signed numbers.
102170 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
102172         * doc/getdate.texi (Time of day items, Time zone items):
102173         Describe new formats +00:00, UTC+00:00.
102175 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
102177         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
102178         spurious "-l"s.  Problem reported by Stepan Kasal.
102180 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
102182         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
102183         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
102185 2004-12-04  Simon Josefsson  <jas@extundo.com>
102187         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
102188         Vandoorselaere <yoann@prelude-ids.org>.
102190 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
102192         Changes imported from coreutils.
102193         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
102194         exist.
102195         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
102197 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
102199         Changes imported from coreutils.
102200         * lib/hard-locale.c: Assume <locale.h> exists.
102201         Include "strdup.h".
102202         (GLIBC_VERSION): New macro.
102203         (hard_locale): Assume setlocale exists.
102204         Rewrite to avoid #ifdef.
102205         Use strdup rather than malloc + strcpy.
102206         * lib/human.c: Assume <locale.h> exists.
102207         (human_readable): Assume localeconv exists.
102209 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
102211         * modules/hard-locale (Depends-on): Add strdup.
102213 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
102215         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
102216         convert T2, not T.  (Imported from libc.)
102218 2004-11-30  Simon Josefsson  <jas@extundo.com>
102220         * modules/restrict (License): Change to LGPL.
102222 2004-11-30  Simon Josefsson  <jas@extundo.com>
102224         * m4/restrict.m4: Add copyright and copying conditions.
102226 2004-11-30  Simon Josefsson  <jas@extundo.com>
102228         * m4/base64.m4: New file.
102230 2004-11-30  Simon Josefsson  <jas@extundo.com>
102232         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
102233         base64.
102235         * tests/test-base64.c: New file.
102237         * modules/base64: New file.
102239 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
102241         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
102242         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
102244         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
102246 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
102248         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
102249         (__getcwd.c): Don't restore errno; glibc doesn't.
102250         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
102251         first, falling back to our code only if its results look suspicious.
102252         Ensure that the resulting buffer is only as large as necessary.
102254         * lib/readutmp.c: Include readutmp.h first.
102255         Include <errno.h>, since readutmp.h no longer does that.
102256         * lib/readutmp.h: Don't include <errno.h>,
102257         <sys/param.h>, <time.h>; not needed to establish interface.
102258         (errno): Remove decl.
102259         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
102260         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
102261         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
102263 2004-11-28  Simon Josefsson  <jas@extundo.com>
102265         * lib/base64.h, base64.c: New file.
102267 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
102269         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
102271 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
102273         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
102274         (Depends-on): Remove pathmax, same.  Add mempcpy.
102275         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
102276         (Makefile.am): Append getcwd.h to lib_SOURCES.
102277         (Include): Add getcwd.h.
102278         (Maintainer): Change from Jim Meyering to "all, glibc",
102279         since getdate now uses intended-for-glibc code.
102280         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
102281         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
102283 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
102285         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
102286         HP's ANSI C compiler.
102287         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
102288         Declaring int functions causes warnings on some modern systems and
102289         shouldn't be needed to compile on ancient ones.
102290         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
102291         defined.
102293         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
102294         with the following changes.
102295         (__set_errno): Parenthesize properly.
102296         Include <stdbool.h>.
102297         (MIN, MAX, MATCHING_INO): New macros.
102298         (__getcwd): Define with prototype, not K&R form.
102299         Use heuristics to allocate default buffer on stack if possible.
102300         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
102301         behavior, and to avoid the PATH_MAX limit when computing
102302         ../../../../...
102303         Use MATCHING_INO to compare inode number to file.
102304         Check for arithmetic overflow in size calculations.
102305         Fix bug in reallocation of dot array that caused getcwd to fail
102306         on directories nested deeper than 75.
102307         Be more careful about saving errno on error.
102308         Do not use realloc; use only free+malloc, as this is a bit
102309         more flexible and avoids a needless copy operation.
102310         Do not inspect st_dev and st_ino for symbolic links; POSIX
102311         doesn't specify the latter.
102312         Check for closedir errors.
102313         Avoid needless casts.
102314         Use "#ifdef weak_alias" around weak_alias, to be like other
102315         glibc code.
102316         The following changes to getcwd.c have effect only when used in
102317         gnulib; they have no effect inside glibc proper.
102318         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
102319         as alloca isn't used.
102320         (alloca, __alloca): Likewise.
102321         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
102322         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
102323         unconditionally, as gnulib assumes C89 or better.
102324         Do not include <sys/param.h>.
102325         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
102326         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
102327         better.
102328         (NULL) [!defined NULL]: Remove; we assume C89 or better.
102329         Include <dirent.h> in a way that is compatible with modern Autoconf.
102330         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
102331         New macros, if not already defined.
102332         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
102333         Use "_LIBC", not "defined _LIBC", for consistency.
102334         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
102335         a mempcpy module.
102336         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
102337         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
102338         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
102339         credit only to Jim Meyering and adjust the copyright dates.
102340         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
102341         <stdlib.h>, <unistd.h>, "pathmax.h".
102342         Instead, include "xgetcwd.h" (first) and "getcwd.h".
102343         (INITIAL_BUFFER_SIZE): Remove.
102344         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
102346 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
102348         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
102349         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
102350         Use the _ONCE methods, for efficiency.
102351         Check for fcntl.h.  In test program, include <errno.h>
102352         and <fcntl.h> if available.  Remove old K&R cruft from
102353         test program.  Check for common errors in GNU/Linux,
102354         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
102355         don't do AC_LIBOBJ, as that's getcwd.m4's job.
102356         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
102357         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
102358         name accordingly.
102359         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
102360         accommodate new getcwd.c.
102361         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
102362         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
102363         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
102364         that's all we need now.
102366 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
102368         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
102369         argp-parse.c depends on getopt internals, that means we should
102370         always use our getopt, to be on the safe side.
102371         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
102372         order not to spoil the result of an eventual previous invocation
102373         of gl_GETOPT_SUBSTITUTE.
102375 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
102377         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
102378         redefinition warnings. To avoid them, include the defines
102379         in `#if !defined __need_getopt ... #endif'. The only place
102380         where __getopt_argv_const is used is in definitions
102381         of getopt_long and getopt_long_only below, which are as well
102382         protected by `#ifndef __need_getopt'.
102383         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
102384         __need_getopt after including <stdio.h> and <unistd.h> These
102385         headers might have defined it.
102387 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
102389         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
102391 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
102393         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
102394         (futimens): New function, which uses futimes if available.
102395         (futimens, utimens): Support timespec==NULL, with same semantics
102396         as utime and utimens.
102397         * lib/utimens.h (futimens): New decl.
102399 2004-11-23  Jim Meyering  <jim@meyering.net>
102401         * lib/getopt_.h: Remove trailing blanks.
102403 2004-11-23  Jim Meyering  <jim@meyering.net>
102405         * lib/__fpending.c: Add comment.
102407 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
102409         * modules/canonicalize (Depends-on): Add xreadlink.
102410         Problem reported by James Youngman.
102412 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
102414         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
102415         New macros.
102416         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
102417         optopt): Use them instead of invoking ## directly; otherwise, the
102418         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
102420 2004-11-19  Bruno Haible  <bruno@clisp.org>
102422         * lib/strtok_r.c: Move comments from here...
102423         * lib/strtok_r.h: ... to here.
102425 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
102427         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
102428         implementations that mishandle size_t overflow.
102430 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
102432         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
102433         might fail.  Problem reported by Yoann Vandoorselaere.
102434         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
102435         implementations that mishandle size_t overflow.
102437 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
102439         * modules/canon-host (Depends-on): Add strdup.
102441 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
102443         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
102445 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
102447         * lib/canon-host.c: Include "strdup.h".
102448         (canon_host): Use getaddrinfo if available, so that IPv6 works.
102449         Use strdup instead of malloc/strcpy to duplicate strings.
102451         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
102452         (human_space_before_unit): New constant.
102453         * lib/human.c (human_readable): Support it.
102455         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
102456         (xgetcwd): Set errno correctly when failing.
102457         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
102458         the failure is actually due to a PATH_MAX problem.
102460         Further getopt changes to make it more likely that glibc will
102461         buy the changes back.
102462         * lib/getopt.c (POSIXLY_CORRECT): New constant.
102463         (getopt): Use it, so to preserve glibc semantic
102464         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
102465         when compiling for libc.
102466         * lib/getopt_.h (__getopt_argv_const): Bring it back.
102467         (getopt_long, getopt_long_only): Use it.
102469         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
102470         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
102471         (getopt): Argv is now char * const *, as per standard.
102472         (_getopt_internal_r, _getopt_internal): Argv is now char **,
102473         not char *__getopt_argv_const *.
102474         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
102475         _getopt_long_only_r): Likewise.
102476         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
102477         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
102478         _getopt_long_r, _getopt_long_only_r): Likewise.
102479         * lib/getopt_.h (__getopt_argv_const): Remove.
102480         (getopt): Argv is now char * const *, as per standard.
102482         * lib/getdate.y (tORDINAL): New token.
102483         (day, relunit): Allow it for relative times.
102484         (relative_time_table): Use tORDINAL for ordinals.
102486 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
102488         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
102489         Document that "second" isn't allowed as an ordinal number.
102491 2004-11-16  Jim Meyering  <jim@meyering.net>
102493         * modules/closeout (Depends-on): Add fpending.
102495 2004-11-15  Jim Meyering  <jim@meyering.net>
102497         * lib/closeout.c: Include "__fpending.h" once again.
102498         Include <stdbool.h>.
102499         (close_stdout): Don't fail just because stdout was closed initially,
102500         since some programs don't write to stdout in the normal course of
102501         operation (other than --version and --help), and we don't want this
102502         function to make e.g. `touch file >&-' fail.
102503         But do fail if it was closed and someone has tried to write to it.
102504         E.g., `printf foo >&-' must fail.
102506 2004-11-13  Jim Meyering  <jim@meyering.net>
102508         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
102510 2004-11-12  Simon Josefsson  <jas@extundo.com>
102512         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
102513         small doc fix is still pending.
102515 2004-11-11  Simon Josefsson  <jas@extundo.com>
102517         * modules/strtok_r: New file.
102519         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
102520         strtok_r.
102522 2004-11-11  Simon Josefsson  <jas@extundo.com>
102524         * m4/strtok_r.m4: New file.
102526         * m4/getopt.m4: Replace opterr.
102528 2004-11-11  Simon Josefsson  <jas@extundo.com>
102530         * lib/strtok_r.h, strtok_r.c: New file.
102532 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
102534         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
102535         of replacing opterr, getopt, etc.  This should handle the
102536         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
102538 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
102540         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
102541         we can stop lying to compilers about the constness of argv when we
102542         are compiled outside glibc.
102543         (getopt, getopt_long, getopt_long_only): Use it.
102544         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
102545         _getopt_internal, getopt): Likewise.
102546         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
102547         _getopt_long_only_r): Likewise.
102548         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
102549         _getopt_long_r, _getopt_long_only_r): Likewise.
102551         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
102552         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
102553         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
102554         the other external symbols.
102555         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
102556         declaration, since the above renaming now works around collisions.
102558 2004-11-11  Jim Meyering  <jim@meyering.net>
102560         * lib/linebreak.c: Remove trailing blanks.
102561         * lib/alloca_.h: Likewise.
102562         * lib/acosl.c: Likewise.
102563         * lib/euidaccess.c: Likewise.
102564         * lib/allocsa.h: Likewise.
102566 2004-11-10  Simon Josefsson  <jas@extundo.com>
102568         * m4/getaddrinfo.m4: New file.
102570 2004-11-10  Simon Josefsson  <jas@extundo.com>
102572         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
102574 2004-11-10  Simon Josefsson  <jas@extundo.com>
102576         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
102577         getaddrinfo.
102579         * modules/getaddrinfo: New file.
102581 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
102583         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
102585 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
102587         * lib/mktime.c (SHR): New macro, which is a portable
102588         substitute for >> that should work even on Crays.
102589         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
102590         Problem reported by Mark D. Baushke in
102591         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
102592         * lib/getdate.y (SHR): Likewise.
102593         (tm_diff): Use it.
102594         * lib/strftime.c (SHR): Likewise.
102595         (tm_diff): Use it.
102596         * lib/quotearg.c (struct quoting_options): Use unsigned int for
102597         quote_these_too, so that right shifts are well defined.  All uses
102598         changed.
102600 2004-11-10  Jim Meyering  <jim@meyering.net>
102602         Ensure that no close failure goes unreported.
102603         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
102604         return early when it seems there's nothing to flush.
102605         Don't include __fpending.h.
102607 2004-11-10  Jim Meyering  <jim@meyering.net>
102609         * modules/closeout (Depends-on): Remove fpending.
102611 2004-11-10  Jim Meyering  <jim@meyering.net>
102613         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
102615 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
102617         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
102618         gl_FUNC_STRFTIME.
102619         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
102620         and AC_REQUIRE when possible, to avoid duplicate checks.
102621         Check for <wchar.h>.
102623 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
102625         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
102627 2004-11-09  Bruno Haible  <bruno@clisp.org>
102629         * m4/sockpfaf.m4: New file.
102631 2004-11-05  Bruno Haible  <bruno@clisp.org>
102633         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
102634         Reported by Mark D. Baushke <mdb@cvshome.org>.
102636 2004-11-04  Bruno Haible  <bruno@clisp.org>
102638         2004-09-11  Bruno Haible  <bruno@clisp.org>
102639                 * allocsa.valgrind: New file.
102640         2004-02-06  Bruno Haible  <bruno@clisp.org>
102641                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
102642                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
102643                 Reported by Christopher Seip <chris.seip@hp.com>.
102645 2004-11-04  Bruno Haible  <bruno@clisp.org>
102647         * modules/allocsa (Files): Add lib/allocsa.valgrind.
102648         (Makefile.am): Distribute it.
102650 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
102652         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
102653         with errno == ERANGE if the buffer is too small.
102654         Problem reported by Mark D. Baushke.
102656 2004-11-03  Albert Chin  <china@thewrittenword.com>
102657             Paul Eggert  <eggert@cs.ucla.edu>
102659         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
102660         equivalent, substitute $ac_type for equivalent type rather than
102661         blindly using uint32_t *always* which won't work if uint32_t is not
102662         available.  Define _UINT32_T to work around typedef of uint32_t if
102663         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
102664         2.5.1.
102666 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
102668         * m4/jm-macros.m4: Sync from coreutils.
102669         (gl_MACROS): Check for mbrlen, for pathchk.
102670         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
102672 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
102674         * lib/xreadlink.c (MAXSIZE): New macro.
102675         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
102676         size does not exceed MAXSIZE.  Avoid cast.
102677         As suggested by Mark D. Baushke in
102678         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
102679         if readlink fails with buffer size just under MAXSIZE, try again
102680         with MAXSIZE.
102682 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
102684         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
102686 2004-11-02  Derek R. Price  <derek@ximbiot.com>
102687         and  Paul Eggert  <eggert@cs.ucla.edu>
102689         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
102690         (get_date): Overparenthesize to avoid GCC warning.
102692 2004-11-02  Bruno Haible  <bruno@clisp.org>
102694         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
102695         returns void.
102697 2004-11-02  Bruno Haible  <bruno@clisp.org>
102699         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
102700         function returns void.
102702 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
102704         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
102705         fflush_unlocked, flockfile, funlockfile, funlockfile,
102706         fputs_unlocked, putc_unlocked.
102708 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
102710         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
102711         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
102712         already declared.
102714 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
102716         * modules/getdate (Files): Add doc/getdate.texi.
102717         (Depends-on): Add setenv, xalloc.
102719 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
102721         * lib/getdate.y: Add support for TZ="foo" within a date string.
102722         Fix some bugs near time_t boundaries.  Reject dates with
102723         out-of-range components, e.g., "Sept 31".
102724         Include <stdlib.h>, "setenv.h", "xalloc.h".
102725         (ISDIGIT_LOCALE): Remove; unused.
102726         Note that the TZ and time functions used here are not reentrant.
102727         (mktime_ok, get_tz): New functions.
102728         (TZBUFSIZE): New constant.
102729         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
102730         This requires that we sometimes generate our own TZ="XXX..." setting.
102732 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
102734         * doc/getdate.texi: New file, from coreutils with modifications for
102735         the new TZ parsing.
102737 2004-10-27  Derek R. Price  <derek@ximbiot.com>
102739         * lib/mktime.c (not_equal_tm): Remove redundant check.
102741 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
102743         * modules/regex (lib_SOURCES): Add regex.c.
102744         Reported by James Youngman in
102745         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
102747 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
102749         * lib/getdate.y: Use Bison 1.875 features, and some minor
102750         code cleanups.  This change does not affect semantics.
102751         Don't include <stdlib.h>; no longer needed.
102752         Don't include unlocked-io.h; only the "#if TEST" code uses
102753         stdio, and performance isn't crucial there.
102754         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
102755         Bison 1.875 features as described below.
102756         All uses of "PC." replaced by "pc->".
102757         (YYSTYPE): Add a forward declaration.
102758         (yylex, yyerror): Use full prototypes in forward decls.
102759         Use "%pure-parser" rather than obsolescent "%pure_parser".
102760         Use %parse-param and %lex-param instead of obsolescent
102761         YYPARSE_PARAM and YYLEX_PARAM.
102762         (meridian_table, month_and_day_table, time_units_table,
102763         relative_time_table, time_zone_table, military_table,
102764         lookup_zone, lookup_word, get_date):
102765         Use NULL instead of 0 where appropriate.
102766         (to_hour): Avoid abort (), to avoid a dependency on
102767         stdlib.h.
102768         (yyerror, yylex): Now accepts parser_control * arg.
102769         (main) [TEST]: Use '\0' rather than 0 for char.
102771 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
102773         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
102775 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
102777         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
102778         It's now the caller's responsibility to handle the case where
102779         !HAVE_GETPAGESIZE && !defined getpagesize.
102781         * lib/mktime.c (leapyear): Arg is long int, not int.
102783 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
102785         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
102787 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
102789         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
102790         missing.  Problem reported by James Youngman.
102792 2004-10-16  Simon Josefsson  <jas@extundo.com>
102794         * gnulib-tool: Fix comments.  Fix parse problem.
102795         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
102797 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
102799         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
102800         implementation of getopt_long.  Problem reported by Alexander Taler in:
102801         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
102803 2004-10-15  Bruno Haible  <bruno@clisp.org>
102805         * gnulib-tool: Untabify. Initialize supplied_libname.
102806         (func_usage): More homogenous output.
102807         (func_modules_transitive_closure, func_modules_to_filelist,
102808         func_emit_lib_Makefile_am): New functions.
102809         (func_import): New function, extracted from big case statement. Use
102810         func_get_license, func_modules_transitive_closure,
102811         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
102812         opt_lgpl. Don't use test -a, as it's not portable.
102813         (func_create_testdir): Use func_modules_transitive_closure,
102814         func_modules_to_filelist, func_emit_lib_Makefile_am.
102816 2004-10-15  Bruno Haible  <bruno@clisp.org>
102818         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
102820 2004-10-15  Bruno Haible  <bruno@clisp.org>
102822         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
102823         the portions belonging to each module.
102824         Suggested by Derek Robert Price <derek@ximbiot.com>.
102826 2004-10-12  Simon Josefsson  <jas@extundo.com>
102828         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
102829         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
102830         to real functions.
102832 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102834         * modules/vsnprintf: New file.
102836 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102838         * m4/vsnprintf.m4: New file.
102840 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102842         * lib/vsnprintf.h: New file.
102843         * lib/vsnprintf.c: New file.
102845 2004-10-11  Bruno Haible  <bruno@clisp.org>
102847         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
102848         vsnprintf.
102850 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
102852         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
102854 2004-10-07  Bruno Haible  <bruno@clisp.org>
102856         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
102857         fits into the provided buffer.
102859 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
102861         * lib/diacrit.c, diacrit.h: Add GPL notice.
102863         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
102864         notice.
102865         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
102866         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
102867         This avoids a potential constant-folding bug.
102869 2004-10-05  Bruno Haible  <bruno@clisp.org>
102871         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
102872         for the declaration of strsep.
102874 2004-10-05  Bruno Haible  <bruno@clisp.org>
102876         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
102878 2004-10-04  Simon Josefsson  <jas@extundo.com>
102880         * modules/memmem: New file.
102881         * tests/test-memmem.c: New file.
102882         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
102884 2004-10-04  Simon Josefsson  <jas@extundo.com>
102886         * m4/memmem.m4: New file.
102888 2004-10-04  Simon Josefsson  <jas@extundo.com>
102890         * lib/memmem.h: New file.
102891         * lib/memmem.c: New file, taken from glibc.
102893 2004-10-04  Simon Josefsson  <jas@extundo.com>
102895         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
102896         '#ifdef USE_UNLOCKED_IO'.
102898 2004-10-04  Simon Josefsson  <jas@extundo.com>
102900         * config/srclist.txt: Add memmem from glibc.
102902 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
102904         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
102906         * modules/argmatch, modules/argp, modules/closeout, modules/error,
102907         modules/exclude, modules/getdate, modules/getline,
102908         modules/getndelim2, modules/getpass, modules/getpass-gnu,
102909         modules/getusershell, modules/linebuffer, modules/md5,
102910         modules/mountlist, modules/posixtm, modules/readtokens,
102911         modules/readutmp, modules/regex, modules/sha1,
102912         modules/version-etc, modules/yesno:
102913         Remove dependency on unlocked-io.
102915 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
102917         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
102919         * m4/unlocked-io.m4: Add copyright notice.
102920         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
102922 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
102924         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
102925         * lib/xmalloc.c (xmemdup): Likewise.
102926         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
102927         XFREE): Remove these long-obsolescent macros.
102928         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
102929         * lib/xstrdup.c: Remove.
102931         * lib/regex.c (re_comp): Cast gettext return value to char *,
102932         Problem reported by Martin Neitzel via Mark D. Baushke.
102934 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
102936         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
102937         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
102938         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
102939         regex.c, sha1.c, version-etc.c, yesno.c:
102940         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
102941         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
102942         the includer's responsibility.
102944         Sync from coreutils.
102946         * lib/modechange.c (mode_compile): Don't decrement a pointer that
102947         points to the start of a string, as the C Standard says the
102948         resulting behavior is undefined.
102950         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
102951         simple -> simple_backups, numbered_existing ->
102952         numbered_existing_backups, numbered -> numbered_backups
102953         to avoid shadowing problems.  All uses changed.
102954         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
102955         * lib/backupfile.c (check_extension, numbered_backup):
102956         Rename locals to avoid shadowing 'basename'.
102957         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
102958         once.
102960         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
102961         * lib/.cvsignore: Add getopt.h.
102963 2004-10-04  Bruno Haible  <bruno@clisp.org>
102965         * modules/README: New file.
102966         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
102967         not a module.
102969 2004-10-02  Jim Meyering  <jim@meyering.net>
102971         * lib/dirfd.h, getpagesize.h: Add copyright notice.
102973 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102975         * modules/strsep: New file.
102977 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102979         * m4/strsep.m4: New file.
102981 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
102983         * lib/strsep.h: New file.
102984         * lib/strsep.c: New file.
102986 2004-10-01  Simon Josefsson  <jas@extundo.com>
102988         * lib/snprintf.c (snprintf): Handle size==0.
102990 2004-10-01  Simon Josefsson  <jas@extundo.com>
102991             Bruno Haible  <bruno@clisp.org>
102993         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
102994         (snprintf): Declare 'args'.
102996 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
102998         * lib/snprintf.c: Remove comments as to why each header is needed.
103000 2004-10-01  Bruno Haible  <bruno@clisp.org>
103002         * MODULES.html.sh: Add strsep.
103004 2004-09-30  Simon Josefsson  <jas@extundo.com>
103006         * modules/snprintf: New file.
103008 2004-09-30  Simon Josefsson  <jas@extundo.com>
103010         * m4/snprintf.m4: New file.
103012 2004-09-30  Simon Josefsson  <jas@extundo.com>
103014         * lib/snprintf.h, lib/snprintf.c: New files.
103016 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
103018         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
103019         (hol_entry_help): Never translate an empty string.
103020         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
103021         * lib/argp.h (OPTION_NO_TRANS): New option.
103023 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
103025         * modules/argp (Maintainer): Replace Simon Josefsson
103026         by Sergey Poznyakoff.
103028 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
103030         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
103031         changes merged back into glibc.
103033 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
103035         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
103037 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
103039         * lib/xvasprintf.c: Include xalloc.h.
103040         (xvasprintf): Use xalloc_die, not xmalloc_die.
103042 2004-09-29  Bruno Haible  <bruno@clisp.org>
103044         * modules/alloca-opt: New file, derived from modules/alloca.
103045         * modules/allocsa: Depend on alloca-opt instead of alloca.
103046         * modules/setenv: Likewise.
103047         * modules/vasnprintf: Likewise.
103048         * MODULES.html.sh: Add alloca-opt.
103050 2004-09-28  Simon Josefsson  <jas@extundo.com>
103052         * gnulib-tool: New parameter --lgpl, to asseert that modules are
103053         LGPL, and to replace license template from GPL to LGPL.
103055 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
103057         * modules/dummy: Change license to LGPL.
103059 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
103061         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
103063 2004-09-24  Simon Josefsson  <jas@extundo.com>
103065         * modules/minmax (License): Change from GPL to LGPL.
103067 2004-09-23  Simon Josefsson  <jas@extundo.com>
103069         * gnulib-tool (--import): Typo.
103071 2004-09-23  Simon Josefsson  <jas@extundo.com>
103073         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
103075 2004-09-22  Bruno Haible  <bruno@clisp.org>
103077         * modules/*: Add 'License' field.
103078         * gnulib-tool: Accept --extract-license option.
103079         (func_get_license): New function.
103081 2004-09-21  Bruno Haible  <bruno@clisp.org>
103083         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
103084         Reported by Simon Josefsson.
103086 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
103088         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
103089         gl_AC_TYPE_LONG_LONG.
103091 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
103093         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
103095 2004-09-18  Simon Josefsson  <jas@extundo.com>
103096         and  Paul Eggert  <eggert@cs.ucla.edu>
103098         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
103099         calls with autoreconf.  Define GL_LIB.
103101 2004-09-14  Karl Berry  <karl@gnu.org>
103103         * config/srclist.txt: unsync setenv.c, sigh.
103105 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
103107         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
103108         Problem reported by Bruno Haible in:
103109         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
103111 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
103113         * config/srclist.txt: Comment out argp-pvh.c.
103115 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
103117         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
103118         in case some system header has #define'd it.  Problem reported by
103119         Soeren D. Schulze in
103120         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
103122 2004-09-09  Karl Berry  <karl@gnu.org>
103124         * regex.[ch]: delete from the root.  These were supposed to be
103125                 synced with emacs cvs, but this has not happened for about
103126                 a year, and anyway nothing else uses emacs regex.[ch].
103127                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
103128                 lib/regex[.ch] is untouched.
103130 2004-09-09  Bruno Haible  <bruno@clisp.org>
103132         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
103134 2004-09-09  Bruno Haible  <bruno@clisp.org>
103136         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
103137         modifications.
103138         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
103140 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
103142         * modules/xvasprintf: New file.
103143         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
103145 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
103147         * lib/xvasprintf.h: New file.
103148         * lib/xvasprintf.c: New file.
103149         * lib/xasprintf.c: New file.
103151 2004-09-08  Bruno Haible  <bruno@clisp.org>
103153         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
103155 2004-09-08  Bruno Haible  <bruno@clisp.org>
103157         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
103158         length is > INT_MAX.
103159         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
103160         more.
103162 2004-09-08  Bruno Haible  <bruno@clisp.org>
103164         * lib/stdint_.h: New file, taken from GNU clisp.
103166 2004-09-08  Bruno Haible  <bruno@clisp.org>
103167             Oskar Liljeblad  <oskar@osk.mine.nu>
103169         * modules/stdint: New file.
103170         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
103172 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103174         Import from coreutils.
103175         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
103176         strings on unbounded length.  alloca's performance benefits aren't
103177         that important here.
103178         (V_STRDUP): Remove.
103179         (parse_with_separator): New function, with most of the internals
103180         of the old parse_user_spec.  Allow user to omit both user and group,
103181         for compatibility with FreeBSD.
103182         Clone only the user name, not the entire spec.
103183         Do not set *uid, *gid unless entirely successful.
103184         Avoid memory leak in some failing cases.
103185         Fix regression for USER.GROUP reported by Dmitry V. Levin in
103186         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
103187         (parse_user_spec): Rewrite to use parse_with_separator.
103189 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103191         * modules/userspec: Don't depend on alloca.
103193 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
103195         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
103197 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
103199         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
103200         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
103201         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
103203 2004-08-16  Simon Josefsson  <jas@extundo.com>
103205         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
103206         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
103207         Add --dry-run for --import.
103208         Let user provided command line parameters override configure.ac
103209         settings.
103211 2004-08-12  Simon Josefsson  <jas@extundo.com>
103213         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
103214         as discussed with Paul Eggert in threads rooted at
103215         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
103216         and
103217         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
103218         Before, the test was empty, and relied on ELIDE_CODE in source
103219         code.)
103220         (gl_PREREQ_GETOPT): New macro.
103221         (gl_GETOPT): Use them.
103223 2004-08-12  Simon Josefsson  <jas@extundo.com>
103225         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
103226         * lib/getopt_.h: Renamed from getopt.h.
103228 2004-08-12  Simon Josefsson  <jas@extundo.com>
103230         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
103231         Change default library name from libfoo to libgnu.
103232         Now, if you have a configure.ac that says:
103233                 gl_SOURCE_BASE(gl)
103234                 gl_M4_BASE(gl/m4)
103235                 gl_MODULES(error getopt etcetera)
103236                 gl_INIT
103237         you can import all you need by running:
103238                 ../gnulib/gnulib-tool --import
103240         * modules/getopt (Files): Rename getopt.h to getopt_.h.
103241         (Makefile.am): Rewrite, use logic from argz.
103242         (Include): Use <getopt.h> instead of "getopt.h".
103244 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
103246         * modules/argp (Files): Add m4/unlocked-io.m4.
103247         (Depends-on): Add extensions.
103249 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
103251         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
103252         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
103253         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
103254         Check for program_invocation_name, program_invocation_short_name,
103255         flockfile, funlockfile, features.h, _getopt_long_only_r.
103257 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
103259         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
103260         its complicated substitute.
103261         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
103262         and program_invocation_name.
103263         (__argp_basename) [!_LIBC]: Remove; the only use was
103264         replaced by its body.
103265         (__argp_short_program_name): Change condition from
103266         !defined __argp_short_program_name to
103267         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
103268         to match argp-namefrob.h.
103269         (__argp_failure): Don't assume strerror_r returns char *.
103270         * lib/argp-parse.c (N_): Define unconditionally.
103271         (argp_default_options): Fill out initializers with 0 to avoid
103272         gcc warnings.
103274 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
103276         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
103277         getopt1.c.
103279 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
103281         Merge from coreutils.
103283         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
103285         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
103286         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
103288 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
103290         Merge from coreutils.
103292         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
103293         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
103294         for Reliant Unix 5.43.
103296         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
103297         (union fooround): Use uintmax_t, not long int.
103298         The rest is a merge from libc:
103299         [defined _LIBC]: Include <shlib-compat.h>.
103300         (_obstack) [defined _LIBC]: Remove after 2.3.4.
103302         * lib/settime.c (settime): Recode to avoid warning with
103303         Sun Forte C 6U2.
103305         * lib/strverscmp.c: Convert to UTF-8.
103307 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
103309         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
103310         m4/uintmax_t.m4.
103312 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
103314         * modules/xalloc-die: New file.
103315         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
103317         * modules/md5 (Files): Add m4/uint32_t.m4.
103318         * modules/sha1: Renamed from modules/sha.
103319         (Files):
103320         Rename lib/sha.h to lib/sha1.h.
103321         Rename lib/sha.c to lib/sha1.c.
103322         Rename m4/sha.m4 to m4/sha1.m4.
103323         (lib_SOURCES): Likewise.
103324         (configure.ac): Rename gl_SHA to gl_SHA1.
103325         (Include): sha.h -> sha1.h.
103327 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
103329         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
103330         * m4/sha1.m4: Renamed from sha.m4.
103331         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
103333 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
103335         * lib/obstack.h (obstack_empty_p):
103336         Don't assume that chunk->contents is suitably aligned.
103337         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
103338         Likewise. Problem reported by Benno in
103339         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
103341         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
103342         readable.  This could be improved further but it'd take some work.
103344 2004-08-08  Simon Josefsson  <jas@extundo.com>
103346         * modules/xgethostname (Depends-on): Remove exit and error (not
103347         used).
103349         * modules/getpass-gnu: Add getpass.h.
103350         (Depends-on): Add stdbool.
103351         * modules/getpass: Add getpass.h.
103353 2004-08-08  Simon Josefsson  <jas@extundo.com>
103355         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
103356         Check getpass declaration.
103358 2004-08-08  Simon Josefsson  <jas@extundo.com>
103360         * lib/xgethostname.c: Don't include error.h (not used).
103362         * lib/getpass.h: Add.
103363         * lib/getpass.c: Include getpass.h first.
103365 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
103367         * lib/xalloc-die.c: New file.
103368         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
103369         All uses removed.
103370         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
103371         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
103372         xalloc-die.c.
103373         (_, N_, xalloc_die): Move to xalloc-die.c.
103374         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
103375         so that we needn't mess with xalloc_msg_memory_exhausted.
103377         * lib/sha1.h: Renamed from sha.h.
103378         (SHA1_H): Renamed from _SHA_H.
103379         (sha1_ctx): Renamed from sha_ctx.
103380         (sha1_init_ctx): Renamed from sha_init_ctx.
103381         (sha1_process_block): Renamed from sha_process_block.
103382         (sha1_process_bytes): Renamed from sha_process_bytes.
103383         (sha1_finish_ctx): Renamed from sha_finish_ctx.
103384         (sha1_read_ctx): Renamed from sha_read_ctx.
103385         (sha1_stream): Renamed from sha_stream.
103386         (sha1_buffer): Renamed from sha_buffer.
103387         * lib/sha1.c: Likewise; renamed from sha.c.
103388         Do not include <sys/types.h>.
103389         Include <stddef.h> rather than <stdlib.h>.
103391 2004-08-08  Bruno Haible  <bruno@clisp.org>
103393         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
103394         FILESYSTEM_PREFIX_LEN.
103395         * lib/progreloc.c: Likewise.
103396         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
103398 2004-08-06  Simon Josefsson  <jas@extundo.com>
103400         * modules/progname (Depends-on): Don't depend on stdbool.
103402 2004-08-06  Simon Josefsson  <jas@extundo.com>
103404         * modules/getsubopt: New file.
103405         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
103406         getsubopt.
103408 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103410         More merge from coreutils.
103412         * m4/utimens.m4, m4/utimecmp.m4: New files.
103413         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
103414         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
103415         prereq.m4, sha.m4: Import changes from coreutils.
103417 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103419         More merge from coreutils.
103420         * modules/raise, modules/readtokens0, modules/utimens:
103421         * modules/utimecmp, module/xnanosleep: New files.
103422         * modules/strftime: Add lib/strftime.h.
103423         Change include from <time.h> to "strftime.h".
103424         * modules/yesno: Add lib/yesno.h.
103425         * modules/backupfile: Remove lib/addext.c.
103426         * modules/euidaccess: Add stat-macros.h.
103427         * modules/canonicalize, modules/euidaccess,
103428         modules/filemode, modules/lchown, modules/makepath,
103429         modules/rmdir, modules/stat: Likewise.
103431 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
103433         Merge from tar.
103434         * lib/argp-help.c (make_hol, hol_append): Don't assume that
103435         SIZE_MAX is a valid preprocessor constant.
103436         (__argp_basename): Change from "#ifndef _LIBC"
103437         to "#ifndef __argp_short_program_name", so that
103438         we don't compile these functions for tar.
103440         More merges from coreutils.
103441         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
103442         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
103443         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
103444         * lib/addext.c: Remove; no longer needed.
103445         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
103446         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
103447         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
103448         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
103449         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
103450         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
103451         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
103452         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
103453         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
103454         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
103455         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
103456         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
103457         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
103458         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
103459         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
103460         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
103461         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
103462         Import changes from coreutils.
103464 2004-08-05  Simon Josefsson  <jas@extundo.com>
103466         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
103468 2004-08-05  Simon Josefsson  <jas@extundo.com>
103470         * m4/getsubopt.m4: New file.
103472 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
103474         Merge from coreutils.
103476         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
103477         * m4/getcwd-path-max.m4: New files.
103479         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
103480         FILESYSTEM_PREFIX_LEN ->
103481         FILE_SYSTEM_PREFIX_LEN.
103482         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
103483         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
103484         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
103485         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
103487         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
103488         prerequisite modules now handle the DOS stuff.
103489         Don't check for unistd.h.
103491 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
103493         Merge from coreutils.
103495         * lib/.gdb-history: Remove; this doesn't belong here.
103497         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
103498         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
103499         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
103500         * lib/getcwd.c: New files.
103502         * lib/dirname.h: Include <stdbool.h>.
103503         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
103504         for consistency with POSIX terminology.  All uses changed.
103505         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
103506         (strip_trailing_slashes): Use bool for booleans.
103507         * lib/stripslash.c (strip_trailing_slashes): Likewise.
103509         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
103510         sometimes returns a positive errno value even when it succeeds.
103511         (print_errno_message) [!LIBC]: Fall back on strerror if
103512         __strerror_r fails.
103514         * lib/path-concat.c (mempcpy): Don't define if a system header defines
103515         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
103516         (longest_relative_suffix): New function.
103517         (path_concat): Use it.  Assume first argument is not NULL.
103518         Port to DOS.  Omit redundant separators.
103519         Report an error instead of returning NULL.
103520         Use mempcpy instead of memcpy.
103521         (xpath_concat): Remove: not declared or used.
103523         * lib/same.h: Include <stdbool.h>
103524         (same_name): Return bool, not int.
103525         * lib/same.c (same_name): Likewise.
103526         (errno): Don't declare; we assume C89 or better now.
103528         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
103529         if not already defined.
103531         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
103532         * lib/dup-safer.c (errno): Likewise.
103534 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
103536         Merge from coreutils.
103537         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
103538         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
103539         * modules/path-concat: Don't depend on strdup.
103541 2004-08-03  Simon Josefsson  <jas@extundo.com>
103543         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
103544         * lib/progname.h: Don't include stdbool.h.
103546 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
103548         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
103549         * MODULES.html.sh (func_all_modules): Remove fatal.
103551 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
103553         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
103555 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
103557         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
103558         working.
103560 2004-08-02  Simon Josefsson  <jas@extundo.com>
103562         * lib/getsubopt.h: New file, with comments from Bruno Haible.
103563         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
103564         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
103566 2004-08-01  Simon Josefsson  <jas@extundo.com>
103568         * lib/xgetdomainname.c: Include stdlib.h, for free().
103570 2004-07-19  Bruno Haible  <bruno@clisp.org>
103572         * MODULES.html.sh (func_all_modules): Add dummy.
103574 2004-07-16  Simon Josefsson  <jas@extundo.com>
103576         * modules/dummy: New file.
103578 2004-07-16  Simon Josefsson  <jas@extundo.com>
103580         * lib/dummy.c: New file.
103582 2004-07-16  Bruno Haible  <bruno@clisp.org>
103584         * lib/backupfile.h: Add extern "C" for C++.
103585         * lib/closeout.h: Likewise.
103586         * lib/copy-file.h: Likewise.
103587         * lib/findprog.h: Likewise.
103588         * lib/full-write.h: Likewise.
103589         * lib/pathname.h: Likewise.
103590         * lib/progname.h: Likewise.
103591         * lib/stpcpy.h: Likewise.
103592         * lib/stpncpy.h: Likewise.
103593         * lib/strcase.h: Likewise.
103594         * lib/strstr.h: Likewise.
103595         * lib/xalloc.h: Likewise.
103597         * lib/mbswidth.h: Add extern "C" for C++.
103598         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
103600 2004-07-13  Robert Millan  <robertmh@gnu.org>
103602         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
103604 2004-07-09  Simon Josefsson  <jas@extundo.com>
103606         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
103607         failed without this.)
103609 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
103611         * modules/chown (Files): Add lib/fchown-stub.c, since
103612         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
103614 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
103616         * lib/fchown-stub.c: New file.
103618 2004-06-24  Jim Meyering  <jim@meyering.net>
103620         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
103622 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
103624         * modules/argz: Omit "#include".
103626         * MODULES.html.sh (func_all_modules): Add calloc, to match
103627         2004-06-01 addition of calloc module.
103629 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
103631         * m4/argz.m4: New file, which is autoupdated from libtool.
103633 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
103635         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
103636         libtool.
103638 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
103640         * config/srclist-update: Don't insist on "USA." before the
103641         close-comment, as libtool omits the period and puts the */ on a
103642         separate line.
103643         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
103644         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
103646 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
103648         * modules/argz: New file.
103649         * MODULES.html.sh (func_all_modules): Add argz.
103651 2004-06-12  Jim Meyering  <jim@meyering.net>
103652         and  Paul Eggert  <eggert@cs.ucla.edu>
103654         * modules/hash (Files): Add lib/xalloc.h.
103655         * modules/pipe (Depends-on): Add wait-process.
103656         * modules/stat (Depends-on): Add xalloc.
103657         * modules/userspec (Files): Add lib/userspec.h.
103658         * modules/xstrto
103660         Upgrade from gettext-0.13.
103661         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
103662         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
103663         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
103665 2004-06-10  Jim Meyering  <jim@meyering.net>
103667         * lib/calloc.c: New file.
103669 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103671         * lib/getdate.y (yylex): Allow space between sign and number.
103672         Problem reported by Dan Jacobson.
103674 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
103676         Merge from coreutils CVS.
103678         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
103679         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
103680         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
103681         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
103682         xstrtol.m4: Fix copyright date and/or serial number.
103684         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
103685         See if we need an fchown replacement.
103686         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
103687         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
103688         and use the replacement function if we detect either defect.
103690         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
103691         gl_UTIMECMP.
103693 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
103694         and  Jim Meyering  <jim@meyering.net>
103696         Merge from coreutils CVS.
103698         * lib/stat-macros.h: New file, with contents from file-type.h
103699         and coreutils' system.h.
103700         * lib/file-type.c: Include "stat-macros.h".
103701         * lib/file-type.h (file_type): Move all macro definitions to new file,
103702         stat-macros.h.
103704         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
103705         Wrap old code with this conditional.
103706         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
103707         function that does not dereference symlinks.
103708         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
103710         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
103711         dependency problems.
103712         (xreadlink): Accept new arg SIZE, for efficiency.
103713         All decls and uses changed.
103714         * lib/xreadlink.h: Include <stddef.h>, for size_t.
103716         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
103717         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
103719         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
103720         sysexits.h.
103722 2004-06-01  Jim Meyering  <jim@meyering.net>
103724         * m4/calloc.m4: New file.
103726 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
103728         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
103729         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
103730         Also, fix a typo in a diagnostic.
103732 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
103734         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
103735         or AC_FUNC_REALLOC.
103737 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
103739         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
103740         macros to be defined.
103741         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
103742         the allocator returns NULL because the requested size is zero.
103744 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
103746         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
103747         var.  Add comment explaining why libc still defines it.  This
103748         merges the following patch from glibc:
103749         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
103751 2004-05-20  Andreas Schwab  <schwab@suse.de>
103753         * m4/free.m4: Replace free if it not known to work, not the other
103754         way round.
103756 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
103758         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
103759         present in glibc since revision 1.1 of this file.
103760         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
103761         obstack_alignment_mask, obstack_alloc, obstack_base,
103762         obstack_blank, obstack_blank_fast, obstack_chunk_size,
103763         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
103764         obstack_grow0, obstack_init, obstack_int_grow,
103765         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
103766         obstack_next_free, obstack_object_size, obstack_ptr_grow,
103767         obstack_ptr_grow_fast, obstack_room): Remove declarations of
103768         nonexistent functions.
103770 2004-05-18  Karl Berry  <karl@gnu.org>
103772         * config/srclist.txt: break link for vasnprintf.c.
103774 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
103776         Port obstack to the AS/400, where pointers are 16 bytes wide and
103777         you cannot cast an integer to a valid pointer.  This patch is
103778         currently waiting to be integrated into glibc; see
103779         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
103781         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
103782         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
103783         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
103784         (struct obstack): temp member is now a union of a pointer and
103785         an integer, instead of an integer.  All integer uses changed.
103786         This does not affect the physical layout of struct obstack,
103787         except on hosts (like the AS/400) where the size or alignment of
103788         void * is greater than that of ptrdiff_t.
103789         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
103790         __STDC__)]: Store temporary in pointer member of union, not
103791         integer member.
103792         * lib/obstack.c: Include <stddef.h>, for offsetof.
103793         (struct fooalign): Remove; it doesn't need a name.
103794         (union fooround): Change double to long double, and add void *.
103795         (DEFAULT_ALIGNMENT): Use offsetof to compute.
103796         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
103797         not a macro.  Hence the values are always int; so remove all
103798         casts-to-int in uses.
103800 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
103802         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
103803         we can get this patch merged into glibc.
103805 2004-05-17  Derek R. Price  <derek@ximbiot.com>
103806             Paul Eggert  <eggert@cs.ucla.edu>
103808         * m4/argp: Depend on alloca.
103810 2004-05-17  Derek R. Price  <derek@ximbiot.com>
103811             Paul Eggert  <eggert@cs.ucla.edu>
103813         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
103814         freecoding.
103816 2004-05-17  Bruno Haible  <bruno@clisp.org>
103818         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
103819         precision that consists of a '.' followed by an empty digit string.
103820         Patch by Tor Lillqvist <tml@iki.fi>.
103822 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
103824         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
103825         for backward compatibility with older code.  We need our own
103826         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
103827         it under some other name, and our alloca.h will define it.
103829 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
103830             Derek Price  <derek@ximbiot.com>
103832         * lib/alloca.c: Include <alloca.h>, to get our interface.
103833         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
103834         include <alloca.h> first.  Use C89 prototype for alloca; this
103835         requires including <stddef.h> for size_t.  Use extern "C" if C++.
103836         Use #elif for simplicity, since we can assume C89 now.
103837         Don't try to source the system alloca.h since it will not be found
103838         and to prevent recursively including its replacement.
103839         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
103840         * lib/regex.c: Likewise.
103842 2004-05-16  Derek Price  <derek@ximbiot.com>
103843             Paul Eggert  <eggert@cs.ucla.edu>
103845         getline cleanup.  This changes the getndelim2 API: both order of
103846         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
103847         no delimiter).
103849         * lib/getline.c: Don't include stddef.h or stdio.h, since our
103850         interface does that.
103851         (getline): Always use getdelim, so that we don't have two
103852         copies of this code.
103853         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
103854         if available.
103855         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
103856         (GETNDELIM2_MAXIMUM): New macro.
103857         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
103858         instead of the old practice of delim2==0.  All callers changed.
103859         Return -1 on overflow, instead of returning junk.
103860         Do not set *linesize unless allocation succeeds.
103861         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
103862         that we include sys/types.h.
103863         * lib/getnline.h: Likewise.
103864         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
103865         (getndelim2): Reorder arguments.
103866         * lib/getnline.c (getnline, getndelim):
103867         Don't discard the NMAX argument.
103868         (getnline): Invoke getndelim, to avoid code duplication.
103869         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
103870         of (size_t) -1 by callers of the getnline family.
103872 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
103874         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
103875         Check for gettimeofday.
103876         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
103877         Check for settimeofday, stime.
103879 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
103881         * lib/nanosleep.c (suspended): Change its type from int to
103882         sig_atomic_t volatile.
103883         (first_call): Make it private to rpl_nanosleep, and have it
103884         be zero initially as that's a bit faster.
103885         (my_usleep): Round up fractional times instead of truncating them,
103886         as this is the usual meaning for 'sleep'.
103888         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
103889         doesn't work.
103890         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
103891         (ENOSYS): Define if not defined.
103892         (settime): Fall back on stime if it exists and settimeofday fails.
103893         But don't bother with fallbacks if a method fails with errno == EPERM.
103895 2004-05-11  Jim Meyering  <jim@meyering.net>
103897         Prior to this change, the save_cwd caller required read access to the
103898         current directory on most systems (ones with the fchdir function).
103900         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
103901         fails, try write-only, and finally, resort to using xgetcwd.
103903 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
103905         * lib/obstack.c, obstack.h: Import changes from libc.
103907 2004-04-28  Bruno Haible  <bruno@clisp.org>
103909         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
103910         also implicitly appends .exe to executables.
103911         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
103912         accepts Windows pathnames.
103913         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
103914         Treat Cygwin like Windows, since it now accepts Windows pathnames.
103915         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
103916         Treat Cygwin like Windows, since it now accepts Windows pathnames.
103917         Reported by Derek Robert Price <derek@ximbiot.com>.
103919 2004-04-21  Karl Berry  <karl@gnu.org>
103921         * config/srclist.txt (localcharset.c): break sync.
103923 2004-04-20  Paul Eggert  <eggert@twinsun.com>
103925         * m4/host-os.m4: Add a copyright notice.
103927 2004-04-20  Jim Meyering  <jim@meyering.net>
103929         Change UTILS_ to gl_ in AC_DEFINE'd names.
103930         Change utils_- and jm_-prefixed variables, too.
103931         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
103932         UTILS_FUNC_MKDIR_TRAILING_SLASH.
103933         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
103935         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
103936         Don't emit trailing blanks.
103937         Also rename jm_-prefixed variables to have gl_ prefix.
103939         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
103940         Also rename jm_-prefixed variables to have gl_ prefix.
103942         * m4/jm-macros.m4: Reflect the renamings.
103943         * m4/prereq.m4: Likewise.
103945 2004-04-20  Jim Meyering  <jim@meyering.net>
103947         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
103948         memory.
103950 2004-04-20  Jim Meyering  <jim@meyering.net>
103951             Bruno Haible  <bruno@clisp.org>
103953         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
103954         memory when realloc fails.
103956 2004-04-19  Jim Meyering  <jim@meyering.net>
103958         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
103959         now that readutmp.c may call `free (0)'.
103961 2004-04-19  Bruno Haible  <bruno@clisp.org>
103963         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
103964         * m4/inttypes_h.m4: Likewise.
103965         * m4/stdint_h.m4: Likewise.
103966         * m4/intmax_t.m4: Likewise.
103967         * m4/uintmax_t.m4: Likewise.
103969 2004-04-18  Jim Meyering  <jim@meyering.net>
103971         * m4/prereq.m4: Don't forbid jm_ prefix.
103973         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
103974         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
103975         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
103976         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
103977         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
103978         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
103979         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
103980         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
103981         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
103982         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
103983         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
103984         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
103985         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
103986         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
103987         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
103988         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
103989         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
103990         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
103991         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
103993 2004-04-18  Jim Meyering  <jim@meyering.net>
103995         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
103996         failure, don't leak memory and do call END_UTMP_ENT.
103998 2004-04-16  Jim Meyering  <jim@meyering.net>
104000         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
104001         coreutils' stat program.
104002         (gl_PREREQ): Don't require jm_PREREQ_STAT.
104004 2004-04-11  Paul Eggert  <eggert@twinsun.com>
104006         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
104007         C89.
104008         (CHAR_BIT): Remove, since we assume C89.
104009         Include <stdint.h> if available, as per current Autoconf CVS advice.
104011 2004-03-31  Jim Meyering  <jim@meyering.net>
104013         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
104014         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
104015         * m4/xalloc.m4: Likewise.
104017 2004-03-30  Paul Eggert  <eggert@twinsun.com>
104019         Merge from coreutils.
104021         * m4/inttostr.m4: New file.
104022         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
104023         Require AM_STDBOOL_H and gl_TIMESPEC instead.
104024         Require gl_CLOCK_TIME.
104025         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
104027 2004-03-30  Paul Eggert  <eggert@twinsun.com>
104029         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
104030         not bool, to be more consistent with Unix conventions.
104031         Suggested by Bruno Haible.
104033         Merge from coreutils.
104035         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
104036         * lib/umaxtostr.c: New files.
104038         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
104039         the usual <time.h> dance.
104040         (get_date): Change signature to support fractional time stamps.
104041         All callers changed.
104042         * lib/getdate.y: Include "getdate.h" first, as we can now
104043         assume C89 and don't need to worry about 'const'.
104044         Similarly, include "unlocked-io.h" near start, not in middle.
104045         Include <limits.h>.
104046         (textint.value): Use long int rather than int.
104047         (textint.digits): Use size_t rather than int.
104048         (BILLION, LOG10_BILLION): New constants.
104049         (parser_control): New member rel_ns.  Members day_ordinal,
104050         time_zone, month, day, hour, minutes, rel_year, rel_month,
104051         rel_day, rel_hour, rel_minutes, rel_seconds
104052         are now long int, not int.  Member seconds is now struct timespec,
104053         not int.  New member timespec_seen.  Members dates_seen, days_seen,
104054         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
104055         not int.
104056         (%union.intval): Now long int, not int.
104057         New member timespec.
104058         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
104059         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
104060         (spec): Now is a timespec or an item list.
104061         (timespec, items): New nonterminals.
104062         (time, rel, relunit, number, get_date):
104063         Add support for fractional seconds.
104064         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
104065         (gmtime, localtime, mktime): Remove decls; not needed with C89.
104066         (to_hour): First arg is now long int, not int.
104067         (to_year): Returns long int, not int.
104068         Don't treat year -70 like 70.
104069         (tm_diff): Returns long int, not int.
104070         (lookup_word): Use bool instead of int when appropriate.
104071         (yylex): Use size_t for count, not int.
104072         Detect overflow when parsing large integer constants.
104073         Add support for fractions.
104074         (get_date): Make pointers 'const' if possible.
104075         Use more-portable code to detect integer overflow.
104076         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
104077         Don't use ctime; it's not reliable if the year has >4 digits.
104079         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
104080         This is for compatibility with BSD.
104082         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
104083         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
104084         From coreutils' system.h.
104086         * lib/userspec.c: Don't include "posixver.h".
104087         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
104088         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
104089         compatible extension.  Simplify code by removing a boolean int
104090         that was always nonzero if a string was nonnull.
104092 2004-03-30  Jim Meyering  <jim@meyering.net>
104094         Merge from coreutils.
104096         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
104097         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
104098         on some systems one must include <grp.h> before it.
104099         Reported by Christian Krackowizer.
104101 2004-03-30  Jim Meyering  <jim@meyering.net>
104103         Merge from coreutils.
104105         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
104107         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
104108         an empty input stream.
104110         * lib/readtokens.c: Include <stdbool.h>.
104111         (readtoken): Use `size_t' rather than int/long.
104112         All callers adjusted.
104113         Use `bool' rather than `int' where appropriate.
104114         Use memset rather than an explicit loop.
104115         Use x2nrealloc rather than xrealloc.
104116         Allow the use of `\0' as a delimiter.
104117         (readtokens): Likewise.
104118         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
104120 2004-03-30  Jim Meyering  <jim@meyering.net>
104122         * m4/realloc.m4: Remove file, since now it does no more than
104123         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
104124         the `configure.ac' section of module/realloc.
104125         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
104127 2004-03-30  Bruno Haible  <bruno@clisp.org>
104129         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
104130         nonnull.
104132 2004-03-29  Paul Eggert  <eggert@twinsun.com>
104134         Merge changes to getloadavg.c from coreutils and Emacs.
104136         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
104137         Define to an expression, not to the empty string.
104138         Include cloexec.h and xalloc.h.
104139         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
104140         Use set_cloexec_flag rather than rolling our own.
104141         * lib/cloexec.c, lib/cloexec.h: New files.
104143 2004-03-29  Paul Eggert  <eggert@twinsun.com>
104145         * m4/cloexec.m4: New file.
104147 2004-03-18  Paul Eggert  <eggert@twinsun.com>
104149         * lib/getopt.h: Sync with libc CVS.
104151 2004-03-18  Paul Eggert  <eggert@twinsun.com>
104152             Bruno Haible  <bruno@clisp.org>
104154         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
104155         mbswidth.
104157 2004-03-18  Paul Eggert  <eggert@twinsun.com>
104158             Bruno Haible  <bruno@clisp.org>
104160         * lib/mbswidth.h: Include <wchar.h> only if
104161         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
104162         <wchar.h>.
104163         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
104165 2004-03-09  Paul Eggert  <eggert@twinsun.com>
104167         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
104168         Sync with libc CVS.
104169         * lib/getopt_int.h: New file, also synced from libc.
104171 2004-03-09  Paul Eggert  <eggert@twinsun.com>
104173         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
104174         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
104175         Bring back getopt.c, getopt.h, getopt1.c.
104177 2004-03-07  Paul Eggert  <eggert@twinsun.com>
104179         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
104180         All uses changed.  Check for sa_sigaction member; this fixes
104181         a bug first reported by Jason Andrade in
104182         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
104184 2004-03-07  Paul Eggert  <eggert@twinsun.com>
104186         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
104187         '#if' expressions.  Unlike the code it replaces, it does not
104188         depend on (defined _SC_PAGESIZE).  However, it does depend on
104189         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
104190         first reported by Jason Andrade in
104191         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
104193 2004-02-25  Simon Josefsson  <jas@extundo.com>
104195         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
104197 2004-02-25  Simon Josefsson  <jas@extundo.com>
104199         * lib/strdup.h: New file.
104200         * lib/strdup.c: Include it.
104201         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
104202         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
104204 2004-02-23  Karl Berry  <karl@gnu.org>
104206         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
104207         (from fencepost.gnu.org:/gd/gnuorg).
104209 2004-02-23  Karl Berry  <karl@gnu.org>
104211         * config/srclistvars.sh (GNUORG) [karl]: redefine.
104212         * config/srclist.txt: add maintain/standards documents.
104214 2004-02-18  Bruno Haible  <bruno@clisp.org>
104216         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
104217         Reported by Derek Robert Price <derek@ximbiot.com>.
104219 2004-02-16  Karl Berry  <karl@gnu.org>
104221         * config/mkinstalldirs, install-sh: update from automake.
104223 2004-02-06  Karl Berry  <karl@gnu.org>
104225         * m4/po.m4: update from gettext 0.14.1.
104227 2004-02-06  Karl Berry  <karl@gnu.org>
104229         * lib/config.charset: update from gettext 0.14.1.
104231 2004-02-05  Paul Eggert  <eggert@twinsun.com>
104233         Add comments and code, prompted by suggestions from Bruno Haible
104234         for sh-quote.
104235         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
104236         describing the enum quoting_style values.
104237         * lib/quotearg.c (quotearg_alloc): New function.
104238         (quotearg_buffer_restyled): Treat lone { and } as special.
104239         Treat = as special.  Work around bug with older shells
104240         that "see" a '\' that is really the 2nd byte of a multibyte char.
104241         Quote empty string with shell_quoting_style.
104243 2004-02-03  Bruno Haible  <bruno@clisp.org>
104245         * m4/pipe.m4: New file, from GNU gettext.
104247 2004-02-03  Bruno Haible  <bruno@clisp.org>
104249         * lib/pipe.h: New file, from GNU gettext.
104250         * lib/pipe.c: New file, from GNU gettext.
104252 2004-01-27  Bruno Haible  <bruno@clisp.org>
104254         * m4/execute.m4: New file, from GNU gettext.
104256 2004-01-27  Bruno Haible  <bruno@clisp.org>
104258         * lib/execute.h: New file, from GNU gettext.
104259         * lib/execute.c: New file, from GNU gettext.
104260         * lib/w32spawn.h: New file, from GNU gettext.
104262 2004-01-24  Paul Eggert  <eggert@twinsun.com>
104264         Merge from diffutils.
104266         * lib/file-type.c (file_type): Add typed memory objects.
104267         * lib/file-type.h (S_TYPEISTMO): New macro.
104269         * lib/c-stack.h (c_stack_action): Remove argv argument.
104270         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
104271         (die): Don't calculate message unless segv_action returns.
104272         (get_stack_location, min_address_from_argv, max_address_from_argv,
104273         volatile stack_base, volatile_stack_size): Remove.
104274         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
104275         that every segmentation violation is a stack overflow.  (Ouch!)
104276         See Debian bug 136249 (still outstanding) for more info about why
104277         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
104279 2004-01-24  Paul Eggert  <eggert@twinsun.com>
104281         Exit-status fix from coreutils.
104283         Use exit_failure consistently in place of EXIT_FAILURE,
104284         so that program exit statuses are consistent on failure.
104286         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
104287         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
104288         * lib/argmatch.h: Comment fix to match the above.
104289         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
104290         Now a macro referring to exit_failure, instead of a separate
104291         variable.  Include "exitfail.h" to get it.
104292         * lib/xstrtol.h: Include "exitfail.h".
104293         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
104295         * lib/long-options.c (parse_long_options): Use prototype
104296         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
104297         for clarity.
104299 2004-01-21  Jim Meyering  <jim@meyering.net>
104301         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
104302         so as not to conflict with a different-sized __mktime_internal
104303         function in GNU libc.
104304         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
104305         Problem building statically-linked `ls' reported by Michael Brunnbauer.
104307 2004-01-20  Karl Berry  <karl@gnu.org>
104309         * config/config.guess: update from config.
104311         * config/srclistvars.sh: GNUWWWLICENSES for karl.
104313 2004-01-20  Bruno Haible  <bruno@clisp.org>
104315         Safer stack allocation.
104316         * lib/setenv.c: Include allocsa.h.
104317         (alloca): Remove fallback definition.
104318         (freea): Remove macro.
104319         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
104320         instead of freea.
104322 2004-01-20  Bruno Haible  <bruno@clisp.org>
104324         * m4/eealloc.m4: New file, from GNU gettext.
104326 2004-01-20  Bruno Haible  <bruno@clisp.org>
104328         * m4/allocsa.m4: New file, from GNU gettext.
104330 2004-01-20  Bruno Haible  <bruno@clisp.org>
104332         * lib/xallocsa.h: New file, from GNU gettext.
104333         * lib/xallocsa.c: New file, from GNU gettext.
104335 2004-01-20  Bruno Haible  <bruno@clisp.org>
104337         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
104339 2004-01-20  Bruno Haible  <bruno@clisp.org>
104341         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
104342         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
104343         specially.
104345 2004-01-20  Bruno Haible  <bruno@clisp.org>
104347         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
104348         patch.
104350 2004-01-20  Bruno Haible  <bruno@clisp.org>
104352         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
104354 2004-01-20  Bruno Haible  <bruno@clisp.org>
104356         * lib/eealloc.h: New file.
104358 2004-01-20  Bruno Haible  <bruno@clisp.org>
104360         * lib/binary-io.h: Avoid warnings on Cygwin.
104362 2004-01-20  Bruno Haible  <bruno@clisp.org>
104364         * lib/allocsa.h: New file, from GNU gettext.
104365         * lib/allocsa.c: New file, from GNU gettext.
104367 2004-01-18  Karl Berry  <karl@gnu.org>
104369         * doc/gpl.texi, doc/lgpl.texi: new files.
104371 2004-01-18  Karl Berry  <karl@gnu.org>
104373         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
104374         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
104376 2004-01-15  Paul Eggert  <eggert@twinsun.com>
104378         Merge from coreutils.
104380         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
104381         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
104382         (gl_DEFAULT_POSIX2_VERSION): Move
104383         the documentation from 'configure' into 'config.hin',
104384         so that 'configure --help' isn't burdened by it and
104385         we don't have to worry about its formatting there.
104386         Reword the documentation so that it's more succinct
104387         and can be run together into a single paragraph.
104388         * m4/same.m4 (gl_SAME): Check for pathconf.
104390 2004-01-15  Paul Eggert  <eggert@twinsun.com>
104392         Merge from coreutils.
104394         * lib/posixver.c: Include posixver.h.
104396         * lib/same.c: Include <stdbool.h>, <limits.h>.
104397         (_POSIX_NAME_MAX): Define if not defined.
104398         (MIN): New macro.
104399         (same_name): If file names are silently truncated, report
104400         that the file names are the same if they are the same after
104401         the silent truncation.
104403         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
104404         conversion function.
104405         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
104406         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
104407         longer needed.
104409 2004-01-15  Jim Meyering  <jim@meyering.net>
104411         Merge from coreutils.
104413         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
104414         if no library is required.
104415         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
104416         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
104417         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
104418         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
104419         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
104420         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
104421         value, $ac_cv_search_crypt, if it's "none required".
104422         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
104423         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
104424         not gl_FUNC_GETLOADAVG.
104425         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
104426         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
104428 2004-01-15  Jim Meyering  <jim@meyering.net>
104430         Merge from coreutils.
104432         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
104433         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
104434         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
104436         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
104437         optional configure-time default.
104439         * lib/version-etc.c (version_etc_copyright): Update copyright date.
104441         * lib/xreadlink.c (xreadlink): Correct outdated comment.
104443 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
104445         Merge from coreutils.
104447         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
104448         value, $ac_cv_search_nanosleep, if it's "none required".
104450 2004-01-14  Paul Eggert  <eggert@twinsun.com>
104452         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
104453         with like-named macro in fnmatch.c.
104454         (EXT): Use an internal constant instead.
104456         Merge fnmatch patches from glibc.
104457         * lib/fnmatch.c (mbsinit): Remove define.
104458         Add libc_hidden_ver (__fnmatch, fnmatch).
104459         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
104460         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
104462 2004-01-14  Karl Berry  <karl@gnu.org>
104464         * config/install-sh: update from automake.
104466 2004-01-13  Karl Berry  <karl@gnu.org>
104468         * config/install-sh: update from automake.
104470 2004-01-09  Karl Berry  <karl@gnu.org>
104472         * config/install-sh: update from automake.
104474 2004-01-05  Karl Berry  <karl@gnu.org>
104476         * config/config.{sub,guess}: update from config.
104478 2003-12-31  Karl Berry  <karl@gnu.org>
104480         * config/depcomp: update from automake.
104482 2003-12-14  Karl Berry  <karl@gnu.org>
104484         * lib/config.charset: update from gettext-runtime.
104486 2003-12-03  Paul Eggert  <eggert@twinsun.com>
104488         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
104489         Bug reported by Alfred M. Szmidt.
104491 2003-12-03  Bruno Haible  <bruno@clisp.org>
104493         * m4/gettext.m4: Upgrade from gettext-0.13.
104494         * m4/po.m4: Upgrade from gettext-0.13.
104495         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
104496         * m4/intmax.m4: New file, from gettext-0.13.
104497         * m4/printf-posix.m4: New file, from gettext-0.13.
104499 2003-11-29  Karl Berry  <karl@gnu.org>
104501         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
104503 2003-11-25  Paul Eggert  <eggert@twinsun.com>
104504             Bruno Haible  <bruno@clisp.org>
104506         * lib/printf-parse.h: Don't include sys/types.h.
104507         (ARG_NONE): New macro.
104508         (char_directive): Change type of *arg_index fields to size_t.
104509         * lib/printf-parse.c: Don't include sys/types.h.
104510         (SSIZE_MAX): Remove macro.
104511         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
104512         Remove unnecessary overflow check.
104513         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
104514         fields.
104516 2003-11-25  Bruno Haible  <bruno@clisp.org>
104518         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
104520 2003-11-25  Bruno Haible  <bruno@clisp.org>
104522         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
104523         gt_TYPE_SSIZE_T.
104525 2003-11-24  Paul Eggert  <eggert@twinsun.com>
104527         * modules/alloca: Remove dependency on xalloc.
104529 2003-11-24  Paul Eggert  <eggert@twinsun.com>
104531         * lib/alloca.c: Remove dependency on xalloc module.
104532         (xalloc_die): Remove.
104533         (memory_full) [!defined emacs]: New macro.
104534         [!defined emacs]: Don't include xalloc.h.
104535         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
104536         address arithmetic overflows.  Change datatypes a bit to avoid
104537         unnecessary casts.
104539 2003-11-22  Jim Meyering  <jim@meyering.net>
104541         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
104542         s/size/size_t/.
104544 2003-11-21  Karl Berry  <karl@gnu.org>
104546         * config/config.{sub,guess}: update from config.
104548 2003-11-18  Karl Berry  <karl@gnu.org>
104550         * config/config.{sub,guess}: update from config.
104552         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
104554 2003-11-17  Paul Eggert  <eggert@twinsun.com>
104556         * README: Mention that S+T cannot overflow if S is the size of
104557         an existing object and T is sufficiently small.
104559 2003-11-17  Jim Meyering  <jim@meyering.net>
104561         On systems without utime and without a utimes function capable of
104562         dealing with a NULL struct utimbuf* argument, this utime replacement
104563         could -- in unusual circumstances -- leak a file descriptor.
104564         * lib/utime.c: Include <unistd.h> and <errno.h>.
104565         (utime_null): Be sure to close `fd' and to preserve errno.
104566         Reported by Geoff Collyer via Arnold Robbins.
104568 2003-11-17  Bruno Haible  <bruno@clisp.org>
104570         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
104571         (Depends-on): Add xsize.
104573 2003-11-17  Bruno Haible  <bruno@clisp.org>
104575         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
104577 2003-11-17  Bruno Haible  <bruno@clisp.org>
104579         * lib/vasnprintf.c (alloca): Remove fallback definition.
104580         (freea): Remove definition.
104581         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
104582         Reported by Paul Eggert.
104584 2003-11-16  Paul Eggert  <eggert@twinsun.com>
104585             Bruno Haible  <bruno@clisp.org>
104587         Protect against address arithmetic overflow.
104588         * lib/printf-args.h: Include stddef.h.
104589         (arguments): Change type of field 'count' to size_t.
104590         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
104591         'unsigned int' where appropriate.
104592         * lib/printf-parse.h: Include sys/types.h.
104593         (char_directive): Change type of *arg_index fields to ssize_t.
104594         (char_directives): Change type of fields 'count', max_*_length to
104595         size_t.
104596         * lib/printf-parse.c: Include sys/types.h and xsize.h.
104597         (SSIZE_MAX): Define fallback value.
104598         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
104599         instead of 'int' where appropriate. Check a_allocated, d_allocated
104600         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
104601         * lib/vasnprintf.c: Include xsize.h.
104602         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
104603         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
104604         overflow. Avoid wraparound when converting a width or precision from
104605         decimal to binary.
104607 2003-11-16  Bruno Haible  <bruno@clisp.org>
104609         Update from GNU gettext.
104610         * lib/printf-parse.c: Generalize to it can be compiled for wide
104611         strings.
104612         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
104613         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
104614         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
104615         SNPRINTF): New macros.
104616         Don't include <alloca.h> if the file is used inside libintl.
104617         (local_wcslen): New function, for Solaris 2.5.1.
104618         (VASNPRINTF): Use it instead of wcslen.
104620 2003-11-16  Bruno Haible  <bruno@clisp.org>
104622         * lib/xsize.h (xmax): New function.
104623         (xsum, xsum3, xsum4): Declare as "pure" functions.
104625 2003-11-12  Paul Eggert  <eggert@twinsun.com>
104627         * modules/xalloc (Files): Undo latest change, since xalloc.h
104628         no longer needs SIZE_MAX or PTRDIFF_MAX.
104630 2003-11-12  Paul Eggert  <eggert@twinsun.com>
104632         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
104633         gl_PTRDIFF_MAX.
104635 2003-11-12  Paul Eggert  <eggert@twinsun.com>
104637         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
104638         "return", to pacify some unknown compiler.  Problem reported
104639         by Joerg Schilling.
104641 2003-11-12  Paul Eggert  <eggert@twinsun.com>
104643         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
104644         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
104645         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
104646         heuristic is just as accurate as far as we know, and it removes a
104647         dependency on size_max.m4 and ptrdiff_max.m4.
104649 2003-11-11  Bruno Haible  <bruno@clisp.org>
104651         * modules/xsize (Files): Add m4/size_max.m4.
104652         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
104654 2003-11-11  Bruno Haible  <bruno@clisp.org>
104656         * m4/size_max.m4: New file.
104657         * m4/ptrdiff_max.m4: New file.
104658         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
104659         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
104660         (gl_XALLOC): Invoke it.
104662 2003-11-11  Bruno Haible  <bruno@clisp.org>
104664         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
104665         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
104666         defined.
104668 2003-11-10  Paul Eggert  <eggert@twinsun.com>
104670         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
104671         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
104672         rejected some allocations of exactly SIZE_MAX - 2 bytes.
104673         From Bruno Haible.
104674         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
104675         not (size_t) -1, since it's defined here.
104677 2003-11-09  Karl Berry  <karl@gnu.org>
104679         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
104681 2003-11-06  Paul Eggert  <eggert@twinsun.com>
104683         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
104684         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
104685         Reject sizes of exactly SIZE_MAX bytes.
104686         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
104687         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
104689 2003-11-05  Bruno Haible  <bruno@clisp.org>
104691         * lib/xsize.h: Include limits.h, to avoid a possible collision with
104692         SIZE_MAX defined in <limits.h> on Solaris.
104694 2003-11-04  Jim Meyering  <jim@meyering.net>
104696         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
104697         variable names, rather than @VAR@.
104698         * modules/poll: Likewise.
104700 2003-11-04  Bruno Haible  <bruno@clisp.org>
104702         * modules/xsize: New file.
104703         * modules/linebreak: Depend on xsize.
104704         * MODULES.html.sh (func_all_modules): Add xsize.
104706 2003-11-04  Bruno Haible  <bruno@clisp.org>
104708         * m4/xsize.m4: New file.
104710 2003-11-04  Bruno Haible  <bruno@clisp.org>
104712         * lib/xsize.h: New file.
104713         * lib/linebreak.c: Include xsize.h.
104714         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
104715         argument for overflow.
104716         Suggested by Paul Eggert.
104718 2003-11-03  Karl Berry  <karl@gnu.org>
104720         * config/config.{guess,sub}: update from config.
104722 2003-11-03  Jim Meyering  <jim@meyering.net>
104724         * modules/userspec (lib_SOURCES): Add userspec.h.
104725         (Include): Add "userspec.h".
104726         Improve description.
104728 2003-11-03  Jim Meyering  <jim@meyering.net>
104730         * lib/userspec.c: Include "userspec.h".
104731         * lib/userspec.h: New file.
104733 2003-11-03  Bruno Haible  <bruno@clisp.org>
104735         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
104737 2003-11-03  Bruno Haible  <bruno@clisp.org>
104739         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
104740         available, to avoid (extremely rare) race condition.
104741         Suggested by Paul Eggert.
104743 2003-11-02  Karl Berry  <karl@gnu.org>
104745         * config/srclist.txt (vasprintf.c): sync broken, sigh.
104747 2003-10-31  Paul Eggert  <eggert@twinsun.com>
104749         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
104750         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
104751         (read_filesystem_list): Set and use me_type_malloced.
104752         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
104753         whatever the type happens to be), for brevity and consistency.
104754         Check for size calculation overflow on Alphas running OSF/1.
104756 2003-10-31  Jim Meyering  <jim@meyering.net>
104758         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
104760         * lib/linebuffer.c: Include <string.h> for declaration of memset.
104762 2003-10-30  Paul Eggert  <eggert@twinsun.com>
104763             Bruno Haible  <bruno@clisp.org>
104765         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
104766         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
104768 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
104770         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
104771         netbsd*-gnu*.  Suggested by Robert Millan.
104773 2003-10-29  Paul Eggert  <eggert@twinsun.com>
104775         * modules/group-member: Depend on stdbool.
104777 2003-10-29  Paul Eggert  <eggert@twinsun.com>
104779         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
104781 2003-10-29  Paul Eggert  <eggert@twinsun.com>
104783         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
104784         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
104785         after the 'gnu' in these cases.  This fixes some bugs in the
104786         previous change, and is based on suggestions by Robert Millan.
104788 2003-10-29  Paul Eggert  <eggert@twinsun.com>
104790         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
104791         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
104792         no longer needed.
104793         * lib/quotearg.c (quotearg_n_options): Use it.
104794         * lib/group-member.c: Include <stdbool.h>.
104795         (free_group_info): Arg is now const *; don't free arg.
104796         (get_group_info): Now returns bool and accepts struct group_info *,
104797         rather than returning a malloc'ed struct group_info *.
104798         All uses changed.  Check for overflow in internal size calculation.
104800         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
104801         rather than xmalloc/xrealloc.
104802         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
104803         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
104804         conformance bug: the old code used a pointer after freeing the
104805         storage that it addressed.
104806         * lib/hash.c (hash_initialize): Simplify the code by using
104807         xalloc_oversized rather than doing it by hand.
104808         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
104809         the buffer preserved.  Use free and xmalloc instead.
104810         * lib/quotearg.c (quotearg_n_options): Likewise.
104811         Use a simpler test for size overflow.  Don't use xalloc_oversized
104812         because unsigned int might be wider than size_t (!); this suggests
104813         that we should switch from unsigned int to size_t for slot numbers.
104815 2003-10-28  Paul Eggert  <eggert@twinsun.com>
104817         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
104818         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
104819         NetBSD kernels.  Requested by Richard Stallman.
104821 2003-10-27  Paul Eggert  <eggert@twinsun.com>
104823         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
104824         to allocate the returned structure.  Do not allocate a subarray,
104825         as x2nrealloc will do that.
104826         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
104827         instead of xnrealloc.
104828         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
104830 2003-10-27  Bruno Haible  <bruno@clisp.org>
104832         * lib/stdbool_.h: Better support for BeOS.
104834 2003-10-26  Paul Eggert  <eggert@twinsun.com>
104836         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
104837         now uses inline.
104839 2003-10-26  Paul Eggert  <eggert@twinsun.com>
104841         * lib/xalloc.h (xalloc_oversized): New static inline function, for
104842         callers that want to do their own size-overflow checking.  Include
104843         <stdbool.h>, since xalloc_oversized returns bool.
104844         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
104845         to use xalloc_oversized.
104847         Add two functions x2realloc, x2nrealloc, for programs that grow
104848         arrays dynamically by doubling their sizes.
104849         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
104850         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
104851         New functions.
104853         Port to C99 semantics for 'inline' of external functions.
104854         Bug reported by Bruno Haible.
104855         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
104856         with the old contents of xnmalloc.
104857         (xnmalloc, xmalloc): Use it.
104858         (xnrealloc_inline): New static inline function,
104859         with the old contents of xnrealloc.
104860         (xnrealloc, xrealloc): Use it.
104862         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
104863         that.
104865 2003-10-26  Karl Berry  <karl@gnu.org>
104867         * config/srclist.txt (COPYING.DOC): no longer available from
104868         /gd/gnuorg; don't know where the ultimate source is.
104870 2003-10-25  Paul Eggert  <eggert@twinsun.com>
104872         Fix several address-calculation bugs in the hash modules,
104873         plus some minor code cleanup.
104875         * lib/hash.h: Include <stdbool.h>, for bool.
104876         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
104877         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
104878         hash_get_n_entries, hash_get_max_bucket_length,
104879         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
104880         hash_rehash): Use size_t rather than unsigned.
104881         * lib/hash.c (struct hash_table, hash_get_n_buckets,
104882         hash_get_n_buckets_used, hash_get_n_entries,
104883         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
104884         hash_get_entries, hash_do_for_each, hash_string, is_prime,
104885         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
104886         Likewise.
104887         (SIZE_MAX): Define if not defined.
104888         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
104889         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
104890         hash_print):
104891         Use const * when possible.
104892         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
104893         (check_tuning): Fix bug: if tuning parameters were very close to
104894         0 or 1, rounding errors could have caused subscript violations.
104895         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
104896         (hash_initialize): Add 'fail:' label
104897         to free table and return NULL, and use it to simplify code.
104898         Use calloc rather than clearing the storage ourself.
104899         (hash_initialize, hash_rehash): Check for arithmetic overflow in
104900         buffer size calculations.
104901         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
104902         Include <stddef.h>, for size_t.
104903         * lib/hash-pjw.c (hash_pjw): Likewise.
104904         Switch to method described by Bruno Haible.
104905         Include <limits.h>, for CHAR_BIT.
104906         (SIZE_BITS): New macro.
104908 2003-10-23  Paul Eggert  <eggert@twinsun.com>
104910         * m4/getline.m4 (AM_FUNC_GETLINE):
104911         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
104912         hosts.  Problem reported by Derek Robert Price in
104913         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
104914         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
104915         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
104917 2003-10-21  Paul Eggert  <eggert@twinsun.com>
104919         * lib/getndelim2.c (getndelim2): When size calculation overflows,
104920         ceiling the allocation at NMAX bytes rather than silently
104921         discarding input bytes before NMAX is reached.  This makes
104922         a difference only if NMAX exceeds SIZE_MAX / 2.
104924         * lib/obstack.c: Merge from glibc.
104925         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
104926         Add libc_hidden_def (_obstack_newchunk).
104927         (_obstack_free) [! defined _LIBC]: Remove.
104928         [defined _LIBC]: Make a strong alias from obstack_free, rather than
104929         a clone of the function body.
104930         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
104931         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
104933         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
104934         glibc.
104935         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
104936         arg to memcpy.
104938         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
104939         (obstack_ptr_grow_fast, obstack_int_grow_fast):
104940         Don't use lvalue casts, as GCC plans to remove support for them
104941         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
104942         was also present in the non-GCC version, indicating that this
104943         code had always been buggy and had never been widely used.
104944         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
104945         Use the fast variant of each macro, rather than copying the
104946         definiens of the fast variant; that way, we'll be more likely to
104947         catch future bugs in the fast variants.
104949 2003-10-20  Bruno Haible  <bruno@clisp.org>
104951         * modules/wait-process: New file.
104952         * MODULES.html.sh (func_all_modules): Add wait-process.
104954 2003-10-20  Bruno Haible  <bruno@clisp.org>
104956         * m4/wait-process.m4: New file.
104958 2003-10-20  Bruno Haible  <bruno@clisp.org>
104960         * lib/wait-process.h: New file, from GNU gettext.
104961         * lib/wait-process.c: New file, from GNU gettext.
104963 2003-10-19  Jim Meyering  <jim@meyering.net>
104965         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
104966         HPUX 10.20.
104968 2003-10-18  Karl Berry  <karl@gnu.org>
104970         * config/config.guess: update from config.
104972 2003-10-16  Paul Eggert  <eggert@twinsun.com>
104974         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
104975         (getgroups): First arg is int, not size_t.
104976         Don't let 'free' mangle errno.
104978 2003-10-16  Paul Eggert  <eggert@twinsun.com>
104980         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
104982 2003-10-16  Karl Berry  <karl@gnu.org>
104984         * config/config.{guess,sub}: update from config.
104986 2003-10-16  Jim Meyering  <jim@meyering.net>
104988         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
104989         memcpy.
104991 2003-10-15  Paul Eggert  <eggert@twinsun.com>
104993         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
104994         (SIZE_MAX): Remove.
104995         (new_exclude, add_exclude_file): Initial size no longer needs to
104996         be a power of 2.
104997         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
104998         our own address arithmetic overflow checking.
105000         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
105001         (fnmatch): Do not alloca more than 2000 wide characters;
105002         instead, use malloc for large buffers.
105003         Check for address arithmetic overflow, and return -1
105004         with errno set to ENOMEM in that case.
105005         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
105006         (NEW_PATTERN): Do not alloca more than 8000 bytes;
105007         instead, return -1.  Check for address arithmetic overflow.
105009 2003-10-14  Paul Eggert  <eggert@twinsun.com>
105011         Handle invalid suffixes and overflow independently, so that
105012         callers can treat them independently as needed.  Fix some bugs in
105013         suffix handling, e.g., "100k@" was not diagnosed as an invalid
105014         suffix for a human-readable blocksize.  The major caller-visible
105015         change is the addition of a new
105016         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
105017         that both overflow and suffix chars were found.
105019         * lib/human.c (humblock): Don't check separately for invalid suffix
105020         char; that is xstrtoumax's job (now that its bug is fixed).
105021         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
105022         INTMAX_MAX]: New macros.
105023         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
105024         TYPE_MAXIMUM): New macros.
105025         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
105026         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
105027         if overflow occurs, as it's what __strtol does and it's more useful
105028         in practice.
105029         (__xstrtol): If __strtol reports some error other than ERANGE,
105030         reflect it to the caller as LONGINT_INVALID.  If it reports
105031         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
105032         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
105033         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
105034         value.
105035         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
105036         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
105037         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
105038         [defined UINTMAX_MAX]: New macros.
105040 2003-10-14  Bruno Haible  <bruno@clisp.org>
105042         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
105044 2003-10-14  Bruno Haible  <bruno@clisp.org>
105046         * m4/sig_atomic_t: New file, from GNU gettext.
105047         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
105049 2003-10-14  Bruno Haible  <bruno@clisp.org>
105051         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
105052         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
105053         Also use volatile where needed.
105055 2003-10-12  Paul Eggert  <eggert@twinsun.com>
105057         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
105058         Change maintainer from Bruno Haible to 'all'.
105060 2003-10-12  Paul Eggert  <eggert@twinsun.com>
105062         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
105064 2003-10-12  Paul Eggert  <eggert@twinsun.com>
105066         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
105067         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
105068         and define in terms of the other primitives.
105069         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
105070         (SIZE_MAX): Define if not already defined.
105071         (array_size_overflow): New function.
105072         (xalloc_die): Abort instead of exiting if 'error' returns.
105073         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
105074         (xmalloc, xrealloc): Use them.
105075         (xcalloc): Check for address arithmetic overflow.
105076         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
105077         a bit faster than strcpy.
105079 2003-10-10  Simon Josefsson  <jas@extundo.com>
105081         * modules/argp (Depends-on): Add restrict and strcase.
105083 2003-10-10  Simon Josefsson  <jas@extundo.com>
105085         * m4/argp.m4: Add AC_C_INLINE.
105087 2003-10-08  Paul Eggert  <eggert@twinsun.com>
105089         Merge getpass from libc, plus a few fixes.
105091         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
105092         Include <stdbool.h>.
105093         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
105094         __fsetlocking to empty.
105095         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
105096         do include <bits/libc-lock.h>.
105097         Do not include <fcntl.h>; not needed.
105098         [_LIBC]: Include <wchar.h>.
105099         (NOTCANCEL_MODE): New macro.
105100         (flockfile, funlockfile) [_LIBC]: New macros.
105101         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
105102         [!_LIBC]: New macros.
105103         (call_fclose): New function.
105104         (getpass): Use it.  Save tty stream separately; this simplifies the
105105         code and makes it more reliable if stdin happens to equal stdout.
105106         Invoke __fsetlocking on tty.
105107         Handle thread cancellation if needed.
105108         Namespace cleanup (use __tcgetattr, __getline).
105109         Use bool for Booleans.
105110         [USE_IN_LIBIO]: Handle wide streams.
105111         [!_LIBC]: Unconditionally do the fseek, since we don't know what
105112         stream might go where.
105114         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
105115         doesn't have to include <stdio.h> before us.
105116         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
105117         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
105118         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
105119         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
105120         if not declared, so that we can use getpass.c code from libc without
105121         rewriting it.
105122         (flockfile, ftrylockfile, funlockfile): New macros.
105124 2003-10-08  Paul Eggert  <eggert@twinsun.com>
105126         * modules/getpass: Depend on stdbool.
105128 2003-10-08  Paul Eggert  <eggert@twinsun.com>
105130         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
105132 2003-10-07  Karl Berry  <karl@gnu.org>
105134         * config/config.{guess,sub}: update from config.
105136 2003-10-06  Jim Meyering  <jim@meyering.net>
105137             Bruno Haible  <bruno@clisp.org>
105139         This lets translators provide better translations for the
105140         "Written by ..." part of --version output.
105141         * lib/version-etc.h: Include stdarg.h.
105142         (version_etc_copyright): Declare as readonly.
105143         (version_etc): Make this function variadic with a NULL-terminated list
105144         of author name strings.
105145         (version_etc_va): New declaration.
105146         * lib/version-etc.c: Include stdarg.h, stdlib.h.
105147         (version_etc_copyright): Declare as readonly.
105148         (version_etc_va): New function. Provide a different translatable string
105149         for each possible number of authors < 10. Abbreviate when there are 10
105150         authors or more.
105151         (version_etc): Make this function variadic. Call version_etc_va.
105152         Suggestion from Gary V. Vaughan.
105154         * lib/long-options.h (parse_long_options): Change prototype: the
105155         authors string is moved to the end and becomes variadic.
105156         * lib/long-options.c: Include stdarg.h.
105157         (parse_long_options): Make this function variadic, too.
105158         Call version_etc_va, not version_etc.
105160 2003-10-06  Bruno Haible  <bruno@clisp.org>
105162         * modules/version-etc-2: Remove file.
105163         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
105165 2003-10-06  Bruno Haible  <bruno@clisp.org>
105167         * modules/fatal-signal: New file.
105168         * MODULES.html.sh (func_all_modules): Add fatal-signal.
105170 2003-10-06  Bruno Haible  <bruno@clisp.org>
105172         * m4/fatal-signal.m4: New file.
105173         * m4/signalblocking.m4: New file, from GNU gettext.
105175 2003-10-06  Bruno Haible  <bruno@clisp.org>
105177         * lib/version-etc-2.h: Remove file.
105178         * lib/version-etc-2.c: Remove file.
105180 2003-10-06  Bruno Haible  <bruno@clisp.org>
105182         * lib/fatal-signal.h: New file, from GNU gettext.
105183         * lib/fatal-signal.c: New file, from GNU gettext.
105185 2003-10-05  Paul Eggert  <eggert@twinsun.com>
105187         * README: Rework advice for preventing empty .o files.
105188         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
105189         not <sys/types.h>.
105191 2003-10-04  Karl Berry  <karl@gnu.org>
105193         * lib/argp*: update from libc.
105195 2003-10-04  Karl Berry  <karl@gnu.org>
105197         * config/config.{guess,sub}: update from config.
105199 2003-10-02  Bruno Haible  <bruno@clisp.org>
105201         * modules/lchown (Include): Add lchown.h.
105202         * modules/time_r (Include): Use "..." syntax.
105203         * modules/xgetdomainname (Include): Add xgetdomainname.h.
105205 2003-10-01  Simon Josefsson  <jas@extundo.com>
105207         * MODULES.html.sh (func_all_modules): Move gethostname from section
105208         'based on' to section 'lacking' POSIX:2001.
105210 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
105212         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
105213         to output mode on the same stream.
105215 2003-09-29  Paul Eggert  <eggert@twinsun.com>
105217         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
105218         Fix arg typo in previous patch.
105220 2003-09-28  Jim Meyering  <jim@meyering.net>
105222         * lib/error.c: Correct cpp indentation.
105224 2003-09-27  Paul Eggert  <eggert@twinsun.com>
105226         * modules/free: New file.
105228 2003-09-27  Paul Eggert  <eggert@twinsun.com>
105230         * m4/free.m4: New file.
105232 2003-09-27  Paul Eggert  <eggert@twinsun.com>
105234         * lib/minmax.h (MIN, MAX)
105235         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
105236         Omit the special code that used __typeof__, since we worry that
105237         it could be more trouble than it's worth.  See:
105238         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
105239         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
105241         * lib/free.c: New file.
105243 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
105245         Trivial fixes to Makefile.am parts of module listings.
105246         * modules/strstr: Append strstr.h to lib_SOURCES.
105247         * modules/strcase: Likewise, for strcase.h.
105249 2003-09-27  Karl Berry  <karl@gnu.org>
105251         * config/mkinstalldirs: update from automake.
105253 2003-09-26  Paul Eggert  <eggert@twinsun.com>
105255         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
105256         (error_tail): Do not loop, reallocating temporary buffer, since
105257         the output cannot contain more wide characters than the input
105258         contains bytes, the size must be big enough already.  This avoids
105259         one potential size overflow calculation.  Check for size overflow
105260         when calculating temporary buffer size.  Free temporary buffer
105261         when done, if it was allocated with malloc; this plugs a memory
105262         leak.  Remove casts from void * to pointers, that are no longer
105263         needed now that we're assuming C89 or better.
105265         Merge error changes from glibc.
105267         * lib/error.c, error.h: Update copyright notice header to match glibc.
105268         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
105269         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
105270         Disable cancellation while printing error.
105271         * lib/error.h: Prepend __ to parameter names.
105273 2003-09-26  Jim Meyering  <jim@meyering.net>
105275         * lib/error.c (error_tail): Move some declarations
105276         into inner scope where the local variables are used.
105278 2003-09-26  Bruno Haible  <bruno@clisp.org>
105280         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
105281         stpncpy().
105282         Don't define stpncpy through config.h; it's now done through stpncpy.h.
105284 2003-09-26  Bruno Haible  <bruno@clisp.org>
105286         * lib/stpncpy.h (gnu_stpncpy): New declaration.
105287         (stpncpy): Define as alias for gnu_stpncpy.
105288         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
105290 2003-09-25  Simon Josefsson  <jas@extundo.com>
105292         * lib/xgetdomainname.h: New file.
105293         * lib/xgetdomainname.c: New file.
105295 2003-09-25  Simon Josefsson  <jas@extundo.com>
105296             Bruno Haible  <bruno@clisp.org>
105298         * modules/getdomainname: New file.
105299         * modules/xgetdomainname: New file.
105300         * MODULES.html.sh (func_all_modules): Add getdomainname,
105301         xgetdomainname.
105303 2003-09-25  Simon Josefsson  <jas@extundo.com>
105304             Bruno Haible  <bruno@clisp.org>
105306         * m4/getdomainname.m4: New file.
105308 2003-09-25  Simon Josefsson  <jas@extundo.com>
105309             Bruno Haible  <bruno@clisp.org>
105311         * lib/getdomainname.h: New file.
105312         * lib/getdomainname.c: New file.
105314 2003-09-25  Karl Berry  <karl@gnu.org>
105316         * lib/argp-fmtstream.c, argp-help.c: update from libc.
105318 2003-09-25  Karl Berry  <karl@gnu.org>
105320         * config/install-sh: update from automake.
105322 2003-09-25  Bruno Haible  <bruno@clisp.org>
105324         * modules/version-etc-2: New file, from modules/version-etc with
105325         modifications.
105326         * MODULES.html.sh (func_all_modules): Add version-etc-2.
105328 2003-09-25  Bruno Haible  <bruno@clisp.org>
105330         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
105331         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
105333 2003-09-24  Simon Josefsson  <jas@extundo.com>
105335         * modules/xgethostname: Add xgethostname.h.
105337 2003-09-24  Paul Eggert  <eggert@twinsun.com>
105339         * lib/linebuffer.c (freebuffer): Don't free the argument, just
105340         the buffer associated with the argument.  Bug reported by
105341         Simon Josefsson.
105343 2003-09-24  Paul Eggert  <eggert@twinsun.com>
105345         * README: Document assumptions that 'int' is at least 32 bits
105346         wide, that integer arithmetic is 2's complement without overflow,
105347         that there are no holes in integer values, that adding sizes of
105348         two nonoverlapping objects can't overflow, and that all-bits-zero
105349         yields scalar zero.  Fix spelling and capitalization typos.
105351 2003-09-19  Karl Berry  <karl@gnu.org>
105353         * lib/argp.h: update from libc.
105355 2003-09-17  Paul Eggert  <eggert@twinsun.com>
105357         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
105358         to avoid spurious warnings like "AC_RUN_IFELSE was called before
105359         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
105361 2003-09-17  Paul Eggert  <eggert@twinsun.com>
105363         * gnulib-tool: Use "test -h", not "test -L", for portability
105364         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
105365         (tags_regexp): Remove, since \| doesn't conform to POSIX.
105366         (sed_extract_prog): Issue s commands one-by-one, rather than
105367         using \| in one s command.
105369 2003-09-16  Paul Eggert  <eggert@twinsun.com>
105371         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
105372         input error, instead of returning NULL the next time we are called
105373         (and therefore losing track of errno).
105375 2003-09-16  Bruno Haible  <bruno@clisp.org>
105377         * gnulib-tool (func_create_testdir): Warn about duplicated
105378         dependencies.
105380 2003-09-15  Paul Eggert  <eggert@twinsun.com>
105382         * modules/argmatch, modules/fatal, modules/obstack,
105383         modules/xalloc, modules/xgethostname: Sort dependencies by
105384         importance, not alphabetically.
105386 2003-09-15  Paul Eggert  <eggert@twinsun.com>
105388         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
105389         fails, so that the caller gets the proper errno.
105391         * lib/readutmp.c (read_utmp): Likewise.
105392         Check for fstat error.  Close stream and free storage
105393         when failing.
105395 2003-09-14  Karl Berry  <karl@gnu.org>
105397         * config/srclist.txt (strdup.c): disable for c89 changes.
105399 2003-09-14  Jim Meyering  <jim@meyering.net>
105401         * lib/getloadavg.c: Correct cpp indentation.
105402         * lib/strdup.c: Likewise.
105403         * lib/vasnprintf.c: Likewise.
105405 2003-09-14  Bruno Haible  <bruno@clisp.org>
105407         * modules/fwriteerror: New file.
105408         * MODULES.html.sh (func_all_modules): Add fwriteerror.
105410 2003-09-14  Bruno Haible  <bruno@clisp.org>
105412         * lib/fwriteerror.h: New file.
105413         * lib/fwriteerror.c: New file.
105415 2003-09-12  Paul Eggert  <eggert@twinsun.com>
105417         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
105418         modules/xgethostname, modules/xalloc: Depend on exit.
105420 2003-09-12  Paul Eggert  <eggert@twinsun.com>
105422         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
105424         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
105425         and AC_MINIX, too, so that their extensions are available.
105427         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
105428         This macro has been superseded by gl_BACKUPFILE.
105430         More patches to assume C89 or better.
105432         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
105434         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
105435         unconditionally.
105436         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
105437         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
105438         Include <string.h>, <stdlib.h> unconditionally.
105439         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
105440         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
105441         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
105442         headers or for string.h.
105443         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
105444         or strtoul.
105446         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
105447         headers.
105448         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
105449         * m4/userspec.m4 (gl_USERSPEC): Likewise.
105450         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
105451         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
105452         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
105453         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
105454         memcpy, memset.
105455         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
105456         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
105457         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
105458         strtol.
105459         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
105460         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
105461         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
105462         strtoul.
105464 2003-09-12  Paul Eggert  <eggert@twinsun.com>
105466         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
105467         * lib/obstack.c [!defined _LIBC]: Likewise.
105468         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
105469         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
105470         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
105472         More changes to assume C89 or better.
105474         * lib/error.c (error_tail): Assume vprintf.
105476         * lib/argmatch.c (getenv): Remove decl.
105477         * lib/progreloc.c (get_full_program_name): Define via prototype.
105478         * lib/setenv.c (clearenv): Likewise.
105479         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
105480         needed.
105481         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
105482         (malloc, memcpy): Remove decls.
105483         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
105484         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
105485         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
105486         (memcpy): Remove macro.
105487         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
105488         (__P): Remove.  All uses removed.
105489         (PTR): Remove.  All uses changed to void *.
105490         (CHAR_BIT, NULL): Remove.
105491         (spaces, zeros, memset_space, memset_zero)
105492         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
105493         Remove.
105494         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
105495         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
105496         Define with prototype.
105497         Remove now-unnecessary prototype decl.
105498         (extra_args_spec): Assume ANSI C.  All uses changed.
105499         (extra_args_spec_iso): Remove.
105500         (my_strftime, emacs_strftimeu): Define via prototype.
105501         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
105502         unconditionally.
105503         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
105504         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
105505         (strtoul, strtol): Remove decls.
105506         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
105507         LONG_MAX): Remove.
105508         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
105509         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
105510         (LOCALE_PARAM_PROTO): New macro.
105511         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
105512         (INTERNAL (strtol), strtol): Define with a prototype.
105513         (PARAMS): Remove.  All uses removed.
105514         * lib/tempname.c: Include <string.h> unconditionally.
105515         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
105516         * lib/xgethostname.c (main): Define with a prototype.
105517         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
105518         Include <stdlib.h> unconditionally.
105519         (calloc, malloc, realloc, free): Remove decls.
105520         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
105521         Include <stdlib.h> unconditionally.  Sort include file names.
105522         (strtod): Remove.
105523         (xstrtod): Define with a prototype.
105524         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
105525         (strtol, strtoul): Remove decls.
105527 2003-09-11  Paul Eggert  <eggert@twinsun.com>
105529         More patches to assume C89 or better.
105530         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
105531         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
105532         string.h, memchr, STDC_HEADERS.
105534 2003-09-11  Paul Eggert  <eggert@twinsun.com>
105536         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
105537         Include <stdlib.h>, <string.h> unconditionally.
105538         Remove now-unnecessary cast to char *.
105539         * lib/strnlen.c: Include <string.h> unconditionally.
105540         * lib/yesno.c (yesno): Define with a prototype.
105542 2003-09-11  Bruno Haible  <bruno@clisp.org>
105544         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
105546 2003-09-10  Jim Meyering  <jim@meyering.net>
105548         * lib/error.c: Correct indentation of cpp directives.
105550 2003-09-10  Bruno Haible  <bruno@clisp.org>
105552         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
105553         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
105554         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
105555         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
105556         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
105557         <stdlib.h> and <string.h> checks.
105558         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
105559         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
105561 2003-09-10  Bruno Haible  <bruno@clisp.org>
105563         * lib/strcspn.c: Include <string.h> unconditionally.
105564         * lib/strpbrk.c: Include <string.h> unconditionally.
105565         * lib/strstr.c: Include <string.h> unconditionally.
105566         * lib/unicodeio.c: Include <string.h> unconditionally.
105567         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
105568         * lib/unsetenv.c: Likewise.
105569         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
105570         * lib/yesno.c: Include <stdlib.h> unconditionally.
105571         (rpmatch): Add prototype.
105573 2003-09-09  Paul Eggert  <eggert@twinsun.com>
105575         More patches to assume C89 or better.
105576         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
105577         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
105578         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
105579         or for string.h.
105580         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
105581         stdlib.h.
105582         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
105583         C headers.
105584         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
105585         string.h.
105586         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
105587         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
105588         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
105589         or for string.h.
105590         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
105591         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
105592         C headers.
105593         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
105594         memcpy.
105595         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
105596         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
105597         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
105598         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
105599         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
105600         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
105601         string.h, free.
105602         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
105603         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
105604         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
105605         C headers, or for string.h.
105606         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
105607         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
105608         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
105609         headers, memory.h, stdlib.h, string.h, strings.h.
105610         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
105611         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
105612         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
105613         strchr.
105614         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
105615         headers, memory.h, string.h.
105616         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
105617         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
105618         free.
105619         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
105620         headers.
105621         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
105622         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
105623         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
105624         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
105625         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
105627 2003-09-09  Paul Eggert  <eggert@twinsun.com>
105629         More K&R removal.
105631         * lib/acosl.c (main): Use a prototype.
105632         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
105633         tanl.c: Likewise.
105635         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
105637         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
105638         (getopt, etopt_long, getopt_long_only, _getopt_internal)
105639         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
105640         with a prototype.
105641         * lib/getopt.c (const): Remove macro.
105642         Include <string.h> unconditionally.
105643         (my_index): Remove; all uses changed to strchr.
105644         (strlen): Remove decl.
105645         (exchange): Remove forward decl; no longer needed.
105646         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
105647         Define with prototype.
105648         * lib/getopt1.c (const): Remove macro.
105649         (getopt_long, getopt_long_only, main): Define with prototype.
105651         * lib/getugroups.c: Include <string.h> unconditionally.
105653         * lib/getusershell.c: Include <stdlib.h> unconditionally.
105654         (getusershell, setusershell, endusershell, readname, main):
105655         Define with prototypes.
105657         * lib/group-member.c: Include group-member.h first.
105658         Include <stdlib.h> unconditionally.
105660         * lib/hard-locale.c: Include hard-locale.h first.
105661         Include <stdlib.h>, <string.h> unconditionally.
105663         * lib/hash.c (free, malloc): Remove decls.
105664         Include <stdlib.h> unconditionally.
105666         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
105667         (getenv): Do not declare.
105669         * lib/idcache.c: Include <string.h> unconditionally.
105671         * lib/long-options.c: Include long-options.h first, to test interface.
105672         Include <stdlib.h> unconditionally.
105674         * lib/makepath.c: Include makepath.h first, to test interface.
105675         Include <stdlib.h> and <string.h> unconditionally.
105677         * lib/linebuffer.c: Include <stdlib.h>.
105678         (free): Remove decl.
105680         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
105681         stddef.h. rpl_malloc returns void *, not char *.
105682         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
105683         prototype.
105685         * lib/md5.h: Include <limits.h> unconditionally.
105686         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
105687         (__P): Remove; all uses removed.
105688         * lib/md5.c: Include "md5.h" first.
105689         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
105690         md5_buffer, md5_process_bytes, md5_process_block):
105691         Define with prototypes.
105692         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
105693         * lib/sha.c: Include "sha.h" first.
105694         Include <stdlib.h>, <string.h> unconditionally.
105696         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
105697         * lib/memcmp.c (__ptr_t): Likewise.
105698         * lib/memrchr.c (__ptr_t): Likewise.
105699         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
105700         Include <string.h> unconditionally.
105701         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
105702         * lib/memchr.c: Include <stdlib.h> unconditionally.
105703         * lib/memchr.c (LONG_MAX): Remove.
105704         * lib/memrchr.c (LONG_MAX): Likewise.
105705         * lib/memchr.c (__memchr): Define via a prototype.
105706         * lib/memrchr.c (__memrchr): Likewise.
105707         * lib/memcmp.c (__P): Remove, and remove all uses.
105708         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
105709         Remove forward decls; no longer needed.
105710         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
105711         Use types required by C89 in prototype.
105713         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
105714         * lib/savedir.c: Likewise.
105715         * lib/mkdir.c (free): Remove decl.
105716         * lib/rmdir.c (rmdir): Define with a prototype.
105717         * lib/savedir.c: Include savedir.h first, to test interface.
105719         * lib/mktime.c (STDC_HEADERS): Remove.
105720         Include <stdlib.h>, <string.h> unconditionally.
105722         * lib/modechange.c: Include <stdlib.h> unconditionally.
105723         (malloc): Remove decl.
105725         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
105726         (free): Remove decl.
105728         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
105729         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
105730         (This type really should be intptr_t, but that's a C99ism.)
105731         (_obstack_memcpy): Remove: all uses changed to memcpy.
105732         Include <string.h> unconditionally.
105733         (struct obstack): Assume __STDC__ for types of members
105734         chunkfun, freefun, extra_arg.
105735         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
105736         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
105737         obstack_begin, obstack_specify_allocation,
105738         obstack_specify_allocation_with_arg, obstack_chunkfun,
105739         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
105740         Remove unprototyped decls and the macros that use them.
105741         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
105742         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
105743         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
105744         (defined __STDC__ && __STDC__)]:
105745         Remove nonprototyped code.
105746         Include <stdlib.h> unconditionally.
105747         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
105748         _obstack_allocated_p, _obstack_free, obstack_free,
105749         _obstack_memory_used, print_and_abort):
105750         Define using prototypes.
105751         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
105752         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
105753         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
105754         obstack_next_free, obstack_object_size, obstack_room) [0]:
105755         Remove unused, unprototyped code.
105757         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
105759         * lib/physmem.c (physmem_total, physmem_available, main): Define
105760         with prototypes.
105762         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
105763         (main): Define with a prototype.
105765         * lib/posixver.c (getenv): Remove decl.
105767         * lib/putenv.c (malloc): Returns void *, not char *.
105768         Include <string.h> unconditionally.
105769         (strchr, memcpy, NULL): Do not define.
105771         * lib/readtokens.c: Include readtokens.h first, to test interface.
105772         Include <stdlib.h>, <string.h> unconditionally.
105773         (init_tokenbuffer): Define with a prototype.
105775         * lib/regex.c (PARAMS): Remove.  All uses removed.
105776         All uses of _RE_ARGS removed, too.
105777         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
105778         unconditionally.
105779         (bzero): Assume memset exists.
105780         (memcmp, memcpy, NULL): Remove.
105781         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
105782         char, or assignments to local vars of type signed char.
105783         (init_syntax_once, PREFIX(extract_number_and_incr),
105784         PREFIX(print_partial_compiled_pattern),
105785         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
105786         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
105787         PREFIX(regex_grow_registers), PREFIX(regex_compile),
105788         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
105789         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
105790         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
105791         wcs_compile_range, byte_compile_range, truncate_wchar,
105792         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
105793         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
105794         count_mbs_length, wcs_re_match_2_internal,
105795         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
105796         PREFIX(alt_match_null_string_p),
105797         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
105798         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
105799         regfree, PREFIX(extract_number)): Define with prototype.  Remove
105800         now-unnecessary declaration, if any.
105801         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
105802         regcomp, regexec):
105803         Remove now-unnecessary casts among pointer types.
105804         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
105806         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
105807         (free): Remove decl.
105809         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
105811         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
105812         (free): Remove decl.
105814         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
105815         * lib/xgetcwd.c: Likewise.
105817         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
105818         (free): Remove decl.
105820         * lib/strchrnul.c (strchrnul): Define with a prototype.
105821         Fix bug: c_in was not converted to char before searching.
105823         The following changes are not K&R related:
105825         * lib/group-member.h: Include <sys/types.h>, so that this file is
105826         self-contained.
105827         * lib/makepath.h: Likewise.
105829         * lib/getusershell.c (readname, default_index, line_size, readname):
105830         Use size_t, not int, for sizes.
105831         (readname): If the size overflows, report an error instead of
105832         looping forever.
105834 2003-09-09  Paul Eggert  <eggert@twinsun.com>
105836         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
105837         libc.
105839 2003-09-09  Paul Eggert  <eggert@twinsun.com>
105841         * README: New section: portability guidelines.
105843 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
105845         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
105846         C89 spec.
105848 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
105850         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
105852 2003-09-08  Paul Eggert  <eggert@twinsun.com>
105854         Assume C89 or better; remove K&R cruft.
105855         A few of these changes were first proposed by Derek Robert Price
105856         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
105858         * lib/addext.c: Include <string.h> unconditionally.
105859         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
105860         Don't declare getenv or malloc.
105862         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
105863         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
105864         (NULL): Remove.
105865         (find_stack_direction, alloca): Use prototypes.
105867         * lib/atexit.c (atexit): Define using a prototype.
105869         * lib/basename.c, dirname.c, stripslash.c:
105870         Include <string.h> unconditionally.
105872         * lib/bcopy.c: Include <stddef.h>.
105873         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
105875         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
105877         * lib/error.h (error, error_at_line, error_print_progname)
105878         [! (defined (__STDC__) && __STDC__)]: Remove decls.
105879         * lib/error.c: Include error.h first, to check interface.
105880         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
105881         (VA_START): Remove; all uses changeed to va_start.
105882         (exit, strerror): Remove decls.
105883         (error_print_progname): Prototype uncondionally.
105884         Don't include <errno.h>; no longer needed.
105885         (private_strerror): Remove.
105886         (error_tail): Always define.
105887         (error, error_at_line): Assume C89 or better; always use prototypes.
105888         * lib/fatal.c: Include "fatal.h" first, to test interface.
105889         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
105890         (VA_START): Remove; all uses changed to va_start.
105891         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
105892         this case.
105893         (exit): Remove decl.
105894         (fatal): Prototype unconditionally.  Assume va_start works.
105895         Abort at end, to pacify gcc.
105897         * lib/euidaccess.c (main): Define with a prototype.
105899         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
105901         * lib/exitfail.c: Include <stdlib.h> unconditionally.
105903         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
105904         prototypes.
105905         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
105906         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
105907         (getenv): Remove decl.
105908         (fnmatch): Define using a prototype.
105909         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
105910         (FCT): Define using a prototype.
105912         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
105914         * lib/gethostname.c: Include <stddef.h>.
105915         (gethostname): Define with prototype.  Length is size_t, not int.
105917 2003-09-08  Paul Eggert  <eggert@twinsun.com>
105919         Assume C89 or better; remove K&R cruft.
105920         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
105921         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
105922         string.h, getenv, malloc.
105923         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
105924         headers.
105925         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
105926         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
105927         do not check for strerror.
105928         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
105929         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
105930         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
105931         do not check for doprnt or vprintf.
105932         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
105933         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
105935 2003-09-08  Paul Eggert  <eggert@twinsun.com>
105937         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
105938         getversion.c should have been removed then, but was accidentally
105939         preserved.
105941         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
105942         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
105944 2003-09-08  Karl Berry  <karl@gnu.org>
105946         * config/config.sub, config.guess, srclistvars.sh: update from savannah
105947                 config, forget about prep.
105949         * config/depcomp, missing: update from automake.
105951 2003-09-07  Paul Eggert  <eggert@twinsun.com>
105953         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
105954         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
105956 2003-09-07  Paul Eggert  <eggert@twinsun.com>
105958         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
105959         copy_tm_result.  Bug reported by Simon Josefsson in
105960         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
105962 2003-09-06  Paul Eggert  <eggert@twinsun.com>
105964         * m4/time_r.m4: New file.
105965         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
105966         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
105967         is. Check for timegm declaration.
105968         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
105969         Do not check for gmtime_r.
105970         Replace mktime if __mktime_internal does not exist and if mktime
105971         hasn't been replaced already.
105973 2003-09-06  Paul Eggert  <eggert@twinsun.com>
105975         * lib/time_r.c, lib/time_r.h: New files.
105977         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
105978         __localtime_r.
105979         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
105980         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
105982         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
105983         __gmtime_r.
105984         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
105985         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
105986         Include <time_r.h>.
105988         * lib/timegm.c: Switch to glibc implementation, with the following
105989         changes:
105990         [defined HAVE_CONFIG_H]: Include <config.h>.
105991         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
105992         (__mktime_internal) [!defined _LIBC]: New decl.
105993         (__gmtime_r) [!defined _LIBC]: New macro and function.
105994         (timegm): Use a prototype, since gnulib assumes C89.
105995         Do not bother declaring tmp to be const, as it's not really usefu.
105996         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
105997         (timegm): Declare only if HAVE_DECL_TIMEGM.
105999 2003-09-06  Paul Eggert  <eggert@twinsun.com>
106001         * MODULES.html.sh (func_all_modules): Add time_r.
106002         * modules/time_r: New file.
106003         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
106004         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
106006 2003-09-03  Paul Eggert  <eggert@twinsun.com>
106008         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
106009         Bug reported by Lute Kamstra in
106010         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
106012         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
106013         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
106014         course with correspondingly smaller numbers for tomorrow and
106015         yesterday.  From Tadayoshi Funaba.  Originally installed into
106016         sh-utils on 1999-08-07, but the patch got lost (I guess during the
106017         coreutils merge?).
106019 2003-08-31  Simon Josefsson  <jas@extundo.com>
106021         * modules/timegm: New file.
106022         * MODULES.html.sh (func_all_modules): Add timegm.
106024 2003-08-31  Simon Josefsson  <jas@extundo.com>
106026         * m4/timegm.m4: New file.
106028 2003-08-31  Simon Josefsson  <jas@extundo.com>
106030         * lib/timegm.h: New file.
106031         * lib/timegm.c: New file.  Based on
106032         wget-1.8.2/src/http.c:mktime_from_utc.
106034 2003-08-31  Karl Berry  <karl@gnu.org>
106036         * lib/argp.h: update from libc.
106038 2003-08-28  Bruno Haible  <bruno@clisp.org>
106040         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
106041         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
106042         followed by '#define fnmatch fnmatch_posix' gives an error.
106044 2003-08-28  Bruno Haible  <bruno@clisp.org>
106046         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
106047         warning on QNX, which defines O_BINARY to 000000.
106049 2003-08-27  Jim Meyering  <jim@meyering.net>
106051         * m4/mkstemp.m4: Require that the system mkstemp be able to create
106052         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
106053         would fail after 32.  Reported by Danny Levinson.  Details here:
106054         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
106056 2003-08-24  Bruno Haible  <bruno@clisp.org>
106058         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
106059         MSVC7 <stdio.h> is included later.
106061 2003-08-22  Simon Josefsson  <jas@extundo.com>
106063         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
106065 2003-08-20  Karl Berry  <karl@gnu.org>
106067         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
106069 2003-08-20  Bruno Haible  <bruno@clisp.org>
106071         * modules/progname: New file.
106072         * MODULES.html.sh (func_all_modules): Add progname.
106074 2003-08-20  Bruno Haible  <bruno@clisp.org>
106076         * lib/progname.h: New file, from GNU gettext.
106077         * lib/progname.c: New file, from GNU gettext.
106078         * lib/progreloc.c: New file, from GNU gettext.
106080 2003-08-19  Jim Meyering  <jim@meyering.net>
106082         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
106083         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
106085 2003-08-19  Bruno Haible  <bruno@clisp.org>
106087         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
106088         more.
106090 2003-08-19  Bruno Haible  <bruno@clisp.org>
106092         * lib/xstrdup.c: Assume <string.h> exists.
106094 2003-08-18  Paul Eggert  <eggert@twinsun.com>
106096         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
106097         in makefile rules.
106099 2003-08-18  Jim Meyering  <jim@meyering.net>
106101         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
106102         * m4/lib-ld.m4: Likewise.
106104 2003-08-18  Jim Meyering  <jim@meyering.net>
106106         * lib/setenv.h: Indent nested cpp directive.
106107         * lib/vasnprintf.c: Remove trailing blanks.
106109 2003-08-17  Simon Josefsson  <jas@extundo.com>
106111         * modules/xstrndup: New file.
106112         * MODULES.html.sh (func_all_modules): Add xstrndup.
106114 2003-08-17  Simon Josefsson  <jas@extundo.com>
106116         * modules/argp: Fix autoconf macro name. Add more dependencies.
106118 2003-08-17  Simon Josefsson  <jas@extundo.com>
106120         * m4/xstrndup.m4: New file.
106122 2003-08-17  Simon Josefsson  <jas@extundo.com>
106124         * m4/argp.m4: New file.
106126 2003-08-17  Simon Josefsson  <jas@extundo.com>
106127             Bruno Haible  <bruno@clisp.org>
106129         * lib/xstrndup.h: New file.
106130         * lib/xstrndup.c: New file.
106132 2003-08-17  Bruno Haible  <bruno@clisp.org>
106134         * modules/strndup (Files, Include): Add lib/strndup.h.
106136 2003-08-17  Bruno Haible  <bruno@clisp.org>
106138         * modules/euidaccess (Files): Add lib/euidaccess.h.
106140 2003-08-17  Bruno Haible  <bruno@clisp.org>
106142         * lib/strndup.h: New file.
106144 2003-08-17  Bruno Haible  <bruno@clisp.org>
106146         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
106147         like AC_GNU_SOURCE.
106148         * modules/extensions (configure.ac): Comment out the invocation of
106149         gl_USE_SYSTEM_EXTENSIONS.
106151 2003-08-16  Paul Eggert  <eggert@twinsun.com>
106153         Merges from coreutils, etc.
106154         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
106155         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
106156         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
106157         fixing a typo.
106158         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
106159         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
106161 2003-08-16  Paul Eggert  <eggert@twinsun.com>
106163         Document merge from coreutils.
106164         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
106165         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
106166         * modules/utime: Add m4/utimes-null.m4.
106168 2003-08-16  Paul Eggert  <eggert@twinsun.com>
106170         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
106171         space, undoing this 2003-08-12 change:
106172         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
106174 2003-08-16  Paul Eggert  <eggert@twinsun.com>
106176         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
106177         strtoul.c from libc, undoing this 2003-08-12 change:
106178         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
106180 2003-08-16  Jim Meyering  <jim@meyering.net>
106182         Merges from coreutils.
106183         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
106184         prefix.  Adjust cache variables similarly.  Create 500 rather than
106185         just 300 files, to exercise bug on Darwin6.5, too.
106186         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
106187         $missing_dir.
106188         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
106189         AM_SYS_POSIX_TERMIOS.
106190         Reported by mkc@mathdogs.com.
106191         Also change use of $am_cv_sys_posix_termios
106192         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
106193         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
106194         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
106195         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
106196         in /proc/mounts until it finds one with matching device number.  This
106197         is unnecessary when the FILE argument *is* a mount point.  No stat call
106198         is necessary in that case.  So, disable the statvfs-testing code on
106199         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
106200         as RedHat bug# 84846.
106201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
106202         to 1MB, so as not to render systems with no stack size limit (e.g.,
106203         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
106204         Include <unistd.h>.  On some systems,
106205         it is required for the definition of _SC_PAGESIZE.
106207 2003-08-16  Jim Meyering  <jim@meyering.net>
106209         Merge from coreutils.
106210         * lib/xstrtoimax.c: #else #if -> #elif.
106211         * lib/xstrtoumax.c: Likewise.
106213 2003-08-16  Jim Meyering  <jim@meyering.net>
106215         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
106216         * m4/utimes.m4: Removed.
106217         * m4/utimes-null.m4: Renamed from utimes.m4.
106219         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
106220         to 1MB, so as not to render systems with no stack size limit (e.g.,
106221         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
106222         Include <unistd.h>.  On some systems,
106223         it is required for the definition of _SC_PAGESIZE.
106225 2003-08-16  Jim Meyering  <jim@meyering.net>
106226         and Paul Eggert  <eggert@cs.ucla.edu>
106228         Merges from coreutils, etc.
106230         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
106231         using the latest version from cvs.  This avoids problems with #line
106232         directives using a vendor (Sun) compiler.
106233         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
106234         Don't set GETGROUPS_LIB here; now it's
106235         done via getgroups.m4's wrapper function.
106236         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
106237         rather than just in sh-util/configure.in, so that the
106238         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
106239         same.
106240         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
106241         AC_FUNC_GETLOADAVG where to find getloadavg.c.
106242         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
106243         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
106244         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
106245         Remove code that is now done by the newly-required macros.
106246         Append $(EXEEXT) to DF_PROG.
106247         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
106248         Do not invoke or require the following here,
106249         since prereq.m4 or some gnulib .m4 now does this for us:
106250         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
106251         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
106252         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
106253         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
106254         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
106255         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
106256         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
106257         AC_FUNC_OBSTACK.
106258         Do not replace the following functions, as this is now the job
106259         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
106260         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
106261         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
106262         atexit getpass, strdup, getpagesize.
106263         Replace 'raise'.
106264         Do not check for the following functions, as this is now the job
106265         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
106266         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
106267         setregid.
106268         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
106269         Check for sys/sysctl.h.
106270         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
106271         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
106272         of checking for ssize_t ourselves.
106274         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
106275         Require every macro that gnulib/modules/* suggests for us.
106276         (jm_PREREQ_ADDEXT): New macro.
106277         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
106278         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
106280         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
106281         (gl_PHYSMEM): Use it.
106282         Also check for `table' function.
106283         Check for new headers and functions.
106284         Add check for sys/sysmp.h.
106285         With suggestions from Kaveh Ghazi.
106286         Ignore headers that are present but cannot be compiled.  This
106287         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
106288         C 5.4.
106290 2003-08-15  Paul Eggert  <eggert@twinsun.com>
106292         Document merge from coreutils.
106293         * modules/userspec: Depend on posixver.
106294         * modules/strftime: Depend on tzset.
106296 2003-08-15  Paul Eggert  <eggert@twinsun.com>
106298         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
106299         rather than tab, after '#' in shell-script copyright notices.
106300         Suggested by Bruno Haible.
106302 2003-08-15  Paul Eggert  <eggert@twinsun.com>
106304         * config/srclist-update: Use three spaces, rather than tab, after '#'
106305         in shell-script copyright notices.  Suggested by Bruno Haible.
106306         Remove unnecessary parenthesization in regular expression.
106308 2003-08-15  Jim Meyering  <jim@meyering.net>
106310         Merge from coreutils.
106311         * lib/xgethostname.c: Include <stdlib.h>.
106312         (xghostname): Don't exit for anything other than memory-related
106313         failure; just return NULL.
106314         * lib/userspec.c: Include "posixver.h".
106315         (parse_user_spec): Accept `.' as a separator only
106316         in pre-POSIX-200112 mode.
106317         * lib/strtoimax.c: Use #elif rather than #else #if.
106318         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
106319         Remove function, now that we can rely on a working tzset function.
106320         [!_LIBC]: Ensure that the required autoconf test has been run.
106321         [!defined _NL_CURRENT && HAVE_STRFTIME]:
106322         Use underlying_strftime for %r.
106323         * lib/sha.c: Merge in some clean-up and optimization changes from
106324         glibc.
106325         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
106326         Ensure that it is a multiple of 64.
106327         Rearrange loop exit tests so as to avoid performing an
106328         additional fread after encountering an error or EOF.
106329         * lib/realloc.c: Update copyright date.
106331 2003-08-15  Jim Meyering  <jim@meyering.net>
106332         and Paul Eggert  <eggert@twinsun.com>
106334         Merge from coreutils.
106335         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
106336         member but strut utmpx does not.  Needed for AIX 4.3.3.
106337         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
106339 2003-08-15  Jim Meyering  <jim@meyering.net>
106340         and Paul Eggert  <eggert@cs.ucla.edu>
106342         Merges from coreutils, etc.
106343         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
106344         Require gl_FUNC_TZSET_CLOBBER.
106345         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
106346         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
106347         members.
106349 2003-08-14  Paul Eggert  <eggert@twinsun.com>
106351         Help the merge from coreutils.
106352         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
106353         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
106354         * m4/tzset.m4: Use it too.
106356 2003-08-14  Paul Eggert  <eggert@twinsun.com>
106358         * modules/tzset: New file.
106360 2003-08-14  Jim Meyering  <jim@meyering.net>
106362         Merges from coreutils.
106363         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
106364         variable names, rather than @FNMATCH_H@.
106365         * modules/alloca: Likewise for $(ALLOCA_H).
106367         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
106368         the three copies of the literal target, `fnmatch.h'.
106369         * modules/alloca (alloca.h): Likewise.
106371 2003-08-14  Jim Meyering  <jim@meyering.net>
106373         Merge from coreutils.
106374         * m4/tzset.m4: New file.
106375         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
106376         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
106377         otherwise, AIX 5.1 systems would end up using the latter.
106378         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
106379         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
106380         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
106381         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
106383 2003-08-14  Jim Meyering  <jim@meyering.net>
106385         Merge from coreutils.
106386         * lib/obstack.h: Whitespace changes.
106387         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
106388         and xcalloc return values.
106389         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
106390         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
106391         hang on OSF/1 5.1 for DIR on both local and remote file systems.
106392         Reported by (and fix confirmed by) Nelson H. F. Beebe.
106393         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
106394         error from mntctl.
106395         Use mntctl's return value to drive the entry-processing loop, since
106396         we can't rely on the value of the vmt_length member in the last
106397         entry.  On some systems doing so could result in exhausting
106398         virtual memory.  Based in part on a patch from Mike Jetzer.
106400 2003-08-14  Jim Meyering  <jim@meyering.net>
106401         and Paul Eggert  <eggert@twinsun.com>
106403         Merges from coreutils, plus other fixes.
106404         * lib/physmem.c: Merge in portability changes from gcc/libiberty
106405         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
106406         for credits and details.  Thanks to Kaveh Ghazi for helping
106407         to keep these files in sync.
106408         (ARRAY_SIZE): Define it.
106409         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
106410         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
106411         (memcasecmp): Don't assume size_t fits in unsigned int.
106412         Remove casts and duplicate code.
106413         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
106414         (memcpy): Remove definition.
106415         Merge in some clean-up and optimization changes from glibc.
106416         [BLOCKSIZE]: Move definition to top of file.
106417         Ensure that it is a multiple of 64.
106418         Rearrange loop exit tests so as to avoid performing an
106419         additional fread after encountering an error or EOF.
106420         * lib/md5.h (md5_uintptr): Define.
106421         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
106422         return to the initial working directory.  Preserve errno
106423         for caller.
106424         * lib/idcache.c: Include "xalloc.h".
106425         (xmalloc, xrealloc): Remove decls.
106426         (getuser): Remove casts no longer required in C89.
106427         * lib/human.c: Include stdio.h, for sprintf.
106428         * lib/group-member.c: Include "xalloc.h".
106429         (xmalloc, xrealloc): Remove decls.
106430         (get_group_info): Remove casts no longer required in C89.
106431         * lib/getusershell.c (readname): Remove casts no longer required in
106432         C89.
106433         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
106434         * lib/getline.c: Whitespace fix, from coreutils.
106436 2003-08-13  Paul Eggert  <eggert@twinsun.com>
106438         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
106439         Check for isascii.
106441         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
106442         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
106443         Undo previous (whitespace-only) change.
106445 2003-08-13  Paul Eggert  <eggert@twinsun.com>
106447         * lib/exclude.c: Include <ctype.h>
106448         (IN_CTYPE_DOMAIN): New macro.
106449         (is_space): New fn.
106450         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
106451         and empty lines.
106453         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
106454         Undo previous (whitespace-only) change.
106456 2003-08-13  Paul Eggert  <eggert@twinsun.com>
106458         * config/srclist-update: Change update back to the old behavior,
106459         leaving whitespace alone.  Use one 'sed' command rather than a
106460         pipeline.
106461         (fixlicense): Now a variable, not a function.
106462         (remove_trailing_blanks): Remove.
106463         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
106464         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
106465         Undo previous (whitespace-only) change.
106467 2003-08-12  Paul Eggert  <eggert@twinsun.com>
106469         Merge from coreutils.
106470         * modules/euidaccess: Add lib_SOURCES, include for new
106471         file euidaccess.h
106473 2003-08-12  Paul Eggert  <eggert@twinsun.com>
106475         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
106476         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
106477         Normalize leading white space and remove trailing white space.
106479         Merge from coreutils
106480         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
106482         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
106483         0.12.1.  These files are now being upgraded automatically by
106484         ../config/srclist-update.
106486 2003-08-12  Paul Eggert  <eggert@twinsun.com>
106488         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
106489         Normalize leading white space and remove trailing white space.
106490         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
106491         notice, as per ../config/srclist-update.
106493         Merge from coreutils.
106494         * lib/euidaccess.h: New file.
106495         * lib/euidaccess.c: Include it.
106496         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
106497         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
106498         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
106500 2003-08-12  Paul Eggert  <eggert@twinsun.com>
106502         * config/srclist-update: Add copyright notice.
106503         (remove_id_lines, remove_trailing_blanks): New constants.
106504         (fixfile): Use them to normalize spacing a bit in copied files.
106505         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
106506         Normalize leading white space and remove trailing white space.
106508         * config/texinfo.tex: Sync with texinfo.
106510         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
106511         strtoul.c from libc, to merge coreutils whitespace changes.
106513         * config/srclist.txt: Get the following m4 files from gettext:
106514         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
106515         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
106516         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
106517         wint_t.m4.
106519 2003-08-12  Karl Berry  <karl@gnu.org>
106521         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
106522         been made.
106524 2003-08-11  Paul Eggert  <eggert@twinsun.com>
106526         * modules/gnu-source, m4/gnu-source.m4:
106527         Remove; we're assuming Autoconf 2.54 or later now.
106528         Suggested by Bruno Haible.
106529         * MODULES.html.sh (func_all_modules): Remove gnu-source.
106531 2003-08-11  Bruno Haible  <bruno@clisp.org>
106533         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
106535 2003-08-11  Bruno Haible  <bruno@clisp.org>
106537         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
106538         (vasnprintf): Use it instead of wcslen.
106540 2003-08-11  Bruno Haible  <bruno@clisp.org>
106542         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
106543         value to ensure that _Bool promotes to int. Use #define for _Bool when
106544         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
106546 2003-08-10  Karl Berry  <karl@gnu.org>
106548         * lib/regex.h: update from libc (whitespace fix).
106550 2003-08-09  Paul Eggert  <eggert@twinsun.com>
106552         Merge some files from coreutils.  These changes were
106553         originally made by Jim Meyering.
106554         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
106555         many older Unixes require this.
106556         * lib/alloca.c (alloca): Remove cast to argument of free;
106557         no longer needed in C89.
106558         * lib/alloca_.h, regex.h: Fix white space to match
106559         what GNU indent does.
106561 2003-08-09  Paul Eggert  <eggert@twinsun.com>
106563         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
106564         apparently Emacs's Unicode mode got confused before my 2003-08-05
106565         checkin.
106567 2003-08-08  Paul Eggert  <eggert@twinsun.com>
106569         * m4/extensions.m4: New file.
106570         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
106571         Require gl_USE_SYSTEM_EXTENSIONS.
106572         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
106573         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
106575 2003-08-08  Paul Eggert  <eggert@twinsun.com>
106577         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
106578         * modules/extensions, modules/gnu-source: New files.
106579         * modules/timespec, modules/unlocked-io: Depend on extensions.
106581 2003-08-07  Paul Eggert  <eggert@twinsun.com>
106583         * modules/restrict: New file.
106584         * MODULES.html.sh (func_all_modules): Add restrict.
106585         * modules/regex: Depend on restrict.
106587 2003-08-07  Paul Eggert  <eggert@twinsun.com>
106589         * m4/restrict.m4: New file.
106590         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
106592 2003-08-07  Bruno Haible  <bruno@clisp.org>
106594         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
106595         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
106597 2003-08-07  Bruno Haible  <bruno@clisp.org>
106599         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
106600         makes the module 'getndelim2' compatible with the module 'getline'.
106602 2003-08-05  Paul Eggert  <eggert@twinsun.com>
106604         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
106605         byte with "\201" to avoid glitches when editing that source file
106606         with multi-gnome-terminal.
106608 2003-08-05  Paul Eggert  <eggert@twinsun.com>
106610         * lib/bumpalloc.h: Remove.
106612 2003-08-05  Paul Eggert  <eggert@twinsun.com>
106614         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
106615         * modules/bumpalloc: Remove.
106617 2003-08-04  Paul Eggert  <eggert@twinsun.com>
106619         * lib/getloadavg.c: Change copyright notice and spacing to conform to
106620         GNU coding style.
106622         Merge from coreutils.
106623         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
106624         1. From glibc.
106625         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
106626         from Karl Berry, implemented by Jim Meyering.
106627         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
106628         from Dmitry V. Levin.
106629         Remove anachronistic cast of xrealloc.
106630         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
106631         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
106632         type. Otherwise, it wouldn't compile with at least /bin/cc on
106633         ymp-cray-unicos9.0.2.X.
106634         Combine two mostly-identical uses of alloca into one.
106635         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
106637 2003-08-04  Dave Love  <d.love@dl.ac.uk>
106639         [From Emacs.]
106641         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
106642         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
106643         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
106644         obsolete NLIST_NAME_UNION.
106645         [__GNU__]: Undef BSD and FSCALE.
106646         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
106648 2003-08-03  Paul Eggert  <eggert@twinsun.com>
106650         * lib/stdbool_.h (_Bool): Make it signed char, instead of
106651         an enum type, so that it's guaranteed to promote to int.  See:
106652         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
106654 2003-08-03  Karl Berry  <karl@gnu.org>
106656         * config/depcomp: update from automake.
106658 2003-07-31  Paul Eggert  <eggert@twinsun.com>
106660         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
106661         (strerror): Don't assume that a printable int fits in 14 bytes.
106663 2003-07-31  Bruno Haible  <bruno@clisp.org>
106665         * modules/getpass-gnu: New file.
106666         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
106668 2003-07-31  Bruno Haible  <bruno@clisp.org>
106670         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
106672 2003-07-24  Karl Berry  <karl@gnu.org>
106674         * config/missing: update from automake.
106676 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
106677             Bruno Haible  <bruno@clisp.org>
106679         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
106680         * lib/getline.c (getline, getdelim): Likewise.
106681         Remove _GNU_SOURCE define; now it's defined in config.h through
106682         m4/getline.m4.
106684 2003-07-23  Karl Berry  <karl@gnu.org>
106686         * config/config.sub: update from prep.
106688 2003-07-22  Paul Eggert  <eggert@twinsun.com>
106690         * modules/xalloc (Depends-on): Add exitfail.
106691         * modules/xmemcoll: Likewise.
106693 2003-07-22  Paul Eggert  <eggert@twinsun.com>
106695         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
106696         over-parenthesization in macros.
106698         Sync with coreutils.
106700         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
106701         required by C99.
106703         Use `exit_failure' for xalloc and xmemcoll instead of their own
106704         private exit-failure variables.
106705         * lib/xalloc.h (xalloc_exit_failure): Remove.
106706         * lib/xmalloc.c: Likewise.  Include exitfail.h.
106707         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
106708         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
106709         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
106710         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
106712 2003-07-20  Jim Meyering  <jim@meyering.net>
106714         * modules/closeout (Depends-on): Add exitfail.
106715         Suggestion from Bruno Haible.
106717 2003-07-19  Karl Berry  <karl@gnu.org>
106719         * config/config.sub: update from prep.
106721 2003-07-18  Paul Eggert  <eggert@twinsun.com>
106723         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
106724         Remove.
106725         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
106726         to test that it can stand by itself.  Include "exitfail.h".
106727         Clients should set exit_failure instead.
106728         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
106730 2003-07-18  Bruno Haible  <bruno@clisp.org>
106732         * modules/getndelim2: New file.
106733         * modules/getline: Share files with module getndelim2.
106734         * modules/getnline: Depend on getndelim2 instead of sharing files with
106735         it. Add getnline.c to lib_SOURCES.
106736         * MODULES.html.sh (func_all_modules): Add getndelim2.
106738 2003-07-18  Bruno Haible  <bruno@clisp.org>
106740         * m4/getndelim2.m4: New file.
106741         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
106742         invoke gl_PREREQ_GETNDELIM2.
106743         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
106744         gl_PREREQ_GETNDELIM2.
106745         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
106746         gl_GETNDELIM2.
106748 2003-07-18  Bruno Haible  <bruno@clisp.org>
106750         * lib/getndelim2.h: New file.
106751         * lib/getndelim2.c: Make into a module of its own. Include config.h,
106752         getndelim2.h.
106753         (getndelim2): Make non-static. Change return type to ssize_t.
106754         * lib/getline.h: Change argument names.
106755         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
106756         * lib/getnline.c: Include getndelim2.h.
106758 2003-07-18  Andreas Schwab  <schwab@suse.de>
106760         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
106762 2003-07-17  Karl Berry  <karl@gnu.org>
106764         * config/config.sub: update from prep.
106766 2003-07-17  Bruno Haible  <bruno@clisp.org>
106768         * modules/getnline: New file.
106769         * modules/getline: Add lib/getndelim2.c to source file list.
106770         * MODULES.html.sh (func_all_modules): Add getnline.
106772 2003-07-17  Bruno Haible  <bruno@clisp.org>
106774         * m4/getnline.m4: New file.
106776 2003-07-17  Bruno Haible  <bruno@clisp.org>
106778         * m4/Makefile.am.in: Remove file.
106779         * m4/Makefile.am: Remove file.
106780         * m4/Makefile.in: Remove file.
106782 2003-07-17  Bruno Haible  <bruno@clisp.org>
106784         * lib/getnline.h: New file.
106785         * lib/getnline.c: New file.
106786         * lib/getndelim2.c: New file, extracted from getline.c.
106787         (getndelim2): Renamed from getdelim2, with added nmax argument.
106788         * lib/getline.c: Include getndelim2.c.
106789         (getdelim2): Moved out to getndelim2.c.
106790         (getline, getdelim): Update.
106792 2003-07-17  Bruno Haible  <bruno@clisp.org>
106794         * lib/Makefile.am: Remove file.
106795         * lib/Makefile.in: Remove file.
106797 2003-07-17  Bruno Haible  <bruno@clisp.org>
106799         * configure.in: Remove file.
106800         * Makefile.in: Remove file.
106802 2003-07-17  Bruno Haible  <bruno@clisp.org>
106804         * MODULES.html.sh: Put the </BODY> right before </HTML>.
106806 2003-07-16  Karl Berry  <karl@gnu.org>
106808         * config/srclist-update: was running fixlicense twice, which caused
106809                 texinfo.tex to be nullified for some reason.  Simplify,
106810                 $gplsrc is no longer needed as far as I can see?
106812 2003-07-16  Jim Meyering  <jim@meyering.net>
106814         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
106816 2003-07-15  Paul Eggert  <eggert@twinsun.com>
106818         * config/srclist.txt: Get the following files from gettext-runtime/intl
106819         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
106820         ref-del.sin.  From Bruno Haible.
106821         * config/srclist-update (fixfile): Change grep pattern again, since the
106822         previous fix didn't work (there was another trailing $).  Use
106823         '[$]' to escape the $s.
106825 2003-07-15  Karl Berry  <karl@gnu.org>
106827         * lib/vasnprintf.c: update from gettext.
106829 2003-07-15  Karl Berry  <karl@gnu.org>
106831         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
106832         gets expanded when surrounded by '$'.
106834 2003-07-15  Jim Meyering  <jim@meyering.net>
106836         * modules/save-cwd: Don't depend on error.  From Derek Price.
106838 2003-07-15  Jim Meyering  <jim@meyering.net>
106840         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
106842 2003-07-14  Simon Josefsson  <jas@extundo.com>
106844         * modules/mempcpy: New file.
106845         * MODULES.html.sh (func_all_modules): Add mempcpy.
106847 2003-07-14  Simon Josefsson  <jas@extundo.com>
106849         * m4/mempcpy.m4: New file.
106851 2003-07-14  Simon Josefsson  <jas@extundo.com>
106853         * lib/mempcpy.h: New file.
106854         * lib/mempcpy.c: New file.
106856 2003-07-14  Paul Eggert  <eggert@twinsun.com>
106858         * modules/getdate, modules/posixtm: Depend on mktime.
106860 2003-07-14  Paul Eggert  <eggert@twinsun.com>
106862         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
106863         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
106864         unicodeio.c, unicodeio.h, unlocked-io.h:
106865         Switch from LGPL to GPL.
106867 2003-07-14  Paul Eggert  <eggert@twinsun.com>
106869         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
106870         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
106871         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
106872         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
106873         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
106874         updated automatically by ../config/srclist-update.  This changes
106875         their license from LPGL to GPL.
106877 2003-07-14  Paul Eggert  <eggert@twinsun.com>
106879         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
106880         assumed to refer to the root of the most recent stable gettext version.
106881         * config/srclistvars.sh: Add defaults for eggert.
106882         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
106883         Match "This program" as well as "The program".  This is needed
106884         for gettext.
106886 2003-07-14  Jim Meyering  <jim@meyering.net>
106888         Don't emit diagnostics.  Let callers do that.
106889         * lib/save-cwd.c: Don't include "error.h".
106890         (save_cwd): Don't call error.  Ensure that errno is valid
106891         when returning nonzero.
106893         * lib/save-cwd.h (restore_cwd): Update prototype.
106894         * lib/save-cwd.c (restore_cwd): Remove two parameters.
106895         Simplify.  Don't call error upon failure.  Let callers do that.
106896         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
106897         when auditing is enabled.  But don't bother updating the #if.
106899 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
106901         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
106902         it breaks C++ compilation.
106903         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
106905 2003-07-10  Simon Josefsson  <jas@extundo.com>
106907         * modules/strchrnul (Makefile.am): Add strchrnul.h.
106909 2003-07-10  Jim Meyering  <jim@meyering.net>
106911         * m4/clock_time.m4: Remove trailing blank.
106912         * m4/intmax_t.m4: Likewise.
106914 2003-07-10  Jim Meyering  <jim@meyering.net>
106916         * lib/vasnprintf.c: Remove trailing blanks.
106917         Make cpp indentation consistent.
106919 2003-07-09  Paul Eggert  <eggert@twinsun.com>
106921         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
106922         posixver.c, strftime.c, strnlen.c, strverscmp.c:
106923         Switch from LGPL to GPL.
106925 2003-07-09  Paul Eggert  <eggert@twinsun.com>
106927         * config/srclist.txt: Sort sublists.  Add
106928         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
106929         that differ from gnulib for one reason or another; we'd like this list
106930         to be smaller but for now let's document what we have.
106932 2003-07-08  Paul Eggert  <eggert@twinsun.com>
106934         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
106935         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
106936         and sweeter "eval x=$x".
106937         * config/srclist.txt: Get lib/argp* from glibc.
106939 2003-07-07  Paul Eggert  <eggert@twinsun.com>
106941         * lib/mktime.c: Fix some boundary cases and remove need for floating
106942         point.
106944         Issue a compile-time diagnostic if time_t is floating point, or if
106945         two's complement arithmetic is not in effect, or if arithmetic
106946         right shift does not propagate the sign.  These assumptions were
106947         all in the original code but they weren't checked.
106949         (TIME_T_MIDPOINT, verify): New macros.
106950         (__isleap): Remove; it has integer overflow problems.
106951         (leapyear): New function, without those problems.
106952         (ydhms_tm_diff): Remove; splitting into two parts.
106953         (ydhms_diff): New function, containing the arithmetic part of
106954         the old ydhms_tm_diff function.  Issue a compile-time
106955         diagnostic if we are not using C99 integer division.
106956         Avoid casts when possible.
106957         (guess_time_tm): New function, containing the checking part of
106958         the old ydhms_tm_diff function.  Return the new value, rather than
106959         the difference between it and the old.  Accept a new argument T
106960         so that *T specifies the old value.  Check for overflow in the result.
106962         (__mktime_internal): Use a time_t offset, not a long int offset.
106963         This undoes the 2003-06-04 change, which is no longer needed now
106964         that we have better overflow checking.
106965         (localtime_offset): Likewise.
106967         (__mktime_internal): Avoid harmful overflow on hosts where time_t
106968         and long are 64-bit but int is only 32-bit.
106969         (ydhms_diff): Use long int to store year1 and yday1.
106970         Issue a compile-time diagnostic if long int is not wide enough.
106972         (__mktime_internal): Use long int to store adjusted year and yday.
106973         Use plain C rather than preprocessor commands, if that doesn't
106974         affect efficiency.
106975         Check for overflow (and try to repair) after each probe
106976         rather than checking only at the very end.  This avoids some bugs
106977         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
106978         does not equal GMT offset at maximum time).
106979         Use integer to check for overflow rather than floating point; this
106980         is more portable to non-IEEE hosts, and is a tad faster.
106981         When we detect that we are oscillating between two values,
106982         don't check whether tm_isdst has the requested value, since
106983         we already know the answer.  When tm_isdst has the wrong value,
106984         use a different heuristic to find the right one, based on the
106985         extreme values actually observed in practice in tz2003a,
106986         rather than the (overly optimistic) "previous 3 calendar quarters".
106988         (not_equal_tm, print_tm, check_result): Use "const T" rather than
106989         "T const" to accommodate glibc style.
106990         (check_result): Use less-confusing report format.  "long" -> "long int.
106991         (main): Likewise.
106992         Don't loop if the iteration overflows time_t.
106993         Allow a negative step in the iteration.
106995 2003-07-06  Karl Berry  <karl@gnu.org>
106997         * config/depcomp: update from automake.
106998         * config/config.sub: update from prep.
107000 2003-07-03  Karl Berry  <karl@gnu.org>
107002         * config/config.guess: update from prep.
107004 2003-07-01  Paul Eggert  <eggert@twinsun.com>
107006         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
107007         xreadlink.c now includes it unconditionally.
107009 2003-07-01  Paul Eggert  <eggert@twinsun.com>
107011         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
107012         having it depend on HAVE_SYS_TYPES_H.
107014 2003-07-01  Bruno Haible  <bruno@clisp.org>
107016         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
107017         <sys/types.h> should be sufficient.
107018         Reported by Paul Eggert.
107020 2003-06-26  Karl Berry  <karl@gnu.org>
107022         * config/depcomp: update from automake.
107024 2003-06-26  Bruno Haible  <bruno@clisp.org>
107026         * modules/human: Depend on module stdbool.
107028 2003-06-25  Bruno Haible  <bruno@clisp.org>
107030         * modules/readlink: New file.
107031         * modules/xreadlink: Depend on it.
107032         * MODULES.html.sh (func_all_modules): Add readlink.
107034 2003-06-25  Bruno Haible  <bruno@clisp.org>
107036         * m4/readlink.m4: New file.
107038 2003-06-25  Bruno Haible  <bruno@clisp.org>
107040         * lib/readlink.c: New file.
107042 2003-06-22  Karl Berry  <karl@gnu.org>
107044         * config/srclist.txt: update mkinstalldirs from automake.
107045         * config/mkinstalldirs: update.
107047 2003-06-22  Bruno Haible  <bruno@clisp.org>
107049         Portability to mingw32.
107050         * m4/ssize_t.m4: New file, from GNU gettext.
107051         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
107052         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
107054 2003-06-22  Bruno Haible  <bruno@clisp.org>
107056         * modules/safe-read: Add m4/ssize_t.m4.
107057         * modules/xreadlink: Add m4/ssize_t.m4.
107059 2003-06-20  Bruno Haible  <bruno@clisp.org>
107061         Assume C89, so PARAMS isn't needed.
107062         * lib/unicodeio.h (PARAMS): Remove.
107063         * lib/unicodeio.c: Don't use PARAMS.
107065 2003-06-18  Karl Berry  <karl@gnu.org>
107067         * config/config.{guess,sub}: update from prep.
107069 2003-06-18  Jim Meyering  <jim@meyering.net>
107071         Merge changes from coreutils.
107072         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
107073         Remove explicit declarations of xmalloc and realloc.
107074         Include xalloc.h.
107075         (read_utmp): Remove anachronistic cast of xmalloc.
107077 2003-06-17  Paul Eggert  <eggert@twinsun.com>
107079         Assume C89, so PARAMS isn't needed.
107080         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
107081         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
107082         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
107083         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
107084         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
107085         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
107086         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
107087         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
107088         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
107089         lib/xstrtod.h, lib/xstrtol.h: Likewise.
107090         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
107091         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
107092         no longer needed. Anyway, config.h should always be included before any
107093         other file.
107095 2003-06-11  Simon Josefsson  <jas@extundo.com>
107097         * modules/sysexits: New file.
107098         * MODULES.html.sh (func_all_modules): Add sysexits.
107100 2003-06-11  Simon Josefsson  <jas@extundo.com>
107102         * lib/sysexit_.h: New file.
107104 2003-06-11  Derek Price  <derek@ximbiot.com>
107106         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
107107         necessary.
107109 2003-06-11  Bruno Haible  <bruno@clisp.org>
107111         * m4/sysexits.m4: New file.
107113 2003-06-10  Simon Josefsson  <jas@extundo.com>
107115         * lib/argp.h: New file, from glibc.
107116         * lib/argp-ba.c: New file, from glibc.
107117         * lib/argp-eexst.c: New file, from glibc.
107118         * lib/argp-fmtstream.c: New file, from glibc.
107119         * lib/argp-fmtstream.h: New file, from glibc.
107120         * lib/argp-fs-xinl.c: New file, from glibc.
107121         * lib/argp-help.c: New file, from glibc.
107122         * lib/argp-namefrob.h: New file, from glibc.
107123         * lib/argp-parse.c: New file, from glibc.
107124         * lib/argp-pv.c: New file, from glibc.
107125         * lib/argp-pvh.c: New file, from glibc.
107126         * lib/argp-xinl.c: New file, from glibc.
107128 2003-06-10  Simon Josefsson  <jas@extundo.com>
107130         * modules/strchrnul: New file.
107132 2003-06-10  Simon Josefsson  <jas@extundo.com>
107134         * modules/argp: New file.
107136 2003-06-10  Simon Josefsson  <jas@extundo.com>
107138         * m4/strchrnul.m4: New file.
107140 2003-06-10  Simon Josefsson  <jas@extundo.com>
107142         * lib/strchrnul.h: New file.
107143         * lib/strchrnul.c: New file.
107145 2003-06-10  Bruno Haible  <bruno@clisp.org>
107147         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
107149 2003-06-07  Karl Berry  <karl@gnu.org>
107151         * config/config.{guess,sub}: update from prep.
107153 2003-06-07  Jim Meyering  <jim@meyering.net>
107155         * modules/strtod: Use $(...) notation, not @...@ for
107156         AC_REPLACE'd variables.
107157         * modules/localcharset: Likewise.
107159 2003-06-07  Jim Meyering  <jim@meyering.net>
107161         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
107162         in place of my name in the copyright comment.
107163         Remove definition and uses of __P.
107165         From coreutils.
107166         * lib/stat.c: Don't declare xmalloc explicitly.
107167         Instead, include "xalloc.h".
107168         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
107169         xrealloc, and xcalloc return values.
107170         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
107171         Improve comment.
107172         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
107174 2003-06-07  Bruno Haible  <bruno@clisp.org>
107176         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
107177         avoid AC_CONFIG_LINKS.
107178         * modules/fnmatch (Makefile.am): Use explicit creation rule for
107179         fnmatch.h, to avoid AC_CONFIG_LINKS.
107180         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
107182 2003-06-07  Bruno Haible  <bruno@clisp.org>
107184         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
107185         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
107186         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
107187         directory.
107188         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
107189         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
107190         directory.
107192 2003-06-06  Jim Meyering  <jim@meyering.net>
107194         Merge from coreutils.
107195         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
107196         Consolidate declarations and initializations of *_base* locals.
107198         Merge from coreutils.
107199         This avoids a core dump on systems without GNU putenv,
107200         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
107201         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
107202         (unsetenv): New static function, from GNU libc.
107203         (rpl_putenv): Use it.
107205         * lib/modechange.c: Remove trailing blanks.
107207         Merge from coreutils.
107208         * lib/fsusage.c: Remove declaration of statfs.
107209         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
107211         * lib/posixtm.c: Include <stdbool.h> unconditionally.
107213 2003-06-06  Jim Meyering  <jim@meyering.net>
107215         * lib/stdbool_.h: Renamed from stdbool.h.in.
107217 2003-06-06  Jim Meyering  <jim@meyering.net>
107218             Bruno Haible  <bruno@clisp.org>
107220         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
107221         Adjust Makefile.am snippet not to redirect directly to target.
107222         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
107224 2003-06-05  Paul Eggert  <eggert@twinsun.com>
107226         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
107227         mismatch, look in future quarters as well as past.  This fixes a
107228         bug when processing fall-backwards gaps immediately after a long
107229         period of daylight-saving time.
107231         * lib/mktime.c: Assume freestanding C89 or better.
107232         (HAVE_LIMITS_H): Remove.  Assume it's 1.
107233         (__P): Remove; not used.
107234         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
107235         (mktime, not_equal_tm, print_tm, check_result,
107236         main): Use prototypes.  Use const * where appropriate.
107237         (main): Fix typo in testing code that uncovered by above changes.
107238         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
107240 2003-06-04  Paul Eggert  <eggert@twinsun.com>
107242         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
107243         locale.h, localeconv.  This merges changes from coreutils.
107245         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
107246         It can be removed after the next Autoconf is released.
107247         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
107248         needed.
107250 2003-06-04  Paul Eggert  <eggert@twinsun.com>
107252         * lib/mktime.c: Fix Debian bug 177940
107253         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
107254         (localtime_offset): Now long int, not time_t, because we want it
107255         to be guaranteed to be signed.  All uses changed.
107256         (__mktime_internal): If overflow would occur when adding offset,
107257         don't add it.
107259         Merge 'human' changes from coreutils.  Rewrite to support
107260         locale-specific notations like thousands separators.
107261         * lib/human.c: Simplify authorship notice.
107262         Include human.h immediately after config.h.
107263         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
107264         <limits.h>: Do not include, since human.h does.
107265         (SIZE_MAX, UINTMAX_MAX): New macros.
107266         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
107267         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
107268         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
107269         (power_letter): Renamed from suffixes.
107270         (generate_suffix_backwards): Remove.
107271         (adjust_value): Now takes int style (because of human.h changes)
107272         and long double value (for greater precision on some platforms).
107273         (group_number): New function.
107274         (human_readable): Use it.  Use integer options, not enum.
107275         Put the options before the sizes in the arg list.
107276         Support all the new options.
107277         The old human_readable function has been removed;
107278         use inttostr.h instead.
107279         (human_readable, default_block_size, humblock):
107280         Use uintmax_t, not int, for block sizes.
107281         (human_readable_inexact, block_size_types): Remove.
107282         (block_size_opts): New constant.
107283         (human_options): Renamed from human_block_size, with new signature
107284         that allows block sizes up to UINTMAX_MAX.  All callers changed.
107285         * lib/human.h: Add copyright and authorship notice.
107286         Include <limits.h> and <stdbool.h> unconditionally.
107287         (PARAMS): Remove.  All uses removed.
107288         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
107289         (enum human_inexact_style): Remove tag; now a nameless enum.
107290         (human_floor, human_ceiling, human_round_to_even): Now have
107291         values 2, 0, 1 rather than -1, 1, 0.
107292         (human_group_digits, human_suppress_point_zero, human_autoscale,
107293         human_base_1024, human_SI, human_B): New constants.
107294         (human_readable_inexact, human_block_size): Remove.
107295         (human_readable): Size args are now uintmax_t, not int.
107296         (human_options): New decl.
107298         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
107299         unnecessary now that we assume C89 or better.  This change
107300         imported from coreutils.
107302         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
107303         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
107304         in the 2003-05-30 sync from glibc.
107306         .h files should stand alone, but we shouldn't include <sys/types.h>
107307         if we can get away with just <stddef.h>.
107309         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
107310         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
107311         rather than <sys/types.h>, as we merely need size_t.
107312         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
107313         to get size_t.
107314         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
107315         Include <stdio.h>, to get FILE.
107316         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
107317         memcasecmp.h has included <stddef.h> and all we need is size_t.
107318         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
107319         our interface, instead of including <sys/types.h>
107321 2003-06-04  Paul Eggert  <eggert@twinsun.com>
107323         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
107324         now, as glibc mktime is buggy on non-glibc systems.
107326 2003-06-03  Karl Berry  <karl@gnu.org>
107328         * config/config.sub: update from prep.
107330 2003-06-02  Paul Eggert  <eggert@twinsun.com>
107332         [from coreutils]
107333         Fix some minor time-related bugs with POSIX time arguments.
107334         Some valid time stamps were being rejected (notably -1, and
107335         time stamps before 1900 on 64-bit hosts).  And some invalid
107336         time stamps were being accepted, e.g. September 31.
107338         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
107339         that we can return (time_t) -1 successfully.
107340         * lib/posixtm.c: Likewise.
107341         [HAVE_STDBOOL_H]: Include <stdbool.h>.
107342         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
107343         (t): Remove static var.
107344         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
107345         of static var.  All uses changed.
107346         (year): Do not reject years before 1900; they can occur with
107347         64-bit time_t.
107348         (posix_time_parse): Do not check for out-of-range components;
107349         that is now the caller's responsibility, since our checks were
107350         only approximations.
107351         (posixtime): Use mktime to check for out-of-range components,
107352         since it knows them exactly.
107353         If mktime returns (time_t) -1, check whether an error actually occurred
107354         by invoking localtime on -1.
107355         (main) [TEST_POSIXTIME]: Check for input data errors, and report
107356         posixtime failures better.
107357         Improve the test data (in comments only).
107359 2003-06-02  Karl Berry  <karl@gnu.org>
107361         * config/mkinstalldirs (version): new variable.
107362         (--version): new option.
107363         (usage): improve message.
107365 2003-05-30  Karl Berry  <karl@gnu.org>
107367         * lib/mktime.c: update from libc.
107369 2003-05-30  Bruno Haible  <bruno@clisp.org>
107371         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
107372         * config/config.rpath: Upgrade to gettext-0.12.1.
107374 2003-05-30  Bruno Haible  <bruno@clisp.org>
107376         * m4/gettext.m4: Upgrade to gettext-0.12.1.
107377         * m4/nls.m4: New file, from gettext-0.12.1.
107378         * m4/po.m4: New file, from gettext-0.12.1.
107379         * m4/progtest.m4: Upgrade to gettext-0.12.1.
107381 2003-05-30  Bruno Haible  <bruno@clisp.org>
107383         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
107384         * lib/localcharset.h: Likewise.
107385         * lib/localcharset.c: Likewise.
107387 2003-05-29  Karl Berry  <karl@gnu.org>
107389         * config/config.rpath: update from gettext.
107391 2003-05-28  Paul Eggert  <eggert@twinsun.com>
107393         Assume the headers required for C89 freestanding compilers.
107394         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
107395         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
107396         * m4/human.m4 (gl_HUMAN): Likewise.
107397         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
107398         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
107399         * m4/userspec.m4 (gl_USERSPEC): Likewise.
107400         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
107401         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
107402         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
107404 2003-05-28  Paul Eggert  <eggert@twinsun.com>
107406         Assume the headers required for C89 freestanding compilers.
107407         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
107408         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
107409         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
107410         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
107411         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
107412         define, since <limits.h> is guaranteed to do that.
107413         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
107414         * lib/exclude.c: Include <stdbool.h> unconditionally.
107415         * lib/tempname.c: Include <stddef.h> unconditionally.
107416         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
107417         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
107418         <stddef.h> does that.
107419         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
107420         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
107421         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
107422         needed.
107423         * lib/xstrtol.c: Likewise.
107424         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
107425         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
107427         * lib/addext.c (addext): Use assignment rather than cast, to avoid
107428         warnings on some platforms.
107430         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
107431         arbitrarily.
107433 2003-05-26  Jim Meyering  <jim@meyering.net>
107435         Merge in a change from coreutils:
107436         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
107437         that is guaranteed to be `no'.  Use `no_such_member' to indicate
107438         that condition, rather than `-1' which is slightly misleading.
107439         Change the name of the cache variable to have the gl_ prefix.
107440         Prompted by a patch from Richard Dawe for DJGPP.
107442 2003-05-24  Karl Berry  <karl@gnu.org>
107444         * config/config.guess: update from prep.
107446 2003-05-22  Karl Berry  <karl@gnu.org>
107448         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
107450 2003-05-20  Karl Berry  <karl@gnu.org>
107452         * config/config.guess: update from prep.
107454 2003-05-18  Karl Berry  <karl@gnu.org>
107456         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
107457         might actually be set by the user.
107459         * config/depcomp, install-sh, mdate-sh: update from automake.
107461 2003-05-17  Bruno Haible  <bruno@clisp.org>
107463         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
107464         invalid expansion for AC_EGREP_CPP.
107465         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
107466         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
107467         Suggested by Akim Demaille <akim@epita.fr> in
107468         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
107470 2003-05-12  Jim Meyering  <jim@meyering.net>
107472         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
107473         the space-padded-by-default conversion specifiers, %e, %k, %l.
107475 2003-05-12  Bruno Haible  <bruno@clisp.org>
107477         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
107478         the string is longer than 4 KB.
107480 2003-05-11  Karl Berry  <karl@gnu.org>
107482         * config/config.{guess,sub}: update from prep.
107484 2003-05-09  Bruno Haible  <bruno@clisp.org>
107486         * modules/error: Add m4/strerror_r.m4 to file list.
107488 2003-05-03  Bruno Haible  <bruno@clisp.org>
107490         Upgrade to Unicode-4.0.
107491         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
107492         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
107493         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
107494         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
107495         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
107496         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
107497         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
107498         Change width of U+E0100..U+E01EF from 1 to 0.
107500 2003-04-25  Jim Meyering  <jim@meyering.net>
107502         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
107503         of type size_t, not int.
107505 2003-04-25  Bruno Haible  <bruno@clisp.org>
107507         * lib/copy-file.c: Include <stddef.h>, for size_t.
107509 2003-04-21  Paul Eggert  <eggert@twinsun.com>
107511         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
107512         code which expansion is under static control.  Patch imported from
107513         Akim Demaille's patch to Bison; see
107514         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
107516 2003-04-14  Bruno Haible  <bruno@clisp.org>
107518         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
107520 2003-04-11  Jim Meyering  <jim@meyering.net>
107522         Merge changes from Coreutils.
107524         2003-03-22  Jim Meyering  <jim@meyering.net>
107526         * lib/strftime.c (widen): Cast alloca return value to proper type.
107528         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
107530         From GNU libc.
107531         * lib/strftime.c (my_strftime): Handle very large width
107532         specifications for numeric values correctly.  Improve checks for
107533         overflow.
107535         2003-01-19  Jim Meyering  <jim@meyering.net>
107537         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
107538         definitions.
107539         (nl_get_alt_digit) [! defined my_strftime]: Define.
107540         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
107541         _nl_get_alt_digit and _nl_get_walt_digit.
107543         * lib/strftime.c (my_strftime): Merge in locale-related changes from
107544         libc. These changes have no effect outside of _LIBC.
107546 2003-04-10  Bruno Haible  <bruno@clisp.org>
107548         * modules/findprog: New file.
107549         * MODULES.html.sh (func_all_modules): Add it.
107551 2003-04-10  Bruno Haible  <bruno@clisp.org>
107553         * m4/findprog.m4: New file.
107554         * m4/eaccess.m4: New file.
107556 2003-04-10  Bruno Haible  <bruno@clisp.org>
107558         * lib/findprog.h: New file, from GNU gettext.
107559         * lib/findprog.c: New file, from GNU gettext.
107561 2003-04-05  Jim Meyering  <jim@meyering.net>
107563         Merge changes from Coreutils.
107565         * lib/exclude.h (PARAMS): Remove definition and uses.
107566         * lib/exclude.c: Remove uses of `PARAMS'.
107568         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
107569         Add test-cases for DOS filenames. Declare program_name.
107570         (main): Set up program_name.  Patch by Rich Dawe.
107572         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
107573         error from mntctl.
107574         Use mntctl's return value to drive the entry-processing loop, since
107575         we can't rely on the value of the vmt_length member in the last
107576         entry.  On some systems doing so could result in exhausting
107577         virtual memory.  Based in part on a patch from Mike Jetzer.
107579 2003-04-04  Bruno Haible  <bruno@clisp.org>
107581         * modules/linebreak: New file.
107582         * MODULES.html.sh (func_all_modules): Add it.
107584 2003-04-04  Bruno Haible  <bruno@clisp.org>
107586         * m4/linebreak.m4: New file.
107588 2003-04-04  Bruno Haible  <bruno@clisp.org>
107590         * lib/linebreak.h: New file, from GNU gettext.
107591         * lib/linebreak.c: New file, from GNU gettext with slight
107592         modifications.
107593         * lib/lbrkprop.h: New file, from GNU gettext.
107595 2003-04-03  Bruno Haible  <bruno@clisp.org>
107597         * modules/utf8-ucs4: New file.
107598         * modules/utf16-ucs4: New file.
107599         * modules/ucs4-utf8: New file.
107600         * modules/ucs4-utf16: New file.
107601         * MODULES.html.sh (func_all_modules): Add them.
107603 2003-04-03  Bruno Haible  <bruno@clisp.org>
107605         * m4/utf-ucs4.m4: New file.
107606         * m4/ucs4-utf.m4: New file.
107608 2003-04-03  Bruno Haible  <bruno@clisp.org>
107610         * lib/utf8-ucs4.h: New file, from GNU gettext.
107611         * lib/utf16-ucs4.h: New file, from GNU gettext.
107612         * lib/ucs4-utf8.h: New file, from GNU gettext.
107613         * lib/ucs4-utf16.h: New file, from GNU gettext.
107615 2003-04-02  Bruno Haible  <bruno@clisp.org>
107617         * modules/binary-io: New file.
107618         * MODULES.html.sh (func_all_modules): Add it.
107620 2003-04-02  Bruno Haible  <bruno@clisp.org>
107622         * lib/binary-io.h: New file, from GNU gettext.
107624 2003-04-01  Bruno Haible  <bruno@clisp.org>
107626         * modules/pathname: New file.
107627         * MODULES.html.sh (func_all_modules): Add it.
107629 2003-04-01  Bruno Haible  <bruno@clisp.org>
107631         * lib/pathname.h: New file, from GNU gettext.
107632         * lib/concatpath.c: New file, from GNU gettext.
107634 2003-03-30  Bruno Haible  <bruno@clisp.org>
107636         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
107638 2003-03-30  Bruno Haible  <bruno@clisp.org>
107640         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
107641         function chown() doesn't exist.
107643 2003-03-28  Bruno Haible  <bruno@clisp.org>
107645         * modules/copy-file: New file.
107646         * MODULES.html.sh (func_all_modules): Add it.
107648 2003-03-28  Bruno Haible  <bruno@clisp.org>
107650         * m4/copy-file.m4: New file.
107652 2003-03-28  Bruno Haible  <bruno@clisp.org>
107654         * lib/copy-file.h: New file, from GNU gettext.
107655         * lib/copy-file.c: New file, from GNU gettext.
107657 2003-03-18  Jim Meyering  <jim@meyering.net>
107659         * lib/quote.c (quote_n): Fix typo in comment.
107661 2003-03-18  Bruno Haible  <bruno@clisp.org>
107663         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
107664         checking.
107665         * m4/onceonly_2_57.m4: Likewise.
107667 2003-03-17  Bruno Haible  <bruno@clisp.org>
107669         * m4/onceonly.m4: Require autoconf 2.54 or newer.
107670         (m4_quote): Remove macro.
107671         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
107673 2003-03-14  Jim Meyering  <jim@meyering.net>
107675         Merge changes from Coreutils.
107676         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
107677         to be const, in order to avoid warnings.
107678         (obstack_room): Likewise.
107679         (obstack_empty_p): Likewise.
107681 2003-03-14  Bruno Haible  <bruno@clisp.org>
107683         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
107684         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
107686 2003-03-13  Paul Eggert  <eggert@twinsun.com>
107688         Merge changes from Bison.
107689         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
107690         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
107691         when compiling Bison 1.875's `bitset bset = obstack_alloc
107692         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
107693         * lib/hash.c: Include <stdbool.h> unconditionally.
107695 2003-03-13  Paul Eggert  <eggert@twinsun.com>
107697         * m4/onceonly.m4 (m4_quote): New macro.
107698         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
107699         Quote AC_FOREACH variable-expansions properly.
107701 2003-03-13  Paul Eggert  <eggert@twinsun.com>
107703         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
107705 2003-03-09  Paul Eggert  <eggert@twinsun.com>
107707         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
107708         Reported by Bruce Becker; see:
107709         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
107711 2003-03-03  Paul Eggert  <eggert@twinsun.com>
107712             Bruno Haible  <bruno@clisp.org>
107714         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
107715         Reported by John Hughes, see
107716         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
107718 2003-02-20  Bruno Haible  <bruno@clisp.org>
107720         * MODULES.html.sh (func_all_modules): Add poll.
107722 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
107724         * modules/poll: New file.
107726 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
107728         * lib/poll_.h: New file.
107729         * lib/poll.c: New file.
107731 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
107733         * m4/poll.m4: New file.
107735 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
107737         * modules/mathl: New file.
107739 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
107741         * lib/mathl.h: New file.
107742         * lib/acosl.c: New file.
107743         * lib/asinl.c: New file.
107744         * lib/atanl.c: New file.
107745         * lib/ceill.c: New file.
107746         * lib/cosl.c: New file.
107747         * lib/expl.c: New file.
107748         * lib/floorl.c: New file.
107749         * lib/frexpl.c: New file.
107750         * lib/ldexpl.c: New file.
107751         * lib/logl.c: New file.
107752         * lib/sincosl.c: New file.
107753         * lib/sinl.c: New file.
107754         * lib/sqrtl.c: New file.
107755         * lib/tanl.c: New file.
107756         * lib/trigl.c: New file.
107757         * lib/trigl.h: New file.
107759 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
107761         * m4/mathl.m4: New file.
107763 2003-02-18  Bruno Haible  <bruno@clisp.org>
107765         * MODULES.html.sh (func_all_modules): Add mathl.
107767 2003-02-17  Bruno Haible  <bruno@clisp.org>
107769         * modules/mkdtemp: New module.
107770         * MODULES.html.sh (func_all_modules): Add it.
107772 2003-02-17  Bruno Haible  <bruno@clisp.org>
107774         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
107776 2003-02-17  Bruno Haible  <bruno@clisp.org>
107778         * lib/mkdtemp.h: New file, from GNU gettext.
107779         * lib/mkdtemp.c: New file, from GNU gettext.
107781 2003-02-02  Jim Meyering  <jim@meyering.net>
107783         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
107784         e.g. glibc-2.2.93.
107786 2003-01-31  Bruno Haible  <bruno@clisp.org>
107788         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
107789         'rpl_rename'.
107790         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
107791         'rpl_strnlen'.
107792         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
107793         'rpl_strtod'.
107794         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
107795         'rpl_utime'.
107797 2003-01-31  Bruno Haible  <bruno@clisp.org>
107799         * lib/rename.c: #undef rename before defining rpl_rename.
107800         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
107802 2003-01-30  Bruno Haible  <bruno@clisp.org>
107804         * modules/vasnprintf, modules/vasprintf: New modules.
107805         * MODULES.html.sh (func_all_modules): Add them.
107807 2003-01-30  Bruno Haible  <bruno@clisp.org>
107809         * m4/signed.m4: New file, from GNU gettext.
107810         * m4/longdouble.m4: New file, from GNU gettext.
107811         * m4/wchar_t.m4: New file, from GNU gettext.
107812         * m4/wint_t.m4: New file, from GNU gettext.
107813         * m4/vasnprintf.m4: New file.
107814         * m4/vasprintf.m4: New file.
107816 2003-01-30  Bruno Haible  <bruno@clisp.org>
107818         * lib/printf-args.h: New file, from GNU gettext.
107819         * lib/printf-args.c: New file, from GNU gettext.
107820         * lib/printf-parse.h: New file, from GNU gettext.
107821         * lib/printf-parse.c: New file, from GNU gettext.
107822         * lib/vasnprintf.h: New file, from GNU gettext.
107823         * lib/vasnprintf.c: New file, from GNU gettext.
107824         * lib/asnprintf.c: New file, from GNU gettext.
107825         * lib/vasprintf.h: New file, from GNU gettext with modifications.
107826         * lib/vasprintf.c: New file, from GNU gettext.
107827         * lib/asprintf.c: New file, from GNU gettext.
107829 2003-01-29  Bruno Haible  <bruno@clisp.org>
107831         * modules/stpncpy: New module.
107832         * MODULES.html.sh (func_all_modules): Add it.
107834 2003-01-29  Bruno Haible  <bruno@clisp.org>
107836         * m4/stpncpy.m4: New file.
107838 2003-01-29  Bruno Haible  <bruno@clisp.org>
107840         * lib/stpncpy.h: New file, from GNU gettext with modifications.
107841         * lib/stpncpy.c: New file, from GNU gettext with modifications.
107843 2003-01-28  Bruno Haible  <bruno@clisp.org>
107845         * modules/c-ctype: New module.
107846         * MODULES.html.sh (func_all_modules): Add it.
107848 2003-01-28  Bruno Haible  <bruno@clisp.org>
107850         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
107851         Paul Eggert.
107852         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
107853         Paul Eggert.
107855 2003-01-27  Bruno Haible  <bruno@clisp.org>
107857         * modules/xsetenv: New module.
107858         * MODULES.html.sh (func_all_modules): Add it.
107860 2003-01-27  Bruno Haible  <bruno@clisp.org>
107862         * lib/xsetenv.h: New file, from GNU gettext.
107863         * lib/xsetenv.c: New file, from GNU gettext.
107865 2003-01-23  Jim Meyering  <jim@meyering.net>
107867         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
107868         from working on systems without dirfd (at least Irix and OSF1/Tru64).
107870 2003-01-23  Bruno Haible  <bruno@clisp.org>
107872         * modules/minmax: New module.
107873         * MODULES.html.sh (func_all_modules): Add it.
107875 2003-01-23  Bruno Haible  <bruno@clisp.org>
107877         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
107878         Eggert.
107880 2003-01-22  Bruno Haible  <bruno@clisp.org>
107882         * modules/exit: New module.
107883         * MODULES.html.sh (func_all_modules): Add it.
107885 2003-01-22  Bruno Haible  <bruno@clisp.org>
107887         * lib/exit.h: New file, from GNU gettext.
107889 2003-01-19  Bruno Haible  <bruno@clisp.org>
107891         * gnulib-tool: Recognize option --extract-maintainer.
107892         (func_get_maintainer): New function.
107893         * modules/*: Add Maintainer entry.
107895 2003-01-16  Jim Meyering  <jim@meyering.net>
107897         * m4/regex.m4: The `regex' struct is both input and output.
107898         Initialize it before each use.  Patch by Tim Waugh.
107900 2003-01-16  Bruno Haible  <bruno@clisp.org>
107902         * MODULES.html.sh: Add a table of contents. Add the module name as
107903         leftmost column. Add hyperlinks.
107905 2003-01-15  Bruno Haible  <bruno@clisp.org>
107907         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
107909 2003-01-15  Bruno Haible  <bruno@clisp.org>
107911         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
107912         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
107913         suffix.
107915 2003-01-15  Bruno Haible  <bruno@clisp.org>
107917         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
107919 2003-01-15  Bruno Haible  <bruno@clisp.org>
107921         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
107922         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
107924 2003-01-14  Jim Meyering  <jim@meyering.net>
107926         * lib/same.c (same_name): Tweak a comment.
107928 2003-01-14  Bruno Haible  <bruno@clisp.org>
107930         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
107931         when a string comparison is sufficient.
107933 2003-01-14  Bruno Haible  <bruno@clisp.org>
107935         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
107936         'unsigned int'.
107938 2003-01-14  Bruno Haible  <bruno@clisp.org>
107940         * lib/hash-pjw.c: Add comment about low quality of this function.
107942 2003-01-13  Bruno Haible  <bruno@clisp.org>
107944         * modules/stpcpy: Distribute lib/stpcpy.h.
107945         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
107947 2003-01-13  Bruno Haible  <bruno@clisp.org>
107949         * modules/*: Add a description.
107950         * modules/strpbrk: Fix Makefile.am snippet.
107951         * modules/strtoimax: Fix dependencies.
107952         * modules/strtoumax: Likewise.
107954 2003-01-13  Bruno Haible  <bruno@clisp.org>
107956         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
107957         * modules/alloca (Makefile.am): All object files depend on alloca.h.
107958         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
107960 2003-01-13  Bruno Haible  <bruno@clisp.org>
107962         * gnulib-tool (func_create_testdir): Store config/* files in the main
107963         directory.
107964         * config.rpath: Move to ...
107965         * config/config.rpath: ... here.
107966         * modules/gettext: Contains config/config.rpath, not config.rpath.
107967         * modules/iconv: Likewise.
107969 2003-01-12  Paul Eggert  <eggert@twinsun.com>
107971         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
107972         to avoid collisions with libcurses and libreadline.
107974         * m4/getstr.m4: Remove.
107975         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
107977 2003-01-12  Paul Eggert  <eggert@twinsun.com>
107979         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
107980         to avoid collisions with libcurses and libreadline.
107982         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
107983         * lib/getstr.h, getstr.c: Remove.
107984         * lib/getline.c: Include "getline.h", to check interface.
107985         Move body of old getstr.c here: this defines MIN_CHUNK and
107986         declares getdelim2, which is renamed from getstr.
107987         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
107989         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
107990         All uses changed.
107991         * lib/linebuffer.h: Likewise.
107992         (readline): Remove backward-compatibility macro.
107994 2003-01-12  Paul Eggert  <eggert@twinsun.com>
107996         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
107997         to avoid collisions with libcurses and libreadline.
107998         * getstr: Remove.
107999         * MODULES.html.sh: Remove getstr.
108000         * modules/getline: Depend on unlocked-io, not getstr.
108002 2003-01-12  Jim Meyering  <jim@meyering.net>
108004         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
108006 2003-01-10  Bruno Haible  <bruno@clisp.org>
108008         * modules/alloca: Change Makefile.am requirements. Simplify Include
108009         requirements. Add lib/alloca_.h to file list.
108011 2003-01-10  Bruno Haible  <bruno@clisp.org>
108013         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
108015 2003-01-10  Bruno Haible  <bruno@clisp.org>
108017         * lib/alloca_.h: New file.
108018         * lib/getdate.y: Unconditionally include alloca.h.
108019         * lib/makepath.c: Likewise.
108020         * lib/setenv.c: Likewise.
108021         * lib/userspec.c: Likewise.
108023 2003-01-09  Karl Berry  <karl@gnu.org>
108025         * MODULES.html.sh: include `dirname $0` in PATH, to find
108026         gnulib-tool.
108028 2003-01-09  Bruno Haible  <bruno@clisp.org>
108030         * modules/stdbool: Change configure.ac, Makefile.am requirements.
108031         Simplify Include requirements. Add lib/stdbool.h.in to file list.
108033 2003-01-09  Bruno Haible  <bruno@clisp.org>
108035         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
108037 2003-01-09  Bruno Haible  <bruno@clisp.org>
108039         * lib/stdbool.h.in: New file.
108041 2003-01-09  Bruno Haible  <bruno@clisp.org>
108043         * gnulib-tool (func_all_modules): Ignore files ending in ~.
108044         * MODULES.html.sh: Likewise.
108046 2003-01-08  Jim Meyering  <jim@meyering.net>
108048         * lib/full-write.c: Undefine and define-away `const' after inclusion
108049         of errno.h, not before.  Suggestion from Bruno Haible.
108051 2003-01-08  Bruno Haible  <bruno@clisp.org>
108053         * modules/full-read: Depend on full-write.
108055 2003-01-08  Bruno Haible  <bruno@clisp.org>
108057         * lib/safe-read.c: Include specification header first, to ensure its
108058         selfcontainedness.
108059         * lib/full-write.c: Likewise.
108061 2003-01-07  Jim Meyering  <jim@meyering.net>
108063         * lib/full-write.c: Rework so that it may serve to define full_read,
108064         too.
108065         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
108067 2003-01-07  Bruno Haible  <bruno@clisp.org>
108069         * lib/strtoimax.c: Include <stdint.h> as an alternative to
108070         <inttypes.h>.
108071         * lib/xstrtol.h: Likewise.
108072         * lib/xstrtoimax.c: Likewise.
108073         * lib/xstrtoumax.c: Likewise.
108074         * lib/human.h: Likewise.
108076         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
108077         on systems that have <inttypes.h> but not <stdint.h>.
108079 2003-01-07  Bruno Haible  <bruno@clisp.org>
108081         * MODULES.html.sh: Add copyright notice.
108082         (missed_files): Omit CVS directory entries.
108083         (func_module): Make it work with sed-3.02.
108084         * MODULES.txt: Remove file.
108086 2003-01-06  Jim Meyering  <jim@meyering.net>
108088         * lib/version-etc.c: Update year in translatable copyright string.
108090 2003-01-03  Karl Berry  <karl@gnu.org>
108092         * config/config.{guess,sub}: update from prep.
108094 2003-01-02  Karl Berry  <karl@gnu.org>
108096         * doc/COPYING.DOC: belatedly updated to 1.2.
108098 2003-01-01  Karl Berry  <karl@gnu.org>
108100         * gnulib-tool (func_verify_module): report module name $module in
108101         error message, not $1.
108102         * gnulib-tool (create-testdir): don't complain if destdir couldn't
108103         be created, only if it doesn't exist.
108104         * gnulib-tool (last_checkin_date): don't expand the $Date here.
108106 2002-12-31  Paul Eggert  <eggert@twinsun.com>
108108         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
108110 2002-12-31  Paul Eggert  <eggert@twinsun.com>
108112         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
108113         memcmp if strcoll doesn't work.
108115 2002-12-31  Bruno Haible  <bruno@clisp.org>
108117         * lib/utime.c (utime_null): No need to call ftruncate if the file was
108118         nonempty.
108120 2002-12-31  Bruno Haible  <bruno@clisp.org>
108122         * lib/memcoll.c (STRCOLL): New macro.
108123         (memcoll): Use it.
108125 2002-12-31  Bruno Haible  <bruno@clisp.org>
108127         * lib/localcharset.h: New file.
108128         * lib/localcharset.c: Include it.
108129         * lib/unicodeio.c: Likewise.
108131 2002-12-31  Bruno Haible  <bruno@clisp.org>
108133         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
108134         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
108136 2002-12-31  Bruno Haible  <bruno@clisp.org>
108138         * lib/getline.h: Include <stddef.h>, for size_t.
108140         * lib/unicodeio.h: Include <stddef.h>, for size_t.
108141         * lib/unicodeio.c: Don't include <stddef.h>.
108143 2002-12-31  Bruno Haible  <bruno@clisp.org>
108145         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
108146         HAVE_TM_ZONE.
108148 2002-12-24  Karl Berry  <karl@gnu.org>
108150         * config/config.guess: update from prep.
108152 2002-12-24  Bruno Haible  <bruno@clisp.org>
108154         General infrasructure.
108155         * m4/README: Rewritten.
108156         * m4/onceonly.m4: New file.
108157         * m4/onceonly_2_57.m4: New file.
108159         Module atexit.
108160         * m4/atexit.m4: New file.
108162         Module strtod.
108163         * m4/strtod.m4: New file.
108165         Module strtol.
108166         * m4/strtol.m4: New file.
108168         Module strtoul.
108169         * m4/strtoul.m4: New file.
108171         Module memchr.
108172         * m4/memchr.m4: New file.
108174         Module memcmp.
108175         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
108176         (jm_FUNC_MEMCMP): Invoke it.
108178         Module memcpy.
108179         * m4/memcpy.m4: New file.
108181         Module memmove.
108182         * m4/memmove.m4: New file.
108184         Module memset.
108185         * m4/memset.m4: New file.
108187         Module strcspn.
108188         * m4/strcspn.m4: New file.
108190         Module strpbrk.
108191         * m4/strpbrk.m4: New file.
108193         Module strstr.
108194         * m4/strstr.m4: New file.
108196         Module strerror.
108197         * m4/strerror.m4: New file.
108199         Module mktime.
108200         * m4/mktime.m4: Renamed from jm-mktime.m4.
108201         (gl_PREREQ_MKTIME): New macro.
108202         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
108204         Module malloc.
108205         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
108206         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
108207         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
108209         Module realloc.
108210         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
108211         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
108212         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
108214         Module strftime.
108215         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
108216         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
108217         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
108218         gl_TM_GMTOFF.
108219         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
108221         Module xalloc.
108222         * m4/xalloc.m4: New file.
108224         Module alloca.
108225         * m4/alloca.m4: New file.
108227         Module putenv.
108228         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
108229         (jm_FUNC_PUTENV): Invoke it.
108231         Module setenv.
108232         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
108233         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
108234         when invoked twice.
108235         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
108236         gt_FUNC_SETENV.
108238         Module memrchr.
108239         * m4/memrchr.m4: New file.
108241         Module stpcpy.
108242         * m4/stpcpy.m4: New file.
108244         Module strcase.
108245         * m4/strcase.m4: New file.
108247         Module strdup.
108248         * m4/strdup.m4: New file.
108250         Module strnlen.
108251         * m4/strnlen.m4: New file.
108253         Module strndup.
108254         * m4/strndup.m4: New file.
108256         Module xstrtod.
108257         * m4/xstrtod.m4: New file.
108259         Module xstrtol.
108260         * m4/xstrtol.m4: New file.
108262         Module getdate.
108263         * m4/getdate.m4: New file.
108265         Module unlocked-io.
108266         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
108267         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
108268         * m4/jm-glibc-io.m4n: Remove file.
108270         Module long-options.
108271         * m4/long-options.m4: New file.
108273         Module md5.
108274         * m4/md5.m4: New file.
108276         Module sha.
108277         * m4/sha.m4: New file.
108279         Module getstr.
108280         * m4/getstr.m4: New file.
108282         Module getline.
108283         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
108284         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
108285         <sys/types.h>, for size_t. Use the function name gnu_getline, not
108286         simply getline. Infoke gl_PREREQ_GETLINE.
108288         Module obstack.
108289         * m4/obstack.m4: New file.
108291         Module hash.
108292         * m4/hash.m4: New file.
108294         Module readtokens.
108295         * m4/readtokens.m4: New file.
108297         Module strverscmp.
108298         * m4/strverscmp.m4: New file.
108300         Module stdbool.
108301         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
108302         OSF/1.
108304         Module strtoll.
108305         * m4/strtoll.m4: New file.
108307         Module strtoull.
108308         * m4/strtoull.m4: New file.
108310         Module strtoimax.
108311         * m4/strtoimax.m4: New file.
108313         Module strtoumax.
108314         * m4/strtoumax.m4: New file.
108316         Module xstrtoimax.
108317         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
108318         jm_AC_PREREQ_XSTRTOIMAX.
108319         Moved the strtol prerequisites to strtol.m4.
108320         Moved the strtoll prerequisites to strtoll.m4.
108321         Moved the strtoimax prerequisites to strtoimax.m4.
108323         Module xstrtoumax.
108324         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
108325         jm_AC_PREREQ_XSTRTOUMAX.
108326         Moved the strtoul prerequisites to strtoul.m4.
108327         Moved the strtoull prerequisites to strtoull.m4.
108328         Moved the strtoumax prerequisites to strtoumax.m4.
108330         Module chown.
108331         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
108332         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
108334         Module dup2.
108335         * m4/dup2.m4: New file.
108337         Module ftruncate.
108338         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
108339         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
108341         Module getgroups.
108342         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
108343         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
108345         Module gettimeofday.
108346         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
108347         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
108348         gl_PREREQ_GETTIMEOFDAY.
108350         Module mkdir.
108351         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
108352         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
108354         Module mkstemp.
108355         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
108356         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
108357         jm_AC_TYPE_UINTMAX_T.
108358         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
108360         Module stat.
108361         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
108362         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
108364         Module lstat.
108365         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
108366         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
108368         Module timespec.
108369         * m4/timespec.m4 (gl_TIMESPEC): New macro.
108370         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
108371         * m4/st_mtim.m4: Indentation.
108373         Module nanosleep.
108374         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
108375         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
108376         gl_PREREQ_NANOSLEEP.
108378         Module regex.
108379         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
108380         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
108381         (gl_REGEX): New macro.
108383         Module rename.
108384         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
108385         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
108387         Module rmdir.
108388         * m4/rmdir.m4: New file.
108390         Module utime.
108391         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
108392         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
108393         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
108395         Module dirname.
108396         * m4/dirname.m4: New file.
108398         Module getopt.
108399         * m4/getopt.m4: New file.
108401         Module unistd-safer.
108402         * m4/unistd-safer.m4: New file.
108404         Module fnmatch.
108405         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
108406         declaration.
108407         (gl_PREREQ_FNMATCH_EXTRA): New macro.
108408         (gl_FUNC_FNMATCH_POSIX): New macro.
108409         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
108410         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
108411         simply fnmatch.
108413         Module exclude.
108414         * m4/exclude.m4: New file.
108416         Module human.
108417         * m4/human.m4: New file.
108419         Module acl.
108420         * m4/acl.m4: Nop.
108422         Module backupfile.
108423         * m4/backupfile.m4: New file.
108424         * m4/d-ino.m4: Indentation.
108426         Module fsusage.
108427         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
108428         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
108429         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
108431         Module dirfd.
108432         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
108433         requirements.
108435         Module euidaccess.
108436         * m4/euidaccess.m4: New file.
108438         Module file-type.
108439         * m4/file-type.m4: New file.
108441         Module fileblocks.
108442         * m4/fileblocks.m4: New file.
108444         Module filemode.
108445         * m4/filemode.m4: New file.
108447         Module isdir.
108448         * m4/isdir.m4: New file.
108450         Module lchown.
108451         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
108452         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
108454         Module makepath.
108455         * m4/makepath.m4: New file.
108457         Module modechange.
108458         * m4/modechange.m4: New file.
108460         Module mountlist.
108461         * m4/mountlist.m4: New file.
108462         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
108463         Indentation.
108465         Module path-concat.
108466         * m4/path-concat.m4: New file.
108468         Module pathmax.
108469         * m4/pathmax.m4: New file.
108471         Module same.
108472         * m4/same.m4: New file.
108474         Module save-cwd.
108475         * m4/save-cwd.m4: New file.
108477         Module savedir.
108478         * m4/savedir.m4: New file.
108480         Module xgetcwd.
108481         * m4/xgetcwd.m4: New file.
108482         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
108484         Module xreadlink.
108485         * m4/xreadlink.m4: New file.
108487         Module safe-read.
108488         * m4/safe-read.m4: New file.
108490         Module safe-write.
108491         * m4/safe-write.m4: New file.
108493         Module closeout.
108494         * m4/closeout.m4: New file.
108496         Module stdio-safer.
108497         * m4/stdio-safer.m4: New file.
108499         Module getpass.
108500         * m4/getpass.m4: New file.
108502         Module getugroups.
108503         * m4/getugroups.m4: New file.
108505         Module group-member.
108506         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
108507         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
108509         Module idcache.
108510         * m4/idcache.m4: New file.
108512         Module userspec.
108513         * m4/userspec.m4: New file.
108515         Module gettime.
108516         * m4/clock_time.m4: New file.
108517         * m4/gettime.m4: New file.
108519         Module settime.
108520         * m4/settime.m4: New file.
108522         Module posixtm.
108523         * m4/posixtm.m4: New file.
108525         Module gethostname.
108526         * m4/gethostname.m4: New file.
108528         Module canon-host.
108529         * m4/canon-host.m4: New file.
108531         Module gettext.
108532         * m4/codeset.m4: New file, from gettext-0.11.5.
108533         * m4/gettext.m4: New file, from gettext-0.11.5.
108534         * m4/glibc21.m4: New file, from gettext-0.11.5.
108535         * m4/iconv.m4: New file, from gettext-0.11.5.
108536         * m4/intdiv0.m4: New file, from gettext-0.11.5.
108537         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
108538         * m4/inttypes.m4: New file, from gettext-0.11.5.
108539         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
108540         * m4/isc-posix.m4: New file, from gettext-0.11.5.
108541         * m4/lcmessage.m4: New file, from gettext-0.11.5.
108542         * m4/lib-ld.m4: New file, from gettext-0.11.5.
108543         * m4/lib-link.m4: New file, from gettext-0.11.5.
108544         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
108545         * m4/progtest.m4: New file, from gettext-0.11.5.
108546         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
108547         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
108548         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
108550         Module localcharset.
108551         * m4/localcharset.m4: New file.
108553         Module hard-locale.
108554         * m4/hard-locale.m4: New file.
108556         Module mbswidth.
108557         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
108558         onceonly macros.
108559         * m4/mbrtowc.m4: Add comment.
108561         Module memcasecmp.
108562         * m4/memcasecmp.m4: New file.
108564         Module memcoll.
108565         * m4/memcoll.m4: New file.
108567         Module unicodeio.
108568         * m4/unicodeio.m4: New file.
108570         Module rpmatch.
108571         * m4/rpmatch.m4: New file.
108573         Module yesno.
108574         * m4/yesno.m4: New file.
108576         Module exitfail.
108577         * m4/exitfail.m4: New file.
108579         Module c-stack.
108580         * m4/c-stack.m4 (gl_C_STACK): New macro.
108581         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
108583         Module error.
108584         * m4/error.m4 (gl_ERROR): New macro.
108585         (jm_PREREQ_ERROR): Use onceonly macros.
108587         Module fatal.
108588         * m4/fatal.m4: New file.
108590         Module getloadavg.
108591         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
108592         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
108594         Module getpagesize.
108595         * m4/getpagesize.m4: New file.
108597         Module getusershell.
108598         * m4/getusershell.m4: New file.
108600         Module physmem.
108601         * m4/physmem.m4: New file.
108603         Module posixver.
108604         * m4/posixver.m4: New file.
108606         Module quotearg.
108607         * m4/quotearg.m4: New file.
108609         Module quote.
108610         * m4/quote.m4: New file.
108612         Module readutmp.
108613         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
108615         Module sig2str.
108616         * m4/sig2str.m4: New file.
108618         Other.
108619         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
108620         ulonglong.m4.
108621         * m4/intmax_t.m4: New file.
108622         * m4/d-type.m4: Indentation.
108623         * m4/jm-macros.m4: Update.
108624         * m4/prereq.m4 (jm_PREREQ): Update.
108625         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
108626         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
108627         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
108628         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
108629         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
108630         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
108631         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
108632         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
108633         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
108634         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
108635         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
108636         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
108637         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
108638         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
108639         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
108640         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
108641         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
108642         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
108643         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
108645 2002-12-24  Bruno Haible  <bruno@clisp.org>
108647         * MODULES.txt: Update according to m4/ changes.
108649         Module gettext.
108650         * config.rpath: New file, from gettext-0.11.5.
108652         * modules/*: New module descriptions.
108653         * gnulib-tool: New file.
108654         * MODULES.html.sh: New file.
108656 2002-12-21  Karl Berry  <karl@gnu.org>
108658         * doc/fdl.texi: update to version 1.2.
108660 2002-12-19  Karl Berry  <karl@gnu.org>
108662         * config/config.guess: update from prep.
108664 2002-12-18  Bruno Haible  <bruno@clisp.org>
108666         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
108667         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
108669 2002-12-17  Bruno Haible  <bruno@clisp.org>
108671         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
108672         stdlib.h, string.h.
108674 2002-12-17  Bruno Haible  <bruno@clisp.org>
108676         * lib/canon-host.c (strdup): Remove unused declaration.
108678         * lib/fsusage.c: Include full_read.h.
108679         (get_fs_usage): Use full_read instead of safe_read.
108681         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
108683 2002-12-12  Karl Berry  <karl@gnu.org>
108685         * config/config.guess: update from prep.
108687 2002-12-11  Bruno Haible  <bruno@clisp.org>
108689         * m4/setenv.m4: New file, from gettext-0.11.5.
108691 2002-12-11  Bruno Haible  <bruno@clisp.org>
108693         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
108694         not unsetenv().
108695         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
108696         modifications:
108698         2002-12-11  Bruno Haible  <bruno@clisp.org>
108700                 * setenv.c (alloca): Fall back to malloc.
108701                 (freea): New macro.
108702                 (setenv): Use freea() to free memory allocated with alloca().
108704         2002-11-13  Bruno Haible  <bruno@clisp.org>
108706                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
108707                 function declarations.
108708                 * unsetenv.c (unsetenv): Likewise.
108710         2002-03-04  Bruno Haible  <bruno@clisp.org>
108712                 Portability to AIX 4.3.3.
108713                 * unsetenv.c: New file, extracted from setenv.c.
108714                 * setenv.c: Move the unsetenv() function to unsetenv.c.
108716         2001-12-20  Bruno Haible  <bruno@clisp.org>
108718                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
108719                 use malloc instead. For SunOS 4.
108721         2001-12-11  Bruno Haible  <bruno@clisp.org>
108723                 * setenv.c: Declare alloca.
108724                 (compar_fn_t): New typedef.
108725                 (KNOWN_VALUE, STORE_VALUE): Use it.
108727         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
108728         setenv.h.
108730 2002-12-10  Paul Eggert  <eggert@twinsun.com>
108732         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
108733         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
108734         Choose values that are less likely to collide with system fnmatch
108735         options.
108736         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
108737         defined (e.g., a pure POSIX system).
108738         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
108739         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
108741 2002-12-06  Paul Eggert  <eggert@twinsun.com>
108743         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
108744         a pain in practice to deal with generated m4 files.  This change
108745         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
108747         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
108748         and jm-glibc-io.m4, as they are no longer a special case.
108749         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
108750         kludge and the auto-generation stuff.  Check only whether the
108751         functions are declared, not whether they exist, since older hosts
108752         that don't declare the functions can't use the optimization anyway.
108754 2002-12-06  Jim Meyering  <jim@meyering.net>
108756         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
108758         Merge in changes from libc's misc/error.c, in preparation
108759         for the merge of gnulib's changes back into libc.
108761         * lib/error.c (_): Define only if not already defined.
108762         Move definition to follow all #include directives.
108763         Include unlocked-io.h only if !_LIBC.
108764         [_LIBC]: Include <libio/libioP.h>.
108765         [USE_IN_LIBIO]: Include <libio/iolibio.h>
108766         (fflush): Tweak definition to use INTUSE.
108767         (putc): Define.
108769 2002-12-05  Paul Eggert  <eggert@twinsun.com>
108771         * lib/alloca.c [defined emacs]: Include "lisp.h".
108772         (xalloc_die) [defined emacs]: New macro.
108773         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
108774         [! defined emacs]: Include <xalloc.h>.
108775         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
108776         (pointer): Typedef to POINTER_TYPE *.
108777         (malloc): Remove decl; we now always use xmalloc.
108778         (alloca): Use old-style definition, since Emacs needs this.
108779         Check for arithmetic overflow when computing combined size.
108781 2002-12-04  Paul Eggert  <eggert@twinsun.com>
108783         Do not generate unlocked-io.h automatically, since it's easier to
108784         maintain it by hand.
108786         * lib/unlocked-io.h: New file, from GNU diffutils,
108787         but with proper copyright notice and attribution.
108788         * lib/gen-uio: Remove.
108789         * lib/Makefile.am: Add copyright notice.
108790         (libfetish_a_SOURCES): Add unlocked-io.h.
108791         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
108792         (DISTCLEANFILES, io_functions): Remove macros.
108793         (EXTRA_DIST): Remove gen_uio.
108794         (unlocked-io.h): Remove rule.
108796 2002-12-04  Jim Meyering  <jim@meyering.net>
108798         Reflect the fact that stat.c and lstat.c are no longer generated.
108799         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
108800         (DISTCLEANFILES): Likewise.
108801         (EXTRA_DIST): Likewise.
108802         (all_local): Don't depend on stat.c or lstat.c.
108803         (stat.c, lstat.c): Remove rules.
108804         (EXTRA_DIST): Remove xstat.in.
108806         * lib/xstat.in: Remove file.  Contents moved into stat.c.
108807         * lib/stat.c: New file.  Contents mostly from xstat.in.
108808         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
108809         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
108811         * lib/safe-read.c: Rework so that it may serve to define safe_write,
108812         too.
108813         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
108815 2002-12-03  Jim Meyering  <jim@meyering.net>
108817         * lib/safe-read.c, safe-write.c: Change variable names and comments,
108818         but not semantics, to minimize the differences between these two files.
108819         (safe_read): Change comment to mention SAFE_READ_ERROR.
108821         * lib/safe-read.c (IS_EINTR): Define.
108822         (safe_read): Use IS_EINTR in place of in-function cpp directives.
108824 2002-12-02  Jim Meyering  <jim@meyering.net>
108826         * lib/safe-read.c (EINTR): Define.
108827         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
108828         (INT_MAX): Provide fallback.
108829         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
108831         * lib/safe-read.h (SAFE_READ_ERROR): Define.
108833 2002-12-02  Bruno Haible  <bruno@clisp.org>
108835         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
108836         Define, taken from safe-read.c.
108837         (INT_MAX): Provide fallback.
108838         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
108839         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
108841         * lib/safe-read.c (EINTR): Remove definition.
108842         (safe_read): Don't use EINTR if it is absent.
108844 2002-12-01  Jim Meyering  <jim@meyering.net>
108846         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
108847         zero.
108848         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
108850 2002-11-27  Paul Eggert  <eggert@twinsun.com>
108852         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
108853         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
108854         with `if (! (value < limit)) abort ();', for readability.
108856 2002-11-26  Karl Berry  <karl@gnu.org>
108858         * lib/strdup.c: copy from libc again, with jim's ok.
108859         * lib/.cppi-disable: re-add strdup.c
108861 2002-11-25  Karl Berry  <karl@gnu.org>
108863         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
108864         instead of "strtol.c".
108866 2002-11-25  Karl Berry  <karl@gnu.org>
108868         * config/install-sh: update from automake for variable quoting, $0 in
108869         error msgs, etc.
108871         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
108872         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
108873         entry.
108875 2002-11-25  Jim Meyering  <jim@meyering.net>
108877         * lib/mktime.c: Sync from libc, now that it has the latest fix.
108879 2002-11-24  Karl Berry  <karl@gnu.org>
108881         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
108882         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
108884 2002-11-24  Jim Meyering  <jim@meyering.net>
108886         Update from coreutils:
108888         * lib/mktime.c: Merge in changes from libc.
108890         Avoid a link-time failure on some Linux systems.
108891         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
108892         (otherwise).
108893         (__mon_yday): Declare with the STATIC attribute.
108894         (__mktime_internal): Likewise.
108895         Based on a report from Greg Schafer.
108897 2002-11-23  Jim Meyering  <jim@meyering.net>
108899         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
108900         Use `unsigned', not `int', as type of index.
108902         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
108904         * lib/fsusage.c: Remove unneeded parentheses around operands of
108905         `defined'.
108907 2002-11-22  Paul Eggert  <eggert@twinsun.com>
108909         * lib/quotearg.h: Allow multiple inclusion by surrounding with
108910         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
108911         so that we can be included first.
108912         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
108913         * lib/quotearg.c: Include quotearg.h immediately after config.h.
108914         No need to include stddef.h or sys/types.h any more.
108915         Surround local include files with "", not "<>".
108916         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
108917         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
108918         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
108919         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
108920         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
108921         (ISPRINT): Remove; no longer needed now that we assume C89.
108923         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
108924         Preserve errno.
108926         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
108927         quotearg_char): Use SIZE_MAX rather than
108928         (size_t) -1 when we are talking about "infinity".
108930         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
108932 2002-11-22  Paul Eggert  <eggert@twinsun.com>
108934         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
108935         hint that one should use `if (! x) abort ();' rather than `assert
108936         (x);', and anyway it's one less thing to worry about configuring.
108937         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
108938         hash_rehash, hash_insert): Use abort rather than assert.
108940 2002-11-22  Bruno Haible  <bruno@clisp.org>
108942         * lib/safe-read.h: Assume C89. Add comments.
108943         (safe_read): Change return type to size_t.
108944         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
108945         byte counts > SSIZE_MAX correctly.
108946         * lib/safe-write.h: New file.
108947         * lib/safe-write.c: New file.
108948         * lib/full-read.h: New file.
108949         * lib/full-read.c: New file.
108950         * lib/full-write.h: Assume C89. Add comments.
108951         * lib/full-write.c: Include safe-write.h.
108952         (full_write): Rewritten to use safe_write.
108953         Suggested by Jim Meyering and Paul Eggert.
108955 2002-11-21  Jim Meyering  <jim@meyering.net>
108957         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
108959         Merge in changes from the coreutils.
108961         2002-09-25  Paul Eggert  <eggert@twinsun.com>
108962         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
108963         <stdint.h>.
108964         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
108965         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
108966         int.  Work more efficiently if X is the same width as uintmax_t.
108967         Do not compare X to -1, to avoid bogus compiler warning.
108968         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
108969         Don't assume that f_frsize and f_bsize are the same type.
108971         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
108972         warning on FreeBSD.
108974         * lib/makepath.c (make_path): Restore umask *before* creating the final
108975         component.
108976         (make_path): Minor reformatting.
108978         * lib/xmalloc.c: Adjust to work with new autoconf macros,
108979         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
108980         HAVE_MALLOC/HAVE_REALLOC.
108982         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
108983         dummy ones.  At least on GNU/Linux systems, `auto' means something
108984         else.
108985         From Michael Stone.
108987 2002-11-21  Bruno Haible  <bruno@clisp.org>
108989         Remove case insensitive option matching.
108990         * lib/argmatch.h (argcasematch): Remove declaration.
108991         (ARGCASEMATCH): Remove macro.
108992         (__xargmatch_internal): Remove case_sensitive argument.
108993         (XARGMATCH): Update.
108994         (XARGCASEMATCH): Remove macro.
108995         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
108996         case_sensitive argument.
108997         (argcasematch): Remove function.
108998         (__xargmatch_internal): Remove case_sensitive argument.
108999         (main): Use XARGMATCH instead of XARGCASEMATCH.
109001         * lib/xmalloc.c: Change compile-time error message. Add comment about
109002         required autoconf version.
109004 2002-11-20  Paul Eggert  <eggert@twinsun.com>
109006         Merge argmatch cleanups from Bison.  Assume C89.
109008         * lib/argmatch.c: Include config.h here, not in argmatch.h.
109009         Include stdlib.h, for EXIT_FAILURE.
109010         Always include <string.h>, since we assume C89.
109011         (EXIT_FAILURE): Remove pre-C89 bug workaround.
109012         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
109013         Include <stddef.h> instead, since it's all we need for size_t.
109014         (PARAMS): Remove.  All uses removed.
109015         (ARRAY_CARDINALITY): Do not bother to #undef.
109016         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
109017         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
109018         Remove unnecessary parentheses.
109019         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
109020         Insert necessary parentheses.
109021         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
109022         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
109024 2002-11-19  Bruno Haible  <bruno@clisp.org>
109026         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
109027         * lib/mbswidth.h: Include <stddef.h>, for size_t.
109029         * lib/mbswidth.h (PARAMS): Remove macro.
109030         (mbswidth, mbsnwidth): Use ANSI C function declarations.
109031         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
109033         * lib/gcd.h (PARAMS): Remove macro.
109034         (gcd): Use ANSI C function declarations.
109035         * lib/gcd.c (gcd): Likewise.
109037 2002-11-15  Bruno Haible  <bruno@clisp.org>
109039         * lib/strcspn.c: Include <stddef.h>.
109040         (strcspn): Use ANSI C function declaration. Change return type to
109041         size_t. Use NULL.
109042         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
109043         (strpbrk): Use NULL.
109044         * lib/strpbrk.h (PARAMS): Remove macro.
109045         (strpbrk): Use ANSI C function declaration.
109046         * lib/strstr.c: Don't include <sys/types.h>.
109047         * lib/strstr.h (PARAMS): Remove macro.
109048         (strstr): Use ANSI C function declarations.
109050 2002-11-14  Karl Berry  <karl@gnu.org>
109052         * config/mkinstalldirs: `do' on separate line, instead of
109053         `for var; do'.
109055 2002-11-06  Bruno Haible  <bruno@clisp.org>
109057         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
109058         * lib/gcd.c (gcd): Likewise.
109060 2002-11-05  Bruno Haible  <bruno@clisp.org>
109062         * lib/gcd.h: New file, from gettext-0.11.5.
109063         * lib/gcd.c: New file, from gettext-0.11.5.
109065 2002-11-05  Bruno Haible  <bruno@clisp.org>
109067         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
109068         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
109069         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
109070         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
109072         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
109073         <libintl.h>.
109074         * lib/makepath.c: Include gettext.h instead of <locale.h> and
109075         <libintl.h>.
109077         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
109078         * lib/human.c: Include gettext.h instead of <libintl.h>.
109079         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
109080         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
109081         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
109082         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
109083         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
109084         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
109085         (textdomain): Remove definition.
109086         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
109088         * lib/long-options.c: Remove include of <libintl.h> and definition of
109089         _.
109090         * lib/same.c: Remove include of <libintl.h> and definition of _.
109092 2002-11-04  Owen Taylor  <otaylor@redhat.com>
109094         * lib/config.charset: A few additions for Solaris.
109096 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
109098         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
109099         * lib/localcharset.c (locale_charset): Declare as extern "C".
109101 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
109103         * lib/config.charset: msdos in uk_UA uses CP1125.
109105 2002-11-04  Bruno Haible  <bruno@clisp.org>
109107         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
109108         * lib/strcase.h: New file, from GNU gettext-0.11.5.
109109         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
109110         * lib/strstr.h: New file, from GNU gettext-0.11.5.
109111         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
109113 2002-11-04  Bruno Haible  <bruno@clisp.org>
109115         * lib/localcharset.c (locale_charset): Don't return an empty string.
109117 2002-11-04  Bruno Haible  <bruno@clisp.org>
109119         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
109120         aliases.
109122 2002-11-04  Bruno Haible  <bruno@clisp.org>
109124         * lib/config.charset: Update for newest glibc. Add canonical names
109125         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
109127 2002-11-04  Bruno Haible  <bruno@clisp.org>
109129         * lib/config.charset: Add support for NetBSD.
109131 2002-11-04  Bruno Haible  <bruno@clisp.org>
109133         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
109135 2002-11-01  Bruno Haible  <bruno@clisp.org>
109137         * configure.in: Add AC_CONFIG_AUX_DIR call.
109138         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
109139         test/Makefile.
109140         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
109142 2002-09-28  Karl Berry  <karl@gnu.org>
109144         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
109145         installed automake until the next release, since changes have been
109146         made.
109148 2002-09-25  Karl Berry  <karl@gnu.org>
109150         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
109151         * lib/getopt*: copy from libc/posix.
109152         * lib/gettext.h: copy from gettext.
109153         * lib/.cppi-disable: add strdup.c, gettext.h.
109155 2002-09-25  Karl Berry  <karl@gnu.org>
109157         * config/srclist.txt: enable gettext.h check.
109158         * config/config.{guess,sub}: update from prep.
109159         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
109160                 from automake 1.6.3.
109161         See srclist*.
109163 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
109165         * regex.c (PATFETCH): Remove the translating fetch.
109166         (PATFETCH_RAW): Rename to PATFETCH.
109167         (set_image_of_range): New fun.
109168         (SET_RANGE_TABLE_WORK_AREA): Use it.
109169         (regex_compile): Don't translate the pattern chars so eagerly.
109170         Only do it when inserting an `exactn' bytecode or when handling
109171         a char-range.
109172         (mutually_exclusive_p): Avoid empty statement.
109174 2002-07-06  Jim Meyering  <meyering@lucent.com>
109176         * m4/README: Don't mention Makefile.am.in.
109177         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
109179 2002-07-01  Jim Meyering  <meyering@lucent.com>
109181         * lib/c-stack.c: Include sys/time.h.
109182         From Volker Borchert.
109184 2002-06-26  Paul Eggert  <eggert@twinsun.com>
109186         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
109188 2002-06-26  Paul Eggert  <eggert@twinsun.com>
109190         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
109191         New macro.  Use it uniformly instead of
109192         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
109193         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
109194         reported by Vin Shelton.
109196 2002-06-22  Paul Eggert  <eggert@twinsun.com>
109198         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
109199         Do not assume SA_SIGINFO behavior.
109200         Bug reported by Jim Meyering on NetBSD 1.5.2.
109202 2002-06-22  Jim Meyering  <meyering@lucent.com>
109204         * m4/c-stack.m4: New file, from diffutils-2.8.2.
109205         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
109207         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
109208         now that configure.ac uses AC_GNU_SOURCE.
109209         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
109210         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
109212         Update to latest tools.  Suggestions from Paul Eggert.
109213         * m4/stdbool.m4: New file, from diffutils-2.8.2.
109214         * m4/gnu-source.m4: Update from diffutils-2.8.2.
109215         * m4/fnmatch.m4: Likewise.
109216         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
109217         to AC_HEADER_STDBOOL
109219 2002-06-22  Jim Meyering  <meyering@lucent.com>
109221         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
109222         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
109224 2002-06-22  Jim Meyering  <meyering@lucent.com>
109226         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
109228         * lib/exitfail.c, exitfail.h: Likewise.
109229         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
109231         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
109232         of fnmatch.h.
109233         (EXTRA_DIST): Add fnmatch_loop.c.
109234         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
109236         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
109237         * lib/fnmatch.c: Update from diffutils-2.8.2.
109238         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
109239         * lib/fnmatch.h: Remove file.
109241 2002-06-21  Jim Meyering  <meyering@lucent.com>
109243         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
109244         * m4/mbrtowc.m4: Likewise.
109246         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
109247         * m4/mbswidth.m4: Reflect name change:
109248         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
109249         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
109251         * m4/lib-link.m4: Update from gettext-0.11.2.
109252         * m4/gettext.m4: Likewise.
109254         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
109255         From Alfred M. Szmidt.
109257 2002-06-18  Paul Eggert  <eggert@twinsun.com>
109259         * lib/file-type.h: Report an error if neither S_ISREG nor
109260         S_IFREG is defined, instead of using a test specific to glibc
109261         2.2.  This should be safe, since POSIX requires S_ISREG and
109262         Unix Version 7 had S_IFREG.  We don't need to check for
109263         <sys/types.h> since we don't use any symbols that it defines.
109265 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
109267         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
109268         $@-t, so that each temporary file name is unique and valid in the first
109269         8 characters, for operation under DOS.
109271 2002-06-15  Paul Eggert  <eggert@twinsun.com>
109273         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
109275 2002-06-15  Jim Meyering  <meyering@lucent.com>
109277         Work even with DJGPP 2.03, which lacks support for symlinks.
109278         From Richard Dawe.
109279         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
109280         is defined.
109281         * lib/lchown.c (S_ISLNK): Likewise.
109283 2002-06-15  Jim Meyering  <meyering@lucent.com>
109285         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
109286         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
109287         have been included before this file.
109289 2002-06-14  Jim Meyering  <meyering@lucent.com>
109291         * lib/file-type.h: Use the version from diffutils-2.8.2.
109292         * lib/file-type.c: Likewise.
109294 2002-06-07  Jim Meyering  <meyering@lucent.com>
109296         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
109297         They're needed at least for NetBSD 1.5.2.
109298         ($statxfs_includes): Include those same headers.
109299         ($statxfs_includes): Include sys/vfs.h if available.
109300         ($statxfs_includes): Likewise for sys/statvfs.h.
109301         Check for the following members in both structs statfs and statvfs:
109302         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
109304 2002-06-01  Jim Meyering  <meyering@lucent.com>
109306         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
109307         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
109309 2002-05-28  Jim Meyering  <meyering@lucent.com>
109311         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
109312         Reported by Volker Borchert.
109314 2002-05-27  Jim Meyering  <meyering@lucent.com>
109316         Fix a problem seen only on nonconforming systems whereby ls.c's
109317         use of localtime, and then of gettimeofday would cause trouble:
109318         the localtime call used to initialize rpl_gettimeofday's save
109319         mechanism would clobber ls's current local time information so
109320         that in any long listing the first file would always be listed
109321         with date 1970-01-01.  Analysis by Volker Borchert.
109323         * lib/gettimeofday.c (localtime): Undefine.
109324         (rpl_localtime): New function.
109326 2002-05-27  Jim Meyering  <meyering@lucent.com>
109328         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
109329         localtime.
109331         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
109332         use the replacement function; it wouldn't resolve at link time.
109333         Reported by Volker Borchert.
109335 2002-05-22  Jim Meyering  <meyering@lucent.com>
109337         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
109338         file-type.h.
109339         * lib/file-type.h: New file.
109340         * lib/file-type.c (file_type): New file/function.  Extracted from
109341         diffutils.
109343 2002-04-30  Jim Meyering  <meyering@lucent.com>
109345         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
109347 2002-04-29  Paul Eggert  <eggert@twinsun.com>
109349         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
109351 2002-04-29  Paul Eggert  <eggert@twinsun.com>
109353         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
109354         Do not check for alloca.h (no longer used) or stdbool.h (was never
109355         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
109357 2002-04-29  Paul Eggert  <eggert@twinsun.com>
109359         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
109361 2002-04-29  Jim Meyering  <meyering@lucent.com>
109363         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
109364         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
109365         Use AC_FUNC_STRNLEN here instead.
109367         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
109368         With autoconf-2.53a, it's part of AC_PROG_CC.
109370 2002-04-28  Paul Eggert  <eggert@twinsun.com>
109372         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
109373         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
109375 2002-04-28  Paul Eggert  <eggert@twinsun.com>
109377         * lib/sig2str.h, lib/sig2str.c: New files.
109378         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
109380 2002-04-28  Paul Eggert  <eggert@twinsun.com>
109382         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
109383         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
109384         of 127, since 64 is the largest conceivable number for ancient
109385         nonstandard hosts.
109386         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
109388 2002-04-28  Jim Meyering  <meyering@lucent.com>
109390         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
109392 2002-04-24  Jim Meyering  <meyering@lucent.com>
109394         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
109395         (jm_PREREQ): Use it.
109397         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
109398         mach/mach.h fcntl.h.
109399         Check for this function: setlocale.
109401 2002-04-24  Jim Meyering  <meyering@lucent.com>
109403         * lib/gettext.h: New file, from Gettext.
109404         * lib/Makefile.am (INCLUDES): Remove -I../intl.
109405         (libfetish_a_SOURCES): Add gettext.h.
109407 2002-04-16  Jim Meyering  <meyering@lucent.com>
109409         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
109410         ut_pid, ut_id, ut_exit.
109412 2002-04-16  Jim Meyering  <meyering@lucent.com>
109414         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
109415         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
109416         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
109418 2002-04-12  Jim Meyering  <meyering@lucent.com>
109420         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
109421         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
109422         existence of the getmntinfo function.  Needed for Darwin 5.3.
109424         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
109425         This is necessary at least on Darwin 5.3.
109427         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
109428         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
109429         strnlen.o in the library, and that makes some versions of ranlib
109430         object.
109432 2002-04-12  Jim Meyering  <meyering@lucent.com>
109434         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
109436 2002-04-09  Jim Meyering  <meyering@lucent.com>
109438         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
109439         to be more precise.  Rather than saying we're checking whether the
109440         function `works', say what we're testing.
109441         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
109442         Reported by Bruno Haible.
109444 2002-03-10  Jim Meyering  <meyering@lucent.com>
109446         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
109447         Suggestion from Santiago Vila.
109449 2002-03-08  Jim Meyering  <meyering@lucent.com>
109451         * lib/rename.c: Mention that this wrapper is needed also on
109452         mips-dec-ultrix4.4 systems.
109454 2002-03-02  Jim Meyering  <meyering@lucent.com>
109456         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
109457         not HAVE_CLOCK_SETTIME.
109459 2002-02-27  Paul Eggert  <eggert@twinsun.com>
109461         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
109462         Check for clock_settime.
109464 2002-02-27  Paul Eggert  <eggert@twinsun.com>
109466         * lib/nanosleep.h: Rename to....
109467         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
109469         * lib/gettime.c: New file.
109470         * lib/settime.c: New file.
109471         * lib/stime.c: Remove.
109473         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
109474         timespec.h.  Remove nanosleep.h.
109476 2002-02-25  Paul Eggert  <eggert@twinsun.com>
109478         * m4/acl.m4: New file.
109479         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
109480         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
109482 2002-02-25  Paul Eggert  <eggert@twinsun.com>
109484         * lib/acl.c, lib/acl.h: New files.
109485         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
109487 2002-02-24  Jim Meyering  <meyering@lucent.com>
109489         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
109490         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
109491         cause trouble.  Reported by Nelson Beebe.
109493 2002-02-23  Paul Eggert  <eggert@twinsun.com>
109495         * lib/path-concat.c (xpath_concat): Reorder code to pacify
109496         compilers that don't know that xalloc_die never returns.
109498 2002-02-20  Jim Meyering  <meyering@lucent.com>
109500         * lib/getdate.c: Regenerate using bison-1.33.
109502 2002-02-17  Jim Meyering  <meyering@lucent.com>
109504         * config/config.guess (main): Don't use `head -1'; it's no longer
109505         portable. Use `sed 1q' instead.
109507 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
109509         * m4/codeset.m4: Upgrade to gettext-0.11.
109510         * m4/gettext.m4: Upgrade to gettext-0.11.
109511         * m4/glibc21.m4: Upgrade to gettext-0.11.
109512         * m4/iconv.m4: Upgrade to gettext-0.11.
109513         * m4/isc-posix.m4: Upgrade to gettext-0.11.
109514         * m4/lcmessage.m4: Upgrade to gettext-0.11.
109515         * m4/lib-ld.m4: New file, from gettext-0.11.
109516         * m4/lib-link.m4: New file, from gettext-0.11.
109517         * m4/lib-prefix.m4: New file, from gettext-0.11.
109518         * m4/progtest.m4: Upgrade to gettext-0.11.
109520 2002-02-15  Paul Eggert  <eggert@twinsun.com>
109522         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
109523         (jm_PREREQ): Use it.
109525 2002-02-15  Paul Eggert  <eggert@twinsun.com>
109527         * lib/posixver.c, lib/posixver.h: New files.
109528         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
109530 2002-02-02  Paul Eggert  <eggert@twinsun.com>
109531             Bruno Haible  <bruno@clisp.org>
109533         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
109534         (fwrite_success_callback): New declaration.
109535         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
109536         print_unicode_char. Call failure callback instead of error.
109537         (fwrite_success_callback): New function.
109538         (exit_failure_callback): New function.
109539         (fallback_failure_callback): New function.
109540         (print_unicode_char): Call unicode_to_mb.
109542 2002-01-26  Jim Meyering  <meyering@lucent.com>
109544         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
109545         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
109547 2002-01-26  Jim Meyering  <meyering@lucent.com>
109549         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
109551 2002-01-22  Paul Eggert  <eggert@twinsun.com>
109553         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
109555 2002-01-22  Jim Meyering  <meyering@lucent.com>
109557         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
109558         Otherwise, some versions of automake would omit the rule that makes
109559         Makefile from Makefile.in.
109561 2002-01-21  Paul Eggert  <eggert@twinsun.com>
109563         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
109564         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
109565         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
109566         (memcoll): Set errno to zero if there is no error.
109568         * lib/quotearg.c (quotearg_buffer_restyled):
109569         Fix bug with quoting buffers containing NUL when backslashing escapes.
109570         This bug was exposed by the other changes in this patch.
109571         (quotearg_n_options): New arg ARGSIZE.
109572         All callers changed.
109573         (quoting_options_from_style): New function.
109574         (quotearg_n_style): Use it.
109575         (quotearg_n_style_mem): New function.
109577         * lib/quotearg.h (quotearg_n_style_mem): New function.
109579 2002-01-19  Jim Meyering  <meyering@lucent.com>
109581         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
109582         Remove useless quotes: DF_PROG="df".
109583         * m4/strnlen.m4: New file.
109585 2002-01-16  Paul Eggert  <eggert@twinsun.com>
109587         * lib/backupfile.c (ISDIGIT): Comment fix.
109588         * lib/getdate.y (ISDIGIT): Likewise.
109589         * lib/posixtm.c (ISDIGIT, year): Likewise.
109590         * lib/strverscmp.c (ISDIGIT): Likewise.
109591         * lib/userspec.c (ISDIGIT): Likewise.
109593 2002-01-16  Jim Meyering  <meyering@lucent.com>
109595         * lib/getdate.y: Add three semicolons, each just before a closing
109596         brace. Bison (as of version 1.31) no longer papers over that mistake.
109598 2002-01-05  Jim Meyering  <meyering@lucent.com>
109600         * lib/version-etc.c (version_etc_copyright): Update copyright year.
109602 2001-12-19  Paul Eggert  <eggert@twinsun.com>
109604         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
109605         not silently exit merely because the output buffer happens to
109606         have nothing pending.
109608 2001-12-18  Paul Eggert  <eggert@twinsun.com>
109610         See the big note in ../ChangeLog.
109611         * lib/human.c (suffixes): Prefer K to k for 1024.
109612         (generate_suffix_backwards): New function.
109613         (human_readable_inexact): Use it.
109614         * lib/xstrtol.c (__xstrtol): If there is no number but there
109615         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
109616         Accept 'K' as well as 'k'.
109618 2001-12-15  Jim Meyering  <meyering@lucent.com>
109620         * lib/regex.h (__restrict_arr): Update from libc.
109622         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
109623         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
109624         (STREQ): Define.
109626 2001-12-14  Jim Meyering  <meyering@lucent.com>
109628         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
109629         Suggestion from Bruno Haible.
109631 2001-12-10  Jim Meyering  <meyering@lucent.com>
109633         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
109634         xrealloc, Instead, include "xalloc.h".
109635         (initbuffer): Don't cast xmalloc return value to char*.
109636         (readline): Reword comment.
109637         Don't cast xrealloc return value to char*
109638         Return NULL, not 0.
109640 2001-12-09  Jim Meyering  <meyering@lucent.com>
109642         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
109643         about `signed and unsigned type in conditional expression'.
109644         * lib/posixtm.c (posix_time_parse): Likewise.
109646         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
109648         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
109649         to avoid a pedantic warning.
109651         * lib/getstr.c: Don't include assert.h.
109652         (getstr): Remove warning-evoking assertions.
109653         Return -1 if offset parameter is out of bounds.
109654         Change the type of a local from int to size_t.
109656         * lib/strftime.c (my_strftime_localtime_r): Include this function
109657         definition in the `#if ! HAVE_TM_GMTOFF' block.
109659         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
109660         Include xalloc.h instead.
109662 2001-12-02  Jim Meyering  <meyering@lucent.com>
109664         * lib/tempname.c: Don't declare getenv, thus reverting the change of
109665         2001-11-18.  It's no longer necessary, now that stdlib.h is always
109666         included.
109668         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
109669         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
109671 2001-11-30  Akim Demaille  <akim@epita.fr>
109673         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
109674         before being defined.
109676 2001-11-27  Paul Eggert  <eggert@twinsun.com>
109678         * lib/quotearg.h (quotearg_n, quotearg_n_style):
109679         First arg is int, not unsigned.
109680         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
109681         (SIZE_MAX, UINT_MAX): New macros.
109682         (quotearg_n_options): Abort if N is negative.
109683         Avoid overflow check on hosts where size_t is 64 bits and int
109684         is 32 bits, as overflow is impossible there.
109685         Fix off-by-one typo that caused unnecessary reallocation.
109687 2001-11-27  Jim Meyering  <meyering@lucent.com>
109689         * lib/tempname.c: Merge with version from libc.
109690         * lib/regex.c: Likewise.
109692         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
109693         systems for which STDC_HEADERS is 0, it was not included, resulting in
109694         a warning about an integer-to-pointer conversion problem with getenv.
109695         Reported by Volker Borchert.
109697 2001-11-26  Jim Meyering  <meyering@lucent.com>
109699         * lib/gtod.h: Remove file.
109700         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
109701         * lib/gettimeofday.c: Don't include gtod.h.
109702         (GTOD_init): Remove function.
109703         (rpl_gettimeofday): Do its job here instead, rather than aborting.
109704         Suggestion from Volker Borchert.
109706 2001-11-23  Jim Meyering  <meyering@lucent.com>
109708         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
109709         it.
109710         * lib/hash.c (struct hash_table): Define it here instead.
109712 2001-11-22  Jim Meyering  <meyering@lucent.com>
109714         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
109716 2001-11-20  Jim Meyering  <meyering@lucent.com>
109718         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
109719         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
109721 2001-11-19  Jim Meyering  <meyering@lucent.com>
109723         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
109724         directory.  Use "conftestXXXXXX" as the template.
109725         Suggestion from Paul Eggert.
109727         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
109728         immediately, so the test doesn't mistakenly hit the max-open-files
109729         limit.
109731 2001-11-18  Paul Eggert  <eggert@twinsun.com>
109733         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
109734         (TEMPORARIES): New macro.
109735         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
109736         removes an artificial limitation (e.g. HP-UX 10.20, where
109737         TMP_MAX is 17576).
109739 2001-11-18  Jim Meyering  <meyering@lucent.com>
109741         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
109743 2001-11-18  Jim Meyering  <meyering@lucent.com>
109745         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
109746         on SunOS 4.
109748         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
109749         files will be created before anything else.
109751 2001-11-17  Paul Eggert  <eggert@twinsun.com>
109753         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
109754         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
109756 2001-11-17  Jim Meyering  <meyering@lucent.com>
109758         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
109759         Prompted by a report from Bob Proulx.
109761         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
109762         Instead, require UTILS_FUNC_MKSTEMP.
109764 2001-11-17  Jim Meyering  <meyering@lucent.com>
109766         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
109767         Now, that's done as part of AC_FUNC_STRTOD.
109769 2001-11-17  Jim Meyering  <meyering@lucent.com>
109771         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
109772         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
109773         rather than group writable.  Patch by Juan F. Codagnone.
109775         * lib/readtokens.c: Remove explicit declarations of xmalloc and
109776         xrealloc, Instead, include "xalloc.h".
109778         * lib/mountlist.c: Include unlocked-io.h after all system headers.
109779         Remove explicit declarations of xmalloc, xrealloc,
109780         and xstrdup.  Instead, include "xalloc.h".
109782         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
109783         unlocked-io.h.
109784         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
109785         Likewise.
109786         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
109788         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
109789         Reported by Padraig Brady.
109791         * lib/mkstemp.c: #undef mkstemp.
109792         Include config.h.
109793         (rpl_mkstemp): Rename from mkstemp.
109794         Protoize.
109796 2001-11-16  Jim Meyering  <meyering@lucent.com>
109798         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
109799         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
109800         determine the amount of total physical memory, use pstat_getstatic.
109801         HPUX-11 doesn't define _SC_PHYS_PAGES.
109802         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
109803         If sysconf couldn't be used to determine the amount of available
109804         physical memory, use both pstat_getstatic and pstat_getdynamic.
109805         Based on a patch from Bob Proulx.
109807 2001-11-10  Jim Meyering  <meyering@lucent.com>
109809         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
109810         (jm_PREREQ): Use it.
109812 2001-11-09  Jim Meyering  <meyering@lucent.com>
109814         * m4/jm-macros.m4: Require autoconf-2.52f.
109815         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
109816         Use these AC_-prefixed names, not the AM_-prefixed ones.
109818         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
109820 2001-11-05  Jim Meyering  <meyering@lucent.com>
109822         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
109824 2001-11-04  Jim Meyering  <meyering@lucent.com>
109826         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
109827         $DEFS.
109829 2001-11-03  Jim Meyering  <meyering@lucent.com>
109831         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
109832         of AC_DEFUN.
109834         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
109835         know the name of the variable in the macro definition.
109837 2001-11-03  Jim Meyering  <meyering@lucent.com>
109839         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
109840         in argmatch_to_argument call.
109842         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
109843         argument.
109845         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
109846         e.g., a fault due to an attempt to free a NULL pointer.
109848 2001-11-01  Jim Meyering  <meyering@lucent.com>
109850         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
109851         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
109853 2001-11-01  Jim Meyering  <meyering@lucent.com>
109855         * lib/dirfd.c, lib/dirfd.h: New files.
109856         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
109858         * lib/hash.c (hash_print) [TESTING]: Clean up.
109860 2001-10-22  Paul Eggert  <eggert@twinsun.com>
109862         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
109863         to avoid a warning if -Wall.
109865 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
109867         * README: New file
109868         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
109869         (per RMS's instructions, this is now the canonical source)
109870         * lgpl/, gpl/: New directories.
109872 2001-10-21  Paul Eggert  <eggert@twinsun.com>
109874         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
109876 2001-10-21  Jim Meyering  <meyering@lucent.com>
109878         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
109879         this code would end up calling gettext even in packages built
109880         with --disable-nls.
109881         * lib/getopt.c (_): Likewise.
109882         * lib/regex.c (_): Likewise.
109884 2001-10-20  Paul Eggert  <eggert@twinsun.com>
109886         * m4/error.m4 (jm_PREREQ_ERROR):
109887         Do not invoke AC_CHECK_FUNCS with strerror_r, as
109888         AC_FUNC_STRERROR_R does that.
109889         Check for strerror declaration.
109891         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
109892         are supposed to have them these days.
109893         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
109894         Merge changes from latest Autoconf CVS.
109895         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
109896         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
109897         POSIX decided to standardize on the int flavor of strerror_r.
109899 2001-10-20  Paul Eggert  <eggert@twinsun.com>
109901         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
109902         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
109903         Use strerror_r that is only a macro, even if it is not a function.
109904         (strerror): Check for HAVE_DECL_STRERROR before declaring.
109905         (private_strerror): Use prototypes, not old-style function definition.
109906         (print_errno_message): New function.
109907         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
109908         char*-flavored one.
109909         (error_tail, error, error_at_line): Use it.
109911 2001-10-11  Jim Meyering  <meyering@lucent.com>
109913         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
109914         and quote_n (1, ... to avoid clobbering a buffer.
109916 2001-10-05  Jim Meyering  <meyering@lucent.com>
109918         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
109919         hash-pjw.h.
109920         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
109921         * lib/hash-pjw.h: New file.
109923 2001-09-30  Jim Meyering  <meyering@lucent.com>
109925         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
109926         `struct fsstat' has the `f_fstypename' member.
109927         Use that to define FS_TYPE, which is now used to make
109928         the getfsstat link test tighter.
109930 2001-09-30  Jim Meyering  <meyering@lucent.com>
109932         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
109933         Include <sys/ucred.h>, for Apple Darwin.
109934         Include sys/mount.h and sys/fs_types.h only if available.
109935         (FS_TYPE): Define.
109936         (read_filesystem_list): Use FS_TYPE.
109938 2001-09-29  Paul Eggert  <eggert@twinsun.com>
109940         * lib/exclude.c (excluded_filename): 0 -> false, since it's
109941         a boolean context.
109943 2001-09-29  Jim Meyering  <meyering@lucent.com>
109945         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
109946         [one-argument getmntent function]): Include stdio.h before mntent.h.
109947         SunOS 4.1.x needs it for the declaration of `FILE'.
109948         Patch by Volker Borchert.
109950         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
109951         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
109952         sys/fs_types.h, and make the link-test for getfsstat guard #include
109953         directives with appropriate #if HAVE_*_H tests so that we can
109954         detect getfsstat on Apple Darwin1.3.7 systems.
109955         Reported by Nelson Beebe.
109956         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
109958 2001-09-28  Paul Eggert  <eggert@twinsun.com>
109960         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
109961         #defines strtoimax.  Also treat the other strto* functions
109962         like strtoimax.
109964         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
109965         Check for strtoul and strtoumax,
109966         as those declarations are made even in the signed case.
109967         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
109968         Likewise, for strtol and strtoimax.
109970 2001-09-28  Paul Eggert  <eggert@twinsun.com>
109972         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
109973         #defines strtoimax.  Also treat the other strto* functions
109974         like strtoimax.
109976         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
109977         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
109978         (strtoimax, strtoumax): Do not declare if already defined as a macro.
109980 2001-09-26  Jim Meyering  <meyering@lucent.com>
109982         Most macros in unlocked-io.h had the wrong number of arguments.
109983         * lib/gen-uio: New script.
109984         (USE_UNLOCKED_IO): Define to 1 if not already defined.
109985         * lib/unlocked-io.hin: Remove file.
109986         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
109987         rather than trying to embed it here.
109988         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
109989         Reported by Padraig Brady.
109991 2001-09-25  Volker Borchert  <bt@teknon.de>
109993         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
109994         `result'.
109996 2001-09-24  Jim Meyering  <meyering@lucent.com>
109998         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
110000 2001-09-23  Jim Meyering  <meyering@lucent.com>
110002         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
110003         instead of the mere test for existence of mntent.h.  The latter
110004         would get a false-positive on AIX 3.4 systems.
110005         In the outer getmntent if-block, don't die if neither of the getmntent
110006         tests succeeds.  Instead, just fall through and continue with the
110007         remaining tests.
110009 2001-09-23  Jim Meyering  <meyering@lucent.com>
110011         * lib/mountlist.c: Remove useless parentheses in #if directives.
110012         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
110013         the deprecated MOUNTED symbol is no longer defined in mntent.h.
110015 2001-09-22  Jim Meyering  <meyering@lucent.com>
110017         * m4/gettext.m4: New file.  From gettext.
110018         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
110019         * m4/progtest.m4: Likewise
110020         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
110021         * m4/glibc21.m4: Likewise.
110023         * m4/libintl.m4: Remove.  No longer used.
110025 2001-09-22  Jim Meyering  <meyering@lucent.com>
110027         * lib/localcharset.c: Update from latest gettext.
110028         * lib/config.charset: Likewise.
110030 2001-09-20  Jim Meyering  <meyering@lucent.com>
110032         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
110033         strtoimax.
110034         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
110035         strtoumax.
110037 2001-09-20  Jim Meyering  <meyering@lucent.com>
110039         * lib/xstrtol.c (strtoimax): Guard declaration with
110040         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
110041         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
110042         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
110043         (strtoumax): Likewise, for completeness (it wasn't necessary).
110045 2001-09-17  Paul Eggert  <eggert@twinsun.com>
110047         * lib/strtoimax.c (HAVE_LONG_LONG):
110048         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
110049         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
110050         to work around bug in IBM C compiler.
110052 2001-09-17  Jim Meyering  <meyering@lucent.com>
110054         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
110055         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
110056         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
110057         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
110058         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
110059         whenever the right hand side need not be expanded by the shell.
110061 2001-09-16  Paul Eggert  <eggert@twinsun.com>
110063         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
110064         library.  It's not correct, as some older glibcs are buggy.
110065         fnmatch wasn't fixed until glibc 2.2.
110067         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
110068         special shell magic here.
110070 2001-09-16  Jim Meyering  <meyering@lucent.com>
110072         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
110073         * m4/jm-macros.m4: Require it.
110075 2001-09-16  Jim Meyering  <meyering@lucent.com>
110077         * lib/mkdir.c: New file.
110079 2001-09-15  Jim Meyering  <meyering@lucent.com>
110081         * m4/jm-macros.m4: Check for help2man.
110083 2001-09-11  Jim Meyering  <meyering@lucent.com>
110085         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
110086         The body, by Paul Eggert, was moved here from configure.in.
110087         * m4/jm-macros.m4: Require UTILS_HOST_OS.
110089 2001-09-04  Paul Eggert  <eggert@twinsun.com>
110091         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
110092         (jm_PREREQ): Use it.
110094 2001-09-04  Paul Eggert  <eggert@twinsun.com>
110096         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
110097         Use ssize_t, not int, to store result of readlink.
110098         Check for ssize_t overflow as well as size_t overflow,
110099         as POSIX says the result of readlink is implementation-defined
110100         when ssize_t overflows.
110101         Remove unnecessary cast to char*.
110102         Use free+malloc instead of realloc, as the storage doesn't need
110103         to be preserved and it's clearer and can be more efficient that way.
110104         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
110105         * lib/xreadlink.h (xreadlink): Update prototype.
110107 2001-09-04  Paul Eggert  <eggert@twinsun.com>
110109         * lib/xgetcwd.c: Revert some of the previous change; intead,
110110         fix the HAVE_GETCWD_NULL code to behave more like the
110111         !HAVE_GETCWD_NULL code used to.
110113         Include "xalloc.h".
110114         (xgetcwd): Do not return NULL when memory is exhausted; instead,
110115         invoke xalloc_die.
110117 2001-09-03  Paul Eggert  <eggert@twinsun.com>
110119         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
110120         sys/param.h, as pathmax.h includes them.
110122 2001-09-03  Paul Eggert  <eggert@twinsun.com>
110124         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
110125         (jm_PREREQ_XGETCWD): New macro.
110127         * m4/getcwd.m4: New file.
110129 2001-09-03  Paul Eggert  <eggert@twinsun.com>
110131         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
110132         like the HAVE_GETCWD_NULL code.
110133         Include pathmax.h if not HAVE_GETCWD.
110134         Do not include xalloc.h.
110135         (INITIAL_BUFFER_SIZE): New symbol.
110136         Do not use xmalloc / xrealloc, since the caller is responsible for
110137         handling errors.  Preserve errno around `free' during failure.
110138         Do not overrun buffer when using getwd.
110140 2001-09-03  Paul Eggert  <eggert@twinsun.com>
110142         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
110143         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
110144         getcwd (NULL, 0).
110146 2001-09-03  Paul Eggert  <eggert@twinsun.com>
110148         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
110149         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
110150         spotted by Jim Meyering.
110152 2001-09-03  Jim Meyering  <meyering@lucent.com>
110154         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
110155         failure.
110157 2001-09-02  Jim Meyering  <meyering@lucent.com>
110159         * lib/error.c: Update from GNU libc.
110161 2001-09-01  Jim Meyering  <meyering@lucent.com>
110163         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
110164         Used by df.
110166 2001-09-01  Jim Meyering  <meyering@lucent.com>
110168         * lib/xreadlink.c: New file.
110169         * lib/xreadlink.h: New file.
110170         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
110171         xreadlink.h.
110173         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
110174         doesn't conflict with sparc Solaris 7's definition in
110175         /usr/include/sys/int_types.h.
110177         * lib/exclude.c: Use `""', not `<>' to #include non-system header
110178         files.
110179         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
110180         and strncasecmp as r-values.  Unixware didn't have declarations.
110182 2001-08-31  Paul Eggert  <eggert@twinsun.com>
110184         * lib/xstrtol.h: Add copyright notice.
110185         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
110186         LONGINT_INVALID_SUFFIX_CHAR.
110188 2001-08-31  Paul Eggert  <eggert@twinsun.com>
110190         * lib/xstrtol.c (strtoimax): New decl.
110192 2001-08-31  Paul Eggert  <eggert@twinsun.com>
110194         * lib/xgetcwd.c: Don't include pathmax.h.
110195         Include stdlib.h and unistd.h if available.
110196         Include xalloc.h.
110197         (xmalloc, xstrdup, free): Remove decls.
110198         (xgetcwd): Don't assume sizes fit in unsigned.
110199         Check for overflow when computing sizes.
110200         Simplify reallocation code.
110202 2001-08-31  Paul Eggert  <eggert@twinsun.com>
110204         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
110205         a directory's st_size can have an arbitrary value, so the old
110206         usage could waste an arbitrary amount of memory.  All uses
110207         changed.
110208         * lib/savedir.h: Update prototype.
110210 2001-08-31  Paul Eggert  <eggert@twinsun.com>
110212         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
110214         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
110215         old strtoimax.c.
110217         Also, make the following further changes to make this file's
110218         configuration more similar to that of strtol.c:
110219         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
110220         (strtoumax, uintmax_t, strtoull, strtol): Remove.
110221         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
110222         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
110223         changed to signed values.
110225         And make the following changes as well:
110226         Fix copyright notice, as 1999 was missing.
110227         (verify): New macro.
110228         (strtoimax): Check sizes at compile-time, not run-time.
110229         Prefer strtol to strtoll if both work.
110230         (main): Remove; it was not that useful and was a pain to maintain.
110232         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
110234 2001-08-31  Jim Meyering  <meyering@lucent.com>
110236         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
110237         Use an initial, malloc'd, buffer of length 128 rather than
110238         a statically allocated one of length 1024.
110240 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110242         Simplify code, partly by assuming autoconf 2.52 semantics.
110244         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
110246         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
110247         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
110248         All uses removed.
110249         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
110250         Move AC_REQUIRE to next-to-top level, to avoid confusion.
110251         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
110252         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
110253         jm_AC_HEADER_INTTYPES_H.
110254         * m4/jm-macros.m4 (jm_MACROS): Likewise.
110256         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
110258         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
110259         Quote first arg of AC_DEFUN.
110260         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
110261         since they are needed to parse the include file even if we need
110262         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
110263         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
110264         but with opposite signedness.
110266 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110268         Merge 'exclude' changes from tar 1.13.22.
110269         This fixes one or two unlikely storage allocation overflow bugs,
110270         but doesn't change user-visible behavior otherwise.
110272 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110274         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
110275         (jm_PREREQ_EXCLUDE): New macro.
110277 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110279         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
110280         tm to be declared.
110282 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110284         * lib/hash.c: Remove '2001' from copyright notice.
110286 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110288         * lib/full-write.h: New file.
110289         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
110290         * lib/full-write.c: Correct credits, as cccp.c no longer
110291         exists and anyway it was so heavily changed from the old cccp
110292         code as to be unrecognizable.  Include full-write.h.
110293         (full_write): Return size_t, with short writes meaning failure.
110294         All callers changed.  This fixes a bug with large buffers
110295         on 64-bit hosts.
110296         * lib/utime.c: Include full-write.h.
110298 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110300         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
110301         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
110302         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
110303         Include if available.
110304         (<xalloc.h>): Include
110305         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
110306         (verify): New macro.  Use it to verify that EXCLUDE macros do not
110307         collide with FNM macros.
110308         (struct patopts): New struct.
110309         (struct exclude): Use it, as exclude patterns now come with options.
110310         (new_exclude): Support above changes.
110311         (new_exclude, add_exclude_file):
110312         Initial size must now be a power of two to simplify overflow checking.
110313         (free_exclude, fnmatch_no_wildcards): New function.
110314         (excluded_filename): No longer requires options arg, as the options
110315         are determined by add_exclude.  Now returns bool, not int.
110316         (excluded_filename, add_exclude):
110317         Add support for the fancy new exclusion options.
110318         (add_exclude, add_exclude_file): Now takes int options arg.
110319         Check for arithmetic overflow when computing sizes.
110320         (add_exclude_file): xrealloc might modify errno, so don't
110321         realloc until after errno might be used.
110323         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
110324         New macros.
110325         (free_exclude): New decl.
110326         (add_exclude, add_exclude_file): Now takes int options arg.
110327         (excluded_filename): No longer requires options arg, as the options
110328         are determined by add_exclude.  Now returns bool, not int.
110330 2001-08-30  Paul Eggert  <eggert@twinsun.com>
110332         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
110334 2001-08-27  Jim Meyering  <meyering@lucent.com>
110336         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
110338         * lib/version-etc.c (N_): Remove definition.
110339         Revert most of last change.
110340         Instead, simply don't mark the `Copyright...' string for translation.
110341         Based on advice from Paul Eggert.
110343         * lib/strtoxmax.c: Tweak comment.
110345 2001-08-26  Jim Meyering  <meyering@lucent.com>
110347         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
110349         * m4/xstrtoimax.m4: New file.
110350         * m4/xstrtoumax.m4: Add comments explaining why we
110351         AC_REPLACE_FUNCS(strtol).
110353 2001-08-26  Jim Meyering  <meyering@lucent.com>
110355         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
110356         of copyright with `%s' so translators don't get an untranslated
110357         message in 2002.
110358         (COPYRIGHT_YEAR): Define.
110359         (version_etc): Use fprintf rather than fputs.
110360         Suggestion from Ulrich Drepper.
110362         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
110364         * lib/strtoll.c: New file, from GNU libc.
110365         * lib/xstrtoimax.c: New file.
110367         * lib/xstrtol.h: Add xstrtoimax.
110368         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
110369         * lib/strtoimax.c: New file.  Likewise, but first define
110370         STRTOUXMAX_SIGNED.
110372         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
110373         ...
110374         * lib/strtoxmax.c: ... then renamed to this.
110376 2001-08-18  Paul Eggert  <eggert@twinsun.com>
110378         * m4/inttypes.m4: Add AC_PREREQ(2.13).
110379         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
110380         (jm_AC_TYPE_INTMAX_T): New macro.
110381         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
110383         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
110385         * m4/longlong.m4: Renamed from ulonglong.m4.
110386         * m4/inttypes.m4: Renamed from inttypes_h.m4.
110387         * m4/uintmax_t.m4: Removed.
110389 2001-08-13  Paul Eggert  <eggert@twinsun.com>
110391         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
110392         Port to Solaris 8, where 'sed' requires a space after the 'r'
110393         command, and where sh dislikes "$/".  Clean up the spacing a bit.
110394         Redirect output to $tmp just once.
110396 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
110398         * lib/addext.c (<errno.h>): Include.
110399         (errno): Declare if not defined.
110400         (addext): Work correctly when pathconf returns -1 and leaves
110401         errno alone because there is no limit.  Also, work even if
110402         pathconf returns a value greater than SIZE_MAX.
110404 2001-08-12  Jim Meyering  <meyering@lucent.com>
110406         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
110407         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
110408         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
110409         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
110410         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
110411         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
110412         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
110413         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
110414         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
110415         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
110416         utime.m4, utimes.m4, xstrtoumax.m4:
110417         Quote the first argument in each use of AC_DEFUN.
110419 2001-08-12  Jim Meyering  <meyering@lucent.com>
110421         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
110422         Simply `return getcwd (NULL, 0);'.
110423         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
110424         Use 1300 as initial value for length, not PATH_MAX.
110426         * lib/pathmax.h: Clean up cpp syntax.
110428 2001-08-12  Jim Meyering  <meyering@lucent.com>
110430         * lib/gettimeofday.c: New file.
110431         * lib/gtod.h: New file.
110432         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
110434 2001-08-05  Jim Meyering  <meyering@lucent.com>
110436         * m4/jm-macros.m4: Require autoconf-2.52.
110438 2001-08-04  Jim Meyering  <meyering@lucent.com>
110440         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
110441         stmt, to get in sync with glibc.
110443 2001-08-03  Paul Eggert  <eggert@twinsun.com>
110445         The following changes are from gettext 0.10.39 as maintained by
110446         Bruno Haible.
110448         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
110449         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
110450         with inverted sense.  All uses changed.
110452         * lib/mbswidth.c: Don't include <limits.h>.
110453         Include <stdlib.h> and <string.h> unconditionally.
110454         (iswcntrl, mbsinit, ISCNTRL): New macros.
110455         (mbsnwidth): Use K&R style function declarations.
110456         Don't bother checking for MB_LEN_MAX == 1, since the compiler
110457         can optimize it when MB_CUR_MAX == 1.
110458         The width of control characters is zero, not 1.
110460 2001-08-03  Paul Eggert  <eggert@twinsun.com>
110462         The following changes are from gettext 0.10.39 as maintained by
110463         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
110465         * m4/codeset.m4: Upgrade to serial AM1.
110466         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
110467         all uses changed.  Quote first arg of AC_DEFUN.
110468         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
110470         * m4/iconv.m4: Upgrade to serial AM2.
110471         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
110472         Add --with-libconv-prefix.
110473         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
110474         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
110475         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
110476         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
110477         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
110479         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
110480         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
110481         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
110482         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
110483         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
110484         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
110485         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
110486         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
110487         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
110489         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
110490         string.h any more.
110492         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
110493         not the default value.
110495         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
110496         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
110497         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
110498         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
110499         Also check for iswcntrl, used for wcwidth fallback.
110500         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
110501         to Autoconf 2.13.
110503 2001-08-03  Jim Meyering  <meyering@lucent.com>
110505         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
110506         as it was in the original.  Reported by Paul Eggert.
110508 2001-07-16  Jim Meyering  <meyering@lucent.com>
110510         * m4/gettimeofday.m4: New file.
110511         Prompted by a report from Bernhard Baehr.
110513 2001-07-15  Jim Meyering  <meyering@lucent.com>
110515         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
110516         stuff. Now it's in ../Makefile.cfg.
110518 2001-07-15  Jim Meyering  <meyering@lucent.com>
110520         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
110521         (BUILT_SOURCES): Add unlocked-io.h.
110522         (io_functions): Define.
110523         (unlocked-io.h): New rule.
110524         (DISTCLEANFILES): Add unlocked-io.h.
110525         (all-local): Depend on unlocked-io.h, to ensure it is created.
110527         * lib/unlocked-io.hin: New file
110529         * lib/regex.c: Update from glibc.
110531 2001-07-05  Jim Meyering  <meyering@lucent.com>
110533         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
110534         recommendation.
110535         (libfetish_a_SOURCES): Put all .h files here instead.
110536         Remove a thus-exposed (better checks in automake) duplicate and
110537         two unnecessary .h files.
110539 2001-07-04  Jim Meyering  <meyering@lucent.com>
110541         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
110542         that generates jm-glibc-io.m4 so that it doesn't trigger any make
110543         distcheck failure.
110545 2001-07-02  Jim Meyering  <meyering@lucent.com>
110547         The following changes were prompted by suggestions from Bruno Haible.
110549         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
110550         is now generated.
110551         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
110552         definition of EXTRA_DIST.
110553         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
110554         ensure that the generated file is created/updated whenever the list
110555         of $(unlocked_functions) is changed.
110556         (jm-glibc-io.m4): New rule.
110557         (unlocked-io.h): New rule -- currently unused.
110559 2001-06-24  Jim Meyering  <meyering@lucent.com>
110561         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
110562         unmatched right bracket, rather than kludging it with an extra,
110563         falsely-matching quote in a comment.  Patch by Akim Demaille.
110565 2001-06-11  Jim Meyering  <meyering@lucent.com>
110567         * lib/regex.c: Update from GNU libc.
110569 2001-05-27  Jim Meyering  <meyering@lucent.com>
110571         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
110572         Check for ut_type in struct utmp.
110574 2001-05-27  Jim Meyering  <meyering@lucent.com>
110576         * lib/readutmp.h (UT_TYPE): Define.
110578 2001-05-24  Jim Meyering  <meyering@lucent.com>
110580         * lib/argmatch.c: Include "quote.h".
110581         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
110582         quote function.  Reported by Göran Uddeborg.
110584 2001-05-22  Jim Meyering  <meyering@lucent.com>
110586         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
110587         now that we use the package-supplied version unconditionally.
110588         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
110590 2001-05-21  Jim Meyering  <meyering@lucent.com>
110592         * m4/regex.m4: Change a couple backticks to single quotes to avoid
110593         shell syntax errors.
110595 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
110597         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
110599 2001-05-20  Paul Eggert  <eggert@twinsun.com>
110601         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
110602         Don't bother to check library strftime, since
110603         we'll be using our own my_strftime function anyway.
110604         Define my_strftime instead of strftime.
110606 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
110608         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
110609         which is not yet declared.
110611 2001-05-15  Jim Meyering  <meyering@lucent.com>
110613         * m4/regex.m4: Use proper quoting so brackets appear in the test
110614         program.
110615         Reported by, and with help from, Bruno Haible.
110617 2001-05-13  Jim Meyering  <meyering@lucent.com>
110619         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
110620         undefined.
110622 2001-05-11  Paul Eggert  <eggert@twinsun.com>
110624         dirname code cleanup.  base_name now behaves more compatibly
110625         with POSIX basename when given file names that have trailing
110626         slashes, and similarly for dir_name.  Add new primitives
110627         base_len and dir_len.  Put the directory-name-related decls
110628         into dirname.h.
110630         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
110631         * lib/backupfile.c (base_name): Likewise.
110632         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
110633         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
110634         * lib/makepath.c (strip_trailing_slashes): Likewise.
110635         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
110636         ISSLASH): Likewise.
110637         * lib/rename.c (strip_trailing_slashes): Likewise.
110638         * lib/same.c (base_name): Likewise.
110639         * lib/stripslash.c (ISSLASH): Likewise.
110641         * lib/addext.c: Include <dirname.h> after size_t is defined.
110642         * lib/backupfile.c: Likewise.
110644         * lib/addext.c (addext): Use base_len to trim redundant
110645         trailing slashes instead of doing it ourselves.
110646         But do not trim the last slash if it is not redundant.
110648         * lib/backupfile.c (find_backup_file_name,
110649         max_backup_version): Use base_len instead of rolling it ourselves.
110650         Handle the case of "" and (on DOS) "C:" correctly.
110652         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
110653         needed. Include <string.h>, <dirname.h>.
110654         (base_name): Allow file names ending in slashes, other than names
110655         that are all slashes.  In this case, return the basename followed
110656         by the slashes.  This is more general, and can be used in places
110657         where the original base_name purposely had an assertion failure.
110658         (base_len): New function.
110660         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
110661         Do not include <assert.h>; no longer needed.
110662         Include xalloc.h.
110663         (memrchr): Remove decl.
110664         (dir_name_r): Remove.
110665         (dir_len): Renamed from dirlen.  All callers changed.
110666         Rewrite in terms of base_name, for simplicity and consistency.
110667         (dir_name): Never return NULL.  All callers changed.
110668         Do not include <stdlib.h> in test program; no longer needed.
110669         return 0; is fine for test program.
110671         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
110672         New macros.
110673         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
110675         * lib/path-concat.c (path_concat): Use base_len to compute
110676         base length, not strlen; this means we cannot rely on memcpy
110677         to null-terminate.
110679         * lib/same.c (STREQ): Remove.
110680         (same_name): Handle the case where the basename ends in trailing '/'.
110682         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
110683         a slash was stripped.  Do not strip the last slash after a
110684         file system prefix.
110686 2001-05-11  Paul Eggert  <eggert@twinsun.com>
110688         * lib/Makefile.am (libfetish_a_SOURCES):
110689         Add strftime.c, since we now compile it on all hosts.
110691         * lib/strftime.c (my_strftime):
110692         Define to nstrftime if emacs, but only if my_strftime is not defined.
110693         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
110694         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
110695         Add one more extra argument: a nanoseconds value.
110696         All uses changed.
110697         (ns): New macro.
110698         (my_strftime function): Add %N format.
110699         (emacs_strftimeu): Renamed from emacs_strftime,
110700         with extra ut argument.
110702 2001-05-09  Paul Eggert  <eggert@twinsun.com>
110704         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
110706 2001-04-21  Jim Meyering  <meyering@lucent.com>
110708         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
110709         doesn't interfere.
110711 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
110713         * m4/ftruncate.m4: Check for chsize.
110714         Link with ftruncate.o unconditionally if ftruncate is missing.
110715         This was required when cross-compiling to i586-mingw32msvc.
110717 2001-04-08  Jim Meyering  <meyering@lucent.com>
110719         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
110720         recomputed; that's necessary when the offset spans a DST transition.
110721         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
110723 2001-04-02  Jim Meyering  <meyering@lucent.com>
110725         * lib/regex.h, regex.c: Update from GNU libc.
110727 2001-03-24  Jim Meyering  <meyering@lucent.com>
110729         * m4/jm-macros.m4: Require autoconf-2.49d.
110731 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
110733         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
110735 2001-03-19  Paul Eggert  <eggert@twinsun.com>
110737         * lib/version-etc.c (version_etc_copyright): Update to 2001.
110739 2001-03-17  Jim Meyering  <meyering@lucent.com>
110741         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
110742         now that the version in autoconf is equivalent.
110743         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
110745         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
110746         Suggestion from Akim Demaille.
110748         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
110749         (jm_PREREQ_TEMPNAME): New function.
110751 2001-03-16  Paul Eggert  <eggert@twinsun.com>
110753         * lib/tempname.c (uint64_t): Define to uintmax_t if
110754         not defined, and if UINT64_MAX is not defined.
110755         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
110756         Reported by John David Anglin.
110758 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
110760         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
110761         resolve alias if codeset is empty.
110762         * lib/config.charset (BeOS): Use wildcard syntax.
110764 2001-03-13  Jim Meyering  <meyering@lucent.com>
110766         * lib/path-concat.c (path_concat)
110767         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
110768         concatenating e.g., `C:' and `foo'.
110769         From Bruno Haible.
110771 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
110773         * lib/localcharset.c (locale_charset): Don't use
110774         setlocale(LC_CTYPE,NULL). Don't return NULL.
110775         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
110777 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
110779         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
110780         support for DOS/DJGPP.
110782 2001-03-01  Paul Eggert  <eggert@twinsun.com>
110784         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
110785         lacks mkstemp.  Compile our own tempname.c if we compile our own
110786         mkstemp.c, as mkstemp relies on tempname.
110788 2001-03-01  Jim Meyering  <meyering@lucent.com>
110790         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
110791         AH_VERBATIM really does output its argument verbatim.
110793 2001-02-28  Paul Eggert  <eggert@twinsun.com>
110795         * lib/Makefile.am (libfetish_a_SOURCES):
110796         Add dup-safer.c, fopen-safer.c.
110797         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
110799         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
110800         * lib/unistd-safer.h: New files.
110802 2001-02-25  Paul Eggert  <eggert@twinsun.com>
110804         The mkstemp replacement is taken from glibc 2.2.2, with some
110805         portability fixes for use outside glibc, as follows:
110807         * lib/tempname.c (struct_stat64): New macro.
110808         (direxists, __gen_tempname): Use it.
110809         This avoids a portability problem with Solaris 8.
110811         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
110812         (<stddef.h>, <stdint.h>, <string.h>):
110813         Include only if STDC_HEADERS || _LIBC.
110814         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
110815         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
110816         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
110817         (__set_errno): Define this macro if <errno.h> doesn't.
110818         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
110819         Define these macros if <stdio.h> doesn't.
110820         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
110821         Define these macros if <sys/stat.h>
110822         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
110823         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
110824         __xstat64): Define if not _LIBC.
110825         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
110826         (__gen_tempname): Invoke gettimeofday only if
110827         HAVE_GETTIMEOFDAY || _LIBC;
110828         otherwise, fall back on plain "time".
110829         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
110831         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
110833         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
110835 2001-02-18  Paul Eggert  <eggert@twinsun.com>
110837         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
110839 2001-02-17  Paul Eggert  <eggert@twinsun.com>
110841         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
110842         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
110843         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
110844         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
110846 2001-02-17  Paul Eggert  <eggert@twinsun.com>
110848         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
110849         Remove workaround macros for hosts that have mbrtowc but not
110850         mbstate_t, as we now insist on proper declarations for both
110851         before using mbrtowc.
110853 2001-02-17  Jim Meyering  <meyering@lucent.com>
110855         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
110856         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
110857         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
110858         UnixWare 7.1.1.
110860         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
110861         rather than AC_CACHE_VAL.
110863 2001-02-17  Jim Meyering  <meyering@lucent.com>
110865         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
110866         around included file name.
110868         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
110870         * lib/strftime.c: Update from GNU libc (the only changes were to
110871         comments).
110873 2001-02-17  Jim Meyering  <meyering@lucent.com>
110875         * lib/regex.c: Update from libc.
110877 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
110879         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
110880         clash.
110882 2001-02-16  Paul Eggert  <eggert@twinsun.com>
110884         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
110885         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
110886         Reported by Mark Hounschell via Paul Eggert.
110888 2001-02-07  Jim Meyering  <meyering@lucent.com>
110890         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
110892 2001-02-05  Jim Meyering  <meyering@lucent.com>
110894         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
110895         it includes the patch required for `large file' support with at least
110896         HP-UX's 10.20 /bin/cc.
110898 2001-02-03  Jim Meyering  <meyering@lucent.com>
110900         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
110901         AS_IF, now that it works once again (mysteriously).
110902         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
110904 2001-01-30  Jim Meyering  <meyering@lucent.com>
110906         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
110907         * m4/chown.m4: Rename conftestchown to conftest.chown.
110908         * m4/rename.m4: s/conftestdir/conftest.d1/ and
110909         s/conftestdir2/conftest.d2/.
110910         * m4/utimes.m4: s/conftestdata/conftest.data/
110911         Inspired by Pavel Roskin's change in autoconf.
110913 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
110915         * lib/config.charset: Update for FreeBSD 4.2.
110917 2001-01-27  Jim Meyering  <meyering@lucent.com>
110919         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
110920         a use of AS_IF.
110921         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
110923 2001-01-26  Jim Meyering  <meyering@lucent.com>
110925         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
110926         quotearg.c includes it.
110928 2001-01-26  Jim Meyering  <meyering@lucent.com>
110930         * lib/quotearg.c: Include stddef.h.
110931         * lib/quote.c: Include stddef.h.
110932         Reported by Axel Kittenberger.
110934         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
110935         line in double quotes so that it evokes a better diagnostic.
110936         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
110937         Reported by Axel Kittenberger.
110939 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
110941         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
110942         as if it was a `charset'.
110944 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
110946         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
110947         has const.
110949 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
110951         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
110952         to avoid a warning.  Add back 'const' to inptr.
110954 2001-01-20  Jim Meyering  <meyering@lucent.com>
110956         Be sure that headers are checked before used in code compiled
110957         for the type checks.
110958         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
110959         In place of that, invoke jm_CHECK_ALL_TYPES.
110960         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
110961         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
110962         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
110963         The check for ssize_t was mistakenly run before the test for unistd.h.
110965         The configure-time check for stdbool.h was missing.
110966         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
110967         (jm_PREREQ_HASH): New function.
110969 2001-01-17  Jim Meyering  <meyering@lucent.com>
110971         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
110972         for autoconf-2.49c.
110973         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
110975 2001-01-16  Jim Meyering  <meyering@lucent.com>
110977         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
110978         From Bruno Haible.
110980 2001-01-14  Jim Meyering  <meyering@lucent.com>
110982         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
110983         foo and bar.  Create conftestdir/ in the script, not in the C code.
110984         Remove directories in the script, not in the C code.
110985         Remove conftestdir{,2} before trying to create the directory.
110986         Make the entire configure script fail if the mkdir fails.
110988 2001-01-14  Jim Meyering  <meyering@lucent.com>
110990         * lib/rename.c: New file.  From Volker Borchert.
110991         Include stdlib.h, string.h or strings.h, and xalloc.h.
110992         Use strip_trailing_slashes rather than open-coding it.
110994 2001-01-03  Paul Eggert  <eggert@twinsun.com>
110996         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
110998 2001-01-03  Jim Meyering  <meyering@lucent.com>
111000         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
111001         of local `inptr' to avoid warning with some system declarations of
111002         iconv.
111004 2001-01-02  Volker Borchert  <bt@teknon.de>
111006         * m4/rename.m4: New file.
111007         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
111009 2001-01-01  Jim Meyering  <meyering@lucent.com>
111011         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
111012         even on systems with utmpx.h.  It's necessary for the declaration of
111013         utmp's ut_user member.  Reported by Andreas Jaeger.
111015         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
111016         available. They are required for the declarations of getgrgid and
111017         getpwuid resp.
111018         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
111019         Reported by Andreas Jaeger.
111021 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
111023         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
111024         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
111025         so `make install' also works in VPATH builds.
111027 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
111029         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
111030         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
111031         can be used in subdirectories.
111033 2000-12-29  Paul Eggert  <eggert@twinsun.com>
111035         * lib/modechange.c: Do not assume that mode_t uses the
111036         traditional octal encoding.  E.g. "chmod 1 FOO" should set
111037         the other-execute bit of FOO even if S_IXOTH != 1.
111039         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
111040         WOTH, XOTH, ALLM): New macros.
111041         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
111042          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
111043         Use them.
111044         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
111045         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
111046         (mode_compile):
111047         No need to use uintmax_t; unsigned long is long enough.
111048         Don't bother to get suffix since we don't use it.
111050 2000-12-26  Jim Meyering  <meyering@lucent.com>
111052         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
111053         better with autoheader.
111055 2000-12-24  Jim Meyering  <meyering@lucent.com>
111057         * lib/hash.c (is_prime): Return explicit boolean values.
111058         (hash_get_first): Return NULL to appease Irix5.6's 89.
111059         Reported by Nelson Beebe.
111061 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
111063         * lib/localcharset.c (locale_charset): Add support for Win32.
111065 2000-12-18  Paul Eggert  <eggert@twinsun.com>
111067         * lib/physmem.h, lib/physmem.c: New files.
111069         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
111070         (noinst_HEADERS): Add physmem.h.
111072         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
111073         't' for compatibility with Solaris 8 sort.
111075 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
111077         * lib/config.charset: Add support for BeOS.
111079 2000-12-17  Jim Meyering  <meyering@lucent.com>
111081         * m4/dos.m4 (jm_AC_DOS): New file and macro.
111082         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
111084 2000-12-16  Jim Meyering  <meyering@lucent.com>
111086         This bug had a serious impact on chown: `chown N:M FILE' (for integer
111087         N and M) would have treated it like `chown N:N FILE'.
111089         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
111091 2000-12-16  Jim Meyering  <meyering@lucent.com>
111093         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
111094         SHELLS_FILE to a file name that's useful on djgpp systems.
111095         Include stdlib.h.
111096         (ADDITIONAL_DEFAULT_SHELLS): Define.
111097         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
111098         Based mostly on a patch from Prashant TR.
111100 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
111102         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
111103         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
111104         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
111106 2000-12-08  Andreas Schwab  <schwab@suse.de>
111108         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
111109         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
111111 2000-12-07  Jim Meyering  <meyering@lucent.com>
111113         * lib/stripslash.c (ISSLASH): Define.
111114         (strip_trailing_slashes): Use ISSLASH rather than comparing against
111115         `/'.
111116         From Prashant TR.
111118         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
111119         (dir_name_r): Declare this function as static.
111120         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
111121         manifest itself on a name containing a mix of slashes and
111122         backslashes.
111123         Make this function work with names starting with a DOS-style
111124         drive letter and colon prefix.
111125         (dir_name): Append `.' if necessary.
111126         Based mostly on patches from Prashant TR and Eli Zaretskii.
111128         * lib/dirname.h (dir_name_r): Remove prototype.
111130 2000-12-06  Paul Eggert  <eggert@twinsun.com>
111132         * m4/off_t-format.m4: Remove this file.
111133         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
111135 2000-12-06  Jim Meyering  <meyering@lucent.com>
111137         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
111138         replacement strtoull, we may well need the replacement strtoul, too.
111139         Check for declarations of strtoul and strtoull.
111140         Check for strtol.  Mainly as a cue to cause automake to include
111141         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
111142         Check for limits.h -- strtol.c needs it.
111144 2000-12-05  Jim Meyering  <meyering@lucent.com>
111146         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
111148 2000-12-04  Jim Meyering  <meyering@lucent.com>
111150         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
111151         Also include memory.h, stdlib.h, unistd.h if appropriate.
111152         Reported by Andreas Jaeger (conflicting declaration of malloc).
111154 2000-12-02  Jim Meyering  <meyering@lucent.com>
111156         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
111157         * m4/jm-macros.m4 (jm_MACROS): require it.
111159 2000-12-02  Jim Meyering  <meyering@lucent.com>
111161         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
111163 2000-12-01  Paul Eggert  <eggert@twinsun.com>
111165         * lib/memrchr.c: Include <config.h> before any system include file.
111167 2000-11-30  Jim Meyering  <meyering@lucent.com>
111169         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
111171 2000-11-30  Jim Meyering  <meyering@lucent.com>
111173         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
111175 2000-11-29  Paul Eggert  <eggert@twinsun.com>
111177         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
111179 2000-11-26  Jim Meyering  <meyering@lucent.com>
111181         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
111183 2000-11-22  Paul Eggert  <eggert@twinsun.com>
111185         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
111186         size of (size_t) -1; it's not portable.
111188 2000-11-17  Jim Meyering  <meyering@lucent.com>
111190         * lib/strstr.c: Update from GNU libc.
111192 2000-11-17  Akim Demaille  <akim@epita.fr>
111194         * lib/obstack.h: Formatting changes.
111195         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
111196         prevent type checking.
111197         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
111198         cast the value to (void *): assigning a `foo *' to a `void *'
111199         variable is valid.
111200         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
111202 2000-11-16  Jim Meyering  <meyering@lucent.com>
111204         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
111206 2000-11-11  Jim Meyering  <meyering@lucent.com>
111208         * lib/error.c: Add a couple #includes, merging from GNU libc version.
111210 2000-11-10  Jim Meyering  <meyering@lucent.com>
111212         * lib/obstack.h: Update from GNU libc.
111213         * lib/obstack.c: Likewise.
111215 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
111217         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
111219 2000-11-06  Paul Eggert  <eggert@twinsun.com>
111221         * lib/getusershell.c (setusershell): Use rewind rather than
111222         fseek/fseeko, to avoid configuration hassles with fseeko.
111223         Don't bother opening SHELLS_FILE if shellstream is NULL;
111224         it's not necessary.
111226 2000-11-05  Jim Meyering  <meyering@lucent.com>
111228         * lib/makepath.h (make_dir): Declare.
111229         * lib/makepath.c (make_dir): Remove `static' attribute.
111230         Tweak a comment.
111232 2000-11-04  Jim Meyering  <meyering@lucent.com>
111234         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
111236 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
111238         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
111239         last one in a bucket, advance to the next bucket.
111241 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
111243         * lib/fnmatch.c: Do not comment out all the code if we are using
111244         the GNU C library, because in some cases we are replacing buggy
111245         code in the GNU C library itself.
111247 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
111249         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
111250         (regex_compile): Catch bogus \(\1\).
111252 2000-10-30  Paul Eggert  <eggert@twinsun.com>
111254         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
111255         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
111256         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
111258 2000-10-30  Paul Eggert  <eggert@twinsun.com>
111260         * lib/error.h, getline.h, modechange.h:
111261         Remove "2000" from Copyright line, as the file hasn't been
111262         changed this year other than in the copyright notice.
111264         * lib/xalloc.h: Add "2000" to Copyright line, as this file
111265         was changed this year.
111267 2000-10-29  Jim Meyering  <meyering@lucent.com>
111269         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
111270         renaming.
111271         * m4/ls-mntd-fs.m4: Likewise
111273 2000-10-29  Jim Meyering  <meyering@lucent.com>
111275         * lib/xstat.in: Fix grammar in comment.
111277 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
111279         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
111280         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
111281         doesn't define __restrict_arr.
111283 2000-10-28  Jim Meyering  <meyering@lucent.com>
111285         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
111286         (jm_PREREQ_MEMCHR): New function.
111288 2000-10-28  Jim Meyering  <meyering@lucent.com>
111290         * lib/memchr.c: Update from libc.
111291         Adjust for portability:
111292         [HAVE_STDLIB_H]: Include stdlib.h.
111293         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
111294         Undef __memchr, too.
111295         [!weak_alias]: Define __memchr to memchr.
111297         * lib/regex.c: Update from libc.
111298         * lib/regex.h: Likewise.
111299         * lib/getopt1.c: Likewise.
111300         * lib/memcmp.c: Likewise.
111302         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
111303         Avoid using fseek, when possible -- it's broken by design.
111304         Patch by Ulrich Drepper.
111306 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
111308         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
111309         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
111310         Giving in to popular pressure to shut up the compiler with casts.
111312 2000-10-26  Jim Meyering  <meyering@lucent.com>
111314         * lib/strftime.c: Update from libc.
111316 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
111318         * regex.c: More `unsigned char' -> `re_char' changes.
111319         Also change several `int' into `re_wchar_t'.
111320         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
111321         (PUSH_FAILURE_POINTER): Don't cast any more.
111322         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
111323         We want GCC to complain, since this piece of code makes
111324         re_match non-reentrant, which *should* be fixed.
111325         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
111326         (EXTEND_BUFFER): Use RETALLOC.
111327         (SET_LIST_BIT): Don't cast.
111328         (re_wchar_t): New type.
111329         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
111330         that those two functions will always properly return.
111331         (IMMEDIATE_QUIT_CHECK): Cast to void.
111332         (analyse_first): Use recursion rather than an explicit stack.
111333         (re_compile_fastmap): Can't fail anymore.
111334         (re_search_2): Don't check re_compile_fastmap for failure.
111335         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
111336         Now also sets the new value (passed in a new argument).
111337         (re_match_2_internal): Use it.
111338         Also, use a new var `reg' of type size_t when looping through regs
111339         rather than reuse the inappropriate `mcnt'.
111341 2000-10-25  Jim Meyering  <meyering@lucent.com>
111343         * lib/obstack.c: Update from libc.
111345 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
111347         * regex.c (regex_compile): Change the way of handling a range from
111348         a char less than 256 to a char not less than 256.
111350 2000-10-24  Andrew Innes  <andrewi@gnu.org>
111352         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
111353         NT-Emacs only.
111354         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
111355         so that re_search functions only quit when callers expect them to.
111357 2000-10-23  Jim Meyering  <meyering@lucent.com>
111359         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
111360         wrong.  That set_locale call must not have any side effects.
111361         From Paul Eggert.
111363 2000-10-22  Jim Meyering  <meyering@lucent.com>
111365         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
111366         [CYCLIC]: Remove now-unused definition.
111368         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
111369         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
111370         Suggestion from Ulrich Drepper.
111372 2000-10-21  Jim Meyering  <meyering@lucent.com>
111374         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
111375         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
111376         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
111378 2000-10-21  Jim Meyering  <meyering@lucent.com>
111380         * lib/dirname.c (memrchr): Declare if necessary.
111381         (dir_name): Remove the restriction that there be no
111382         trailing slashes.  Now, this code skips past them, effectively
111383         ignoring them.
111384         [TEST_DIRNAME] (main): New unit tests.
111386         * lib/memrchr.c: New file from GNU libc.
111387         Undef __memrchr, too.
111388         [!weak_alias]: Define __memrchr to memrchr.
111389         Guard weak_alias use with `#ifdef weak_alias'.
111391 2000-10-21  Jim Meyering  <meyering@lucent.com>
111393         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
111394         (dir_name): Use dir_name_r.
111395         * lib/dirname.h (dir_name_r): Declare it.
111397 2000-10-17  Jim Meyering  <meyering@lucent.com>
111399         * lib/quote.h (PARAMS): Define and use.
111400         Reported by Akim Demaille.
111402         * lib/getopt.c: Update from libc.
111404 2000-10-16  Jim Meyering  <meyering@lucent.com>
111406         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
111407         setlocale.
111408         From Jan Fedak.
111410 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
111412         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
111414 2000-09-25  Jim Meyering  <meyering@lucent.com>
111416         * lib/md5.h (rol): Define (from GnuPG).
111418         * lib/sha.c: Give credit (GnuPG) where due.
111419         (M): Use rol rather than open-coding it.
111420         Add a FIXME comment.
111422 2000-09-21  Jim Meyering  <meyering@lucent.com>
111424         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
111425         Reported by Michael Stone.
111427 2000-09-20  Jim Meyering  <meyering@lucent.com>
111429         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
111430         (noinst_HEADERS): Add sha.h.
111431         Based on code from Scott G. Miller and from GnuPG.
111433 2000-09-18  Jim Meyering  <meyering@lucent.com>
111435         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
111436         LIBS. Otherwise, everyone ends up linking with -lelf for some
111437         configurations.
111438         Reported by Mike Stone.
111440 2000-09-15  Jim Meyering  <meyering@lucent.com>
111442         * lib/regex.c: Update from libc.
111444 2000-09-10  Jim Meyering  <meyering@lucent.com>
111446         * lib/getopt.c (_getopt_internal): Update from glibc.
111448 2000-09-09  Jim Meyering  <meyering@lucent.com>
111450         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
111451         think it should be used as a general replacement for isascii.
111452         * lib/fnmatch.c: Likewise.
111453         * lib/mbswidth.c: Likewise
111454         * lib/regex.c: Likewise.
111456         Don't use atoi.
111457         * lib/userspec.c: Include sys/param.h and limits.h.
111458         Include xstrtol.h.
111459         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
111460         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
111461         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
111462         UID, GID.  Check range.
111464 2000-09-06  Jim Meyering  <meyering@lucent.com>
111466         * lib/getopt.c (_getopt_internal): Update from glibc.
111468 2000-08-30  Jim Meyering  <meyering@lucent.com>
111470         * lib/strftime.c: Merge in changes from GNU libc.
111472 2000-08-26  Jim Meyering  <meyering@lucent.com>
111474         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
111475         * m4/fpending.m4: New file.
111477 2000-08-26  Jim Meyering  <meyering@lucent.com>
111479         * lib/closeout.c: Include "__fpending.h".
111480         (close_stdout_status): Return right away if there's nothing to flush.
111482         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
111483         * lib/__fpending.c: New file.
111484         * lib/__fpending.h: New file.
111486 2000-08-20  Jim Meyering  <meyering@lucent.com>
111488         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
111489         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
111490         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
111492 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
111494         Improve fileutils installation on systems where running
111495         programs (like install) can't be unlinked.
111496         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
111497         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
111499 2000-08-07  Paul Eggert  <eggert@twinsun.com>
111501         Standardize on "memory exhausted" instead of "Memory exhausted"
111502         or "virtual memory exhausted".
111503         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
111504         "virtual memory exhausted".
111505         * lib/same.c (same_name): Invoke xalloc_die instead of printing
111506         our own message.
111507         * lib/userspec.c (parse_user_spec): Likewise.
111508         * lib/bumpalloc.h: comment fix
111509         * lib/same.c, userspec.c: Include xalloc.h.
111511         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
111512         not char *const and pointing to a constant array.
111513         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
111514         (xrealloc): Comment fix.
111516         * lib/userspec.c (parse_user_spec):
111517         Don't translate a message until just before returning,
111518         to avoid unnecessary translation.
111520 2000-08-07  Jim Meyering  <meyering@lucent.com>
111522         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
111523         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
111524         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
111525         getgroups.c, gethostname.c, getopt.h, group-member.c,
111526         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
111527         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
111528         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
111529         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
111530         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
111531         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
111532         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
111533         yesno.c: Back out Copyright date changes for each file with no change
111534         this year.  This eases coordination with other programs using the same
111535         source code modules.  From Paul Eggert.
111537 2000-08-06  Paul Eggert  <eggert@twinsun.com>
111539         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
111540         not char, for compatibility with glibc 2.1.3 strftime.c.
111542 2000-08-03  Greg McGary  <greg@mcgary.org>
111544         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
111545         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
111546         (EXTEND_BUFFER): Use them.
111548 2000-08-01  Jim Meyering  <meyering@lucent.com>
111550         * lib/dirname.c (ISSLASH): Define.
111551         (BACKSLASH_IS_PATH_SEPARATOR): Define.
111552         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
111553         both `\' and `/' may be use as path separators.
111554         Based on a patch from Prashant TR.
111556 2000-07-31  Paul Eggert  <eggert@twinsun.com>
111558         * lib/quotearg.c (quotearg_n_options): Don't make the initial
111559         slot vector a constant, since it might get modified.
111561 2000-07-31  Jim Meyering  <meyering@lucent.com>
111563         * lib/xmalloc.c: Use `virtual memory exhausted', not
111564         `Memory exhausted'.
111565         * lib/obstack.c (print_and_abort): Likewise.
111567 2000-07-30  Paul Eggert  <eggert@twinsun.com>
111569         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
111570         buffer, so that the caller can always quote one small
111571         component of a "memory exhausted" message in slot 0.
111572         From a suggestion by Jim Meyering.
111574 2000-07-30  Jim Meyering  <meyering@lucent.com>
111576         * lib/makepath.c (make_path): Quote the other instance, too.
111578         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
111579         (STATIC_BUF_SIZE): Define.
111580         (quotearg_n_options): Use only statically allocated storage when
111581         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
111582         than STATIC_BUF_SIZE.
111584 2000-07-29  Jim Meyering  <meyering@lucent.com>
111586         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
111587         * lib/dirname.c (dir_name): Likewise.
111589         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
111590         `/'.
111592         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
111593         (dir_name): Assert that there are no trailing slashes.
111595 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
111597         * lib/mbswidth.h (mbswidth): Add a flags argument.
111598         (mbswidth): New declaration.
111599         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
111600         * lib/mbswidth.c (mbswidth): Add a flags argument.
111601         (mbsnwidth): New function.
111603 2000-07-24  Jim Meyering  <meyering@lucent.com>
111605         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
111607 2000-07-23  Paul Eggert  <eggert@twinsun.com>
111609         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
111611 2000-07-23  Paul Eggert  <eggert@twinsun.com>
111613         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
111614         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
111615         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
111616         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
111617         invoke multibyte primitives.
111619 2000-07-23  Paul Eggert  <eggert@twinsun.com>
111621         * lib/quotearg.c:
111622         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
111623         so that mbstate_t is always defined.
111625         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
111626         be 1 in at least one GCC installation, and this configuration
111627         error is likely to be common.  Ignoring MB_LEN_MAX hurts
111628         performance on hosts that have mbrtowc but have only unibyte
111629         locales, but I assume these hosts are rare.
111631 2000-07-23  Paul Eggert  <eggert@twinsun.com>
111633         * lib/mbswidth.c (_XOPEN_SOURCE):
111634         Don't define; this causes problems on Solaris 7.
111635         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
111637 2000-07-23  Jim Meyering  <meyering@lucent.com>
111639         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
111640         too: getgrgid, getpwuid, getuid.
111642 2000-07-23  Jim Meyering  <meyering@lucent.com>
111644         * lib/basename.c (base_name): Add an assertion.
111646 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
111648         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
111649         shadow its mbsinit function.
111651 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
111653         * lib/mbswidth.h: New file.
111654         * lib/mbswidth.c: New file.
111655         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
111656         (noinst_HEADERS): Add mbswidth.h.
111658 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
111660         * lib/config.charset: Add support for FreeBSD. Improve support for
111661         HP-UX and IRIX 6.
111663 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
111665         * m4/mbswidth.m4: New file.
111666         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
111668 2000-07-15  Jim Meyering  <meyering@lucent.com>
111670         * lib/makepath.c: Include quote.h.
111671         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
111672         corresponding argument in a `quote (...)' call.
111673         Give better diagnostics.
111675         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
111676         (noinst_HEADERS): Add quote.h.
111678         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
111679         from tar's src/misc.c.
111680         * lib/quote.h: New file.  Prototypes for same.
111682 2000-07-14  Paul Eggert  <eggert@twinsun.com>
111684         From a suggestion by Bruno Haible.
111685         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
111686         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
111687         to decide whether to define the BeOS workaround macro;
111688         this adjusts to the change to AC_MBSTATE_T.
111690 2000-07-14  Jim Meyering  <meyering@lucent.com>
111692         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
111693         jm_AC_TYPE_UINTMAX_T.
111695 2000-07-13  Paul Eggert  <eggert@twinsun.com>
111697         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
111699         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
111700         quotearg_buffer_restyled): Add support for
111701         clocale_quoting_style.  Undo previous change to
111702         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
111703         and "{RIGHT QUOTATION MARK}" msgids.
111705 2000-07-10  Paul Eggert  <eggert@twinsun.com>
111707         From a suggestion by Bruno Haible.
111708         * m4/mbstate_t.m4 (AC_MBSTATE_T):
111709         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
111710         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
111711         and mbstate_t, to a single-part test that simply defines mbstate_t.
111712         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
111713         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
111715 2000-07-10  Jim Meyering  <meyering@lucent.com>
111717         * m4/strerror_r.m4: Mirror the correction made in autoconf.
111719         * m4/gnu-source.m4: Output to confdefs.h directly.
111720         Suggestion from Akim Demaille.
111722 2000-07-09  Paul Eggert  <eggert@twinsun.com>
111724         The old behavior of quoting `like this' doesn't look good with
111725         newer, ISO-style fonts.  See:
111726         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
111728         Instead, quote "like this" by default.  Let the translator
111729         tailor the locale-specific quoting behavior by providing
111730         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
111732         * lib/quotearg.c (N_): New macro.
111733         (gettext_default): New function.
111734         (quotearg_buffer_restyled): Use
111735         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
111736         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
111738 2000-07-09  Jim Meyering  <meyering@lucent.com>
111740         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
111741         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
111743         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
111744         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
111746 2000-07-09  Jim Meyering  <meyering@lucent.com>
111748         * lib/Most files: Update copyright dates to include 2000.
111750 2000-07-08  Jim Meyering  <meyering@lucent.com>
111752         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
111753         if not defined.
111754         (xgethostname): Remove now-unnecessary #ifdef.
111755         Move declaration of `err' into loop where it's used.
111757 2000-07-05  Paul Eggert  <eggert@twinsun.com>
111758         and Bruno Haible  <haible@clisp.cons.org>
111760         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
111761         only if the test for an object-type mbstate_t fails.  This
111762         prevents us from mistakenly reporting that mbstate_t is a
111763         system object type after we "#define mbstate_t int" to work
111764         around its lack.
111766 2000-07-05  Paul Eggert  <eggert@twinsun.com>
111767         and Bruno Haible  <haible@clisp.cons.org>
111769         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
111771 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
111773         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
111774         to strerror_r.
111775         Include <ctype.h> for use of isalpha.
111777 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
111779         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
111780         by allocating a larger buffer. Test the gethostname return value for
111781         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
111782         returns an error and ENAMETOOLONG isn't defined.
111784 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
111786         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
111787         dimension.
111789 2000-07-04  Jim Meyering  <meyering@lucent.com>
111791         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
111792         of the deprecated AC_CHECKING.
111794 2000-07-04  Jim Meyering  <meyering@lucent.com>
111796         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
111797         Reported by Bruno Haible.
111799 2000-07-04  Jim Meyering  <meyering@lucent.com>
111801         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
111802         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
111803         lacks mbrtowc.
111805 2000-07-03  Paul Eggert  <eggert@twinsun.com>
111807         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
111808         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
111810 2000-07-03  Paul Eggert  <eggert@twinsun.com>
111811         and Bruno Haible  <haible@clisp.cons.org>
111813         * lib/quotearg.c (mbrtowc):
111814         Assign to *pwc, and return 1 only if result is nonzero.
111815         (iswprint): Use ISPRINT when substituting our own mbrtowc.
111817 2000-07-03  Jim Meyering  <meyering@lucent.com>
111819         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
111821 2000-07-03  Jim Meyering  <meyering@lucent.com>
111823         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
111824         This is necessary to get a definition of e.g., UTMP_FILE on
111825         HP-UX 10.20.
111826         From Bob Proulx.
111828 2000-07-02  Jim Meyering  <meyering@lucent.com>
111830         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
111832         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
111833         AC_LIBOBJ(function_name).
111834         * m4/chown.m4: Likewise.
111835         * m4/fnmatch.m4: Likewise.
111836         * m4/ftruncate.m4: Likewise.
111837         * m4/getgroups.m4: Likewise.
111838         * m4/getline.m4: Likewise.
111839         * m4/group-member.m4: Likewise.
111840         * m4/jm-macros.m4: Likewise.
111841         * m4/lstat.m4: Likewise.
111842         * m4/malloc.m4: Likewise.
111843         * m4/memcmp.m4: Likewise.
111844         * m4/nanosleep.m4: Likewise.
111845         * m4/putenv.m4: Likewise.
111846         * m4/realloc.m4: Likewise.
111847         * m4/regex.m4: Likewise.
111848         * m4/stat.m4: Likewise.
111849         * m4/strftime.m4: Likewise.
111851 2000-07-02  Jim Meyering  <meyering@lucent.com>
111853         * lib/quotearg.c (mbstate_t): Don't define here.
111855 2000-07-02  Jim Meyering  <meyering@lucent.com>
111857         * lib/nanosleep.c (SIGCONT): Define if not already defined.
111859 2000-07-01  Jim Meyering  <meyering@lucent.com>
111861         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
111863 2000-07-01  Jim Meyering  <meyering@lucent.com>
111865         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
111866         problem.
111868 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
111870         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
111871         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
111873 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
111875         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
111876         per change in ../m4/ls-mntd-fs.m4.
111877         (read_filesystem_list): Ignore symbolic links.
111879 2000-06-29  Jim Meyering  <meyering@lucent.com>
111881         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
111882         for declaration of strcmp.
111884         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
111886         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
111887         Avoid warning by casting result to `char *' to remove `const'.
111889 2000-06-28  Jim Meyering  <meyering@lucent.com>
111891         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
111892         included by quotearg.c, for which we perform this test.  From
111893         Bruno Haible.
111895 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
111897         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
111898         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
111899         <utmpx.h> exists, put readutmp.o into LIBOBJS.
111901 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
111903         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
111905 2000-06-26  Paul Eggert  <eggert@twinsun.com>
111907         savedir now sets errno on failure and invokes xmalloc to get memory.
111908         Fix a couple of other minor bugs while we're at it.
111910         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
111911         (NAMLEN): Remove macro.
111912         (malloc, realloc): Remove decls.
111913         (stpcpy): Likewise.
111914         ("xalloc.h"): Include.
111915         (NAME_SIZE_DEFAULT): New macro.
111916         (savedir): Use xmalloc / xrealloc to allocate memory.
111917         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
111918         Skip "" directory entries.
111919         Use strlen to calculate directory entry length, since the old method
111920         is rarely used these days and isn't worth supporting.
111921         Don't use a pointer after freeing it.
111922         Check for integer overflow when calculating allocation size.
111923         Use memcpy to copy entries, instead of stpcpy.
111924         Set errno properly when returning NULL.
111925         Check for readdir error.
111927 2000-06-26  Jim Meyering  <meyering@lucent.com>
111929         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
111931 2000-06-25  Jim Meyering  <meyering@lucent.com>
111933         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
111934         Linux header bug when _XOPEN_SOURCE is defined to 500.
111936 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
111938         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
111939         deficiency.
111941 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
111943         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
111944         Include xalloc.h.
111945         Don't include <stdlib.h>.  Don't declare malloc, realloc.
111947 2000-06-24  Jim Meyering  <meyering@lucent.com>
111949         * m4/strerror_r.m4: Revive this file -- to try out an experimental
111950         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
111951         for which strerror does return char*, but which lacks a conveniently
111952         accessible declaration of the function.  If the compile-test says
111953         strerror_r doesn't work, then resort to a `run'-test that works on
111954         BeOS and segfaults on DEC Unix.
111956 2000-06-24  Jim Meyering  <meyering@lucent.com>
111958         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
111960 2000-06-23  Paul Eggert  <eggert@twinsun.com>
111962         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
111963         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
111965 2000-06-23  Paul Eggert  <eggert@twinsun.com>
111967         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
111968         (mbrtowc, mbstate_t): Define substitutes if
111969         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
111970         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
111971         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
111973 2000-06-23  Jim Meyering  <meyering@lucent.com>
111975         * m4/afs.m4: Add missing AC_MSG_RESULT.
111976         Reported by Bruno Haible.
111978         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
111979         Suggestion from Bruno Haible.
111981 2000-06-23  Jim Meyering  <meyering@lucent.com>
111983         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
111985 2000-06-21  Jim Meyering  <meyering@lucent.com>
111987         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
111989 2000-06-21  Jim Meyering  <meyering@lucent.com>
111991         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
111992         (noinst_HEADERS): Add getstr.h.
111994         * lib/getline.c (getstr): Move into a separate file.
111995         * lib/getstr.c (getstr): New file, extracted from getline.c, with
111996         the following changes: new parameter, delim2; both delim[12]
111997         parameters have type `int', not `char'.  The latter would lose
111998         with 8-bit delimiters.
111999         * lib/getstr.h: New file.
112001 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
112003         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
112004         than 1024, return a memory chunk of least possible size, instead
112005         of size PATH_MAX + 2. In the loop, increment the size proportionally.
112006         Use free/xmalloc instead of xrealloc to avoid copying for very long
112007         paths.
112009 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
112011         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
112012         the empty string.
112014 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
112016         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
112017         address, not strdup.  Include <stdlib.h> and don't declare free().
112019 2000-06-19  Jim Meyering  <meyering@lucent.com>
112021         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
112023 2000-06-18  Jim Meyering  <meyering@lucent.com>
112025         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
112027         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
112028         `checking whether...' message to be consistent with that of the
112029         lstat test.
112031 2000-06-18  Jim Meyering  <meyering@lucent.com>
112033         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
112034         Besides, these days every porting target provides a mkdir function.
112036         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
112037         needed. (this snippet comes from src/system.h).
112039 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
112041         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
112043 2000-06-15  Paul Eggert  <eggert@twinsun.com>
112045         * lib/human.c (adjust_value): New function.
112046         (human_readable_inexact): Apply rounding style even when
112047         printing approximate values.
112049 2000-06-14  Paul Eggert  <eggert@twinsun.com>
112051         * lib/human.c (human_readable_inexact): Allow an input block
112052         size that is not a multiple of the output block size, and vice versa.
112053         Reported by Piergiorgio Sartor.
112055 2000-06-14  Paul Eggert  <eggert@twinsun.com>
112057         * lib/getdate.y (get_date): Apply relative times after time
112058         zone indicator, not before.  Reported by Todd A. Jacobs.
112060 2000-06-13  Jim Meyering  <meyering@lucent.com>
112062         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
112064         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
112066 2000-06-12  Paul Eggert  <eggert@twinsun.com>
112068         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
112070 2000-06-12  Jim Meyering  <meyering@lucent.com>
112072         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
112073         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
112074         optional argument.
112075         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
112076         the optional argument, `lib'.
112078 2000-06-08  Jim Meyering  <meyering@lucent.com>
112080         * m4/largefile.m4: Remove file (now that it's part of autoconf).
112082 2000-06-04  Paul Eggert  <eggert@twinsun.com>
112084         Rewrite largefile configuration so that we don't need to run
112085         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
112086         AC_CANONICAL_HOST in configure.in -- jmm]
112088         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
112089         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
112090         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
112091         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
112092         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
112093         All uses changed.
112094         Instead of inspecting the output of getconf, try to compile the
112095         test program without and with the macro definition.
112096         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
112097         for getconf.  Instead, check for the needed flags by compiling
112098         test programs.
112100 2000-06-04  Paul Eggert  <eggert@twinsun.com>
112102         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
112104 2000-06-04  Jim Meyering  <meyering@lucent.com>
112106         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
112107         SunOS 4.1.4 for which gid_t is an unsigned type.
112109 2000-06-03  Jim Meyering  <meyering@lucent.com>
112111         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
112112         now that autoconf requires that.
112114         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
112115         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
112116         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
112118 2000-06-03  Jim Meyering  <meyering@lucent.com>
112120         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
112122 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
112124         * m4/glibc21.m4: New file.
112125         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
112127 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
112129         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
112130         newer, don't install charset.alias.
112131         * lib/config.charset: Change the Linux/glibc rules so they become empty
112132         on glibc-2.1 or newer.
112134 2000-06-02  Jim Meyering  <meyering@lucent.com>
112136         * lib/mountlist.c: Back out last change.  Instead, do this...
112137         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
112138         me_dummy member using the same `ignore'-testing code.
112139         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
112140         fs_type strings.
112141         From Mark D. Roth.
112143 2000-05-29  Jim Meyering  <meyering@lucent.com>
112145         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
112146         mounts with the `ignore' attribute.  Based on a patch from
112147         Mark D. Roth.
112149 2000-05-28  Jim Meyering  <meyering@lucent.com>
112151         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
112152         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
112153         * m4/stat.m4: Likewise.
112154         * m4/lstat.m4: Likewise.
112155         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
112157         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
112158         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
112160 2000-05-26  Jim Meyering  <meyering@lucent.com>
112162         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
112164 2000-05-24  Jim Meyering  <meyering@lucent.com>
112166         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
112167         autoconf requires that.
112168         * m4/lib-check.m4: Likewise.
112169         * m4/jm-macros.m4: Likewise.
112170         * m4/strftime.m4: Likewise.
112172         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
112173         AC_CHECK_DECLS, now that autoconf requires that.
112175 2000-05-22  Jim Meyering  <meyering@lucent.com>
112177         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
112178         * m4/lstat.m4: Likewise.
112180 2000-05-22  Jim Meyering  <meyering@lucent.com>
112182         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
112184 2000-05-20  Jim Meyering  <meyering@lucent.com>
112186         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
112187         (jm_PREREQ): Use it.
112189 2000-05-18  Jim Meyering  <meyering@lucent.com>
112191         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
112192         back, too, since it may have been modified by allocate_entry.
112193         (hash_delete): Rewrite to use neither the assignment operator
112194         nor the comma operator in an if-expression.
112196 2000-05-15  Paul Eggert  <eggert@twinsun.com>
112198         * lib/closeout.c:
112199         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
112200         Remove; no longer needed.
112201         "quotearg.h": Add include.
112202         (file_name): Do not bother to explicitly initialize to NULL; it's less
112203         efficient on some hosts.
112204         (close_stdout_status): Remove test as to whether stdout was already
112205         closed; it breaks for the case "echo x | sort >&-".
112206         Quote file name colons.
112207         Do not assume that _("write error") lacks format strings.
112209 2000-05-15  Jim Meyering  <meyering@lucent.com>
112211         * lib/version-etc.c (version_etc_copyright): Update the copyright
112212         string used in all --version output.
112214 2000-05-14  Jim Meyering  <meyering@lucent.com>
112216         * lib/closeout.c (close_stdout_set_file_name): New function.
112217         (close_stdout_status): Use new file-scoped global.
112218         Return right away if fstat says the stdout file descriptor is invalid.
112219         * lib/closeout.h (close_stdout_set_file_name): Declare.
112221 2000-05-10  Jim Meyering  <meyering@lucent.com>
112223         * lib/closeout.c [default_exit_status]: New file-scoped variable.
112224         (close_stdout_set_status): New function.
112225         * lib/closeout.h (close_stdout_set_status): Declare.
112227 2000-05-09  Jim Meyering  <meyering@lucent.com>
112229         * m4/gettext.m4: Rename this...
112230         * m4/libintl.m4: ...to this.
112232 2000-05-08  Jim Meyering  <meyering@lucent.com>
112234         * lib/long-options.c: Don't include closeout.h.
112235         (parse_long_options): Don't call close_stdout for --version.
112237 2000-05-06  Paul Eggert  <eggert@twinsun.com>
112239         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
112240         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
112241         2.1.3 bug.  This avoids a clash when files like regex.c define
112242         _GNU_SOURCE.
112244 2000-05-06  Jim Meyering  <meyering@lucent.com>
112246         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
112247         (AC_REPLACE_FUNCS): Add strnlen.
112249         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
112250         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
112252         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
112253         AC_SEARCH_LIBS call for nanosleep.
112254         (LIB_NANOSLEEP): Set and AC_SUBST.
112256 2000-05-06  Jim Meyering  <meyering@lucent.com>
112258         * lib/strnlen.c: Undefine __strnlen and strnlen.
112259         [!weak_alias]: Define __strnlen to strnlen.
112261         * lib/atexit.c: New file, from libiberty.
112263 2000-05-06  Jim Meyering  <meyering@lucent.com>
112265         * lib/closeout.c (close_stdout_status): Also check for errors on the
112266         stderr stream.
112268 2000-05-05  Jim Meyering  <meyering@lucent.com>
112270         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
112271         AC_SEARCH_LIBS call for clock_gettime.
112272         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
112274         * m4/search-libs.m4: Update from autoconf.
112276         su doesn't work on Solaris 2.6.
112277         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
112278         <shadow.h>.  Reported by Dragos Harabor.
112280 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
112282         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
112283         memcpy instead of xmalloc, xrealloc, path_concat.
112284         (locale_charset): Treat empty environment variables as absent.
112285         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
112287 2000-05-04  Jim Meyering  <meyering@lucent.com>
112289         * lib/getopt.c: Update from glibc.
112290         * lib/obstack.c: Likewise.
112291         * lib/obstack.h: Likewise.
112292         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
112293         file
112295         * lib/regex.h: Likewise.
112296         * lib/strndup.c: Likewise.
112297         * lib/strnlen.c: New file, from glibc.
112299 2000-05-03  Jim Meyering  <meyering@lucent.com>
112301         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
112303 2000-05-02  Paul Eggert  <eggert@twinsun.com>
112305         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
112306         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
112307         compile-time test, rather than inspecting host and OS, to
112308         decide whether to define _LARGEFILE_SOURCE.
112310 2000-05-01  Jim Meyering  <meyering@lucent.com>
112312         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
112314         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
112315         Based on a patch from Bruno Haible.
112317 2000-05-01  Jim Meyering  <meyering@lucent.com>
112319         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
112321 2000-04-29  Jim Meyering  <meyering@lucent.com>
112323         * lib/path-concat.c: Declare strdup only if it's not defined.
112324         * lib/canon-host.c: Likewise.
112326 2000-04-28  Jim Meyering  <meyering@lucent.com>
112328         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
112329         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
112330         is included first, then limits.h is included by locale.h by libintl.h.
112331         From John David Anglin.
112333 2000-04-25  Jim Meyering  <meyering@lucent.com>
112335         * lib/makepath.c (S_IRWXUGO): Define.
112336         (make_path): Always perform explicit chmod if MODE specifies any
112337         of the `special' permission bits.  Prompted by a bug report against
112338         install from Mate Wierdl and Joost van Baal.
112340 2000-04-18  Jim Meyering  <meyering@lucent.com>
112342         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
112343         (jm_PREREQ): Use it.
112345 2000-04-18  Jim Meyering  <meyering@lucent.com>
112347         * lib/README: New file.
112349         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
112350         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
112352 2000-04-17  Jim Meyering  <meyering@lucent.com>
112354         Get it right :-)
112355         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
112356         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
112357         Suggestion from Akim Demaille.
112359 2000-04-17  Jim Meyering  <meyering@lucent.com>
112361         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
112362         the definition of it to rpl_strftime also defined-away the system's
112363         declaration.
112365 2000-04-15  Jim Meyering  <meyering@lucent.com>
112367         Use `C' to denote so-called `contiguous' files, the same way
112368         that tar does.
112369         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
112370         (ftypelet): Use S_ISCTG.
112371         From Michael Deutschmann.
112373 2000-04-14  Jim Meyering  <meyering@lucent.com>
112375         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
112376         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
112377         clobbered.
112379 2000-04-14  Jim Meyering  <meyering@lucent.com>
112381         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
112383 2000-04-13  Jim Meyering  <meyering@lucent.com>
112385         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
112386         AH_VERBATIM to insert required #ifndef into config.h.in.
112387         Suggestion from Akim Demaille.
112389 2000-04-12  Jim Meyering  <meyering@lucent.com>
112391         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
112392         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
112393         Christian Krackowizer.
112395         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
112396         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
112397         (AC_SYS_LARGEFILE): Require.
112398         (AM_C_PROTOTYPES): Require.
112400 2000-04-08  Jim Meyering  <meyering@lucent.com>
112402         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
112403         names don't conflict.  Reported by Eli Zaretskii.
112405 2000-04-07  Jim Meyering  <meyering@lucent.com>
112407         * lib/putenv.c: Move inclusion of errno.h so it follows that of
112408         sys/types.h, to work around system header problems on AIX 3.2.5.
112409         From Bruno Haible.
112411 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
112413         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
112414         bug.  Deal with the different error behavior of Irix iconv.
112416 2000-04-05  Paul Eggert  <eggert@twinsun.com>
112418         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
112419         IRIX if the installer said otherwise.
112421 2000-04-05  Jim Meyering  <meyering@lucent.com>
112423         Portability tweaks required for ultrix4.3.
112424         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
112425         (jm_CHECK_DECLS): Add getutent to the list of functions.
112426         (_jm_DECL_HEADERS): Add utmpx.h.
112427         From John David Anglin.
112429         * m4/strftime.m4: Back out the 2000-04-02 change.
112430         Instead of that change, simply undefine putenv in the test program.
112432 2000-04-05  Jim Meyering  <meyering@lucent.com>
112434         Portability tweaks required for ultrix4.3.
112435         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
112436         getutent.
112437         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
112438         * lib/canon-host.c: Declare strdup.
112439         * lib/path-concat.c: Likewise.
112440         From John David Anglin.
112442 2000-04-04  Jim Meyering  <meyering@lucent.com>
112444         Be more DOS 8.3-friendly.
112445         * lib/ref-add.sin: Renamed from ref-add.sed.in.
112446         * lib/ref-del.sin: Renamed from ref-del.sed.in.
112447         * lib/Makefile.am: Reflect renaming.
112448         Reported by Eli Zaretskii.
112450         Use a temporary file name that won't clash with `charset.alias'
112451         in the DOS 8.3 name space.
112452         * lib/Makefile.am (charset_tmp): Define.
112453         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
112454         (uninstall-local): Likewise.
112455         Reported by Eli Zaretskii.
112457 2000-04-03  Jim Meyering  <meyering@lucent.com>
112459         * m4/gettext.m4: Fix typo in comment.
112461         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
112462         textutils/configure.in).  Suggestion from Paul Eggert.
112463         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
112465 2000-04-02  Paul Eggert  <eggert@twinsun.com>
112467         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
112468         variable in the shell rather than using putenv, which isn't
112469         portable.  This avoids the configure-time inter-test dependency
112470         on the potentially-renamed putenv function.
112472 2000-03-30  Paul Eggert  <eggert@twinsun.com>
112474         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
112475         before checking struct stat.st_blksize, so that
112476         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
112478 2000-03-29  Paul Eggert  <eggert@twinsun.com>
112480         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
112481         since strftime.c uses HAVE_STRFTIME to decide whether to use
112482         the underlying strftime.
112484 2000-03-29  Paul Eggert  <eggert@twinsun.com>
112486         * lib/time/strftime.c (my_strftime): Make sure we call the system
112487         strftime, not ourselves, when invoking the underlying strftime.
112489 2000-03-24  Jim Meyering  <meyering@lucent.com>
112491         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
112492         (charset_alias): Define.
112493         (install-exec-local): Factor out common code.
112494         (uninstall-local): Split lines longer than 80.
112495         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
112496         (SUFFIXES): Define.
112497         (.sed.in.sed): New rule.  Don't redirect directly to $@.
112498         (CLEANFILES): Add ref-add.sed and ref-del.sed.
112500 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
112502         * lib/config.charset: Output a line containing "Packages using this
112503         file".
112504         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
112505         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
112506         ref-del.sed): New rules.
112508 2000-03-17  Jim Meyering  <meyering@lucent.com>
112510         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
112511         Otherwise, include <strings.h>
112513 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
112515         * lib/unicodeio.c (utf8_wctomb): New function.
112516         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
112517         format instead of in UCS-4 with platform dependent endianness.
112519 2000-03-10  Jim Meyering  <meyering@lucent.com>
112521         * m4/lib-check.m4: Look for getspnam in -lgen, too.
112522         From Marco Franzen.
112524 2000-03-07  Paul Eggert  <eggert@twinsun.com>
112526         * lib/savedir.c (savedir): Work even if directory size is
112527         negative; this can happen with some screwy NFS configurations.
112529 2000-03-06  Jim Meyering  <meyering@lucent.com>
112531         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
112532         if it's NULL (because we ran out of memory).  From Bruno Haible.
112534 2000-03-05  Jim Meyering  <meyering@lucent.com>
112536         * lib/localcharset.c ("path-concat.h"): Include.
112537         (get_charset_aliases): Use path_concat instead of ANSI string
112538         concatenation.
112540         * lib/unicodeio.h (PARAMS): Define.
112541         Use it to guard prototype.
112543 2000-03-04  Jim Meyering  <meyering@lucent.com>
112545         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
112546         for lib/localcharset.c.
112548 2000-03-04  Jim Meyering  <meyering@lucent.com>
112550         * lib/Makefile.am (install-exec-local): Create $(libdir) before
112551         installing into it.
112552         (uninstall-local): Uncomment this rule so `make distcheck' works
112553         once again.
112555         * lib/unicodeio.c (<errno.h>): Include it.
112556         (errno): Declare if not defined.
112558         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
112560         * lib/config.charset: New version, incorporating remarks from a linux
112561         i18n mailing list.  From Bruno Haible.
112563 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
112565         * m4/codeset.m4: New file.
112566         * m4/iconv.m4: New file.
112567         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
112569 2000-03-03  Jim Meyering  <meyering@lucent.com>
112571         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
112573 2000-03-02  Jim Meyering  <meyering@lucent.com>
112575         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
112576         the messages come out on separate lines.
112578         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
112579         rather than jm_CHECK_DECLARATIONS.
112580         * m4/decl.m4: Remove now-unused file.
112582         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
112583         geteuid.
112585 2000-03-02  Jim Meyering  <meyering@lucent.com>
112587         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
112589 2000-03-01  Jim Meyering  <meyering@lucent.com>
112591         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
112592         * lib/unicodeio.c: Likewise.
112594 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
112596         * lib/config.charset: New file.
112597         * lib/localcharset.c: New file.
112598         * lib/unicodeio.h, lib/unicodeio.c: New files.
112599         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
112600         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
112601         (noinst_HEADERS): Add unicodeio.h.
112602         (all-local, install-exec-local, charset.alias): New targets.
112604 2000-02-28  Paul Eggert  <eggert@twinsun.com>
112606         * lib/quotearg.c (ALERT_CHAR): New macro.
112607         (quotearg_buffer_restyled): Use it.
112609 2000-02-27  Jim Meyering  <meyering@lucent.com>
112611         * m4/check-decl.m4: Add getenv to the list.
112613 2000-02-27  Jim Meyering  <meyering@lucent.com>
112615         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
112616         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
112618         * lib/backupfile.c: Guard inclusion of stdlib.h with
112619         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
112620         Declare malloc if needed.
112622         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
112623         `#ifndef HAVE_DECL..'
112624         now that autoconf always defines the HAVE_DECL_ symbols.
112625         * lib/human.c: Likewise.
112626         * lib/same.c: Likewise.
112627         * lib/strtoumax.c: Likewise.
112629         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
112630         declaration check was not run.
112631         * lib/hash.c: Likewise.
112632         * lib/human.c: Likewise.
112633         * lib/same.c: Likewise.
112634         * lib/strtoumax.c: Likewise.
112636         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
112637         `.', then first look up the entire `.'-containing string as a login
112638         name.
112640 2000-02-23  Jim Meyering  <meyering@lucent.com>
112642         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
112643         in place of my hack.
112645 2000-02-18  Paul Eggert  <eggert@twinsun.com>
112647         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
112648         (textint): New typedef.
112649         (parser_control): Member year changed from int to textint.
112650         All uses changed.
112651         (YYSTYPE): Removed; replaced by %union with int and textint members.
112652         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
112653         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
112654         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
112655         (tSNUMBER, tUNUMBER): Now of type <textintval>.
112656         (date, number, to_year): Use width of number in digits, not its value,
112657         to determine whether it's a 2-digit year, or a 2-digit time.
112658         (yylex): Store number of digits of numeric tokens.
112659         Reported by John Kendall.
112661         (parser_control): Changed from struct parser_control to typedef (for
112662         consistency).  All uses changed.
112664         (tID): Removed; not used.
112665         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
112667 2000-02-14  Paul Eggert  <eggert@twinsun.com>
112669         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
112670         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
112672 2000-02-12  Jim Meyering  <meyering@lucent.com>
112674         * lib/userspec.c (ISDIGIT): Define it.
112675         (isdigit): Remove definition.
112676         (is_number): Use ISDIGIT, not isdigit.
112677         <libintl.h>: Include.
112678         (_ and N_): Define.
112679         (parse_user_spec): Mark translatable strings.
112681 2000-02-10  Jim Meyering  <meyering@lucent.com>
112683         With these changes, nanosleep.[ch] are finally enough like the other
112684         lib/* replacement files to compile on a few more losing systems.
112686         * lib/nanosleep.h: Don't include config.h.
112687         Remove prototype from declaration of nanosleep.
112688         (PARAMS): Remove now-unneeded definition.
112689         * lib/nanosleep.c: #undef nanosleep.
112690         (rpl_nanosleep): Rename from nanosleep.
112692 2000-02-10  Jim Meyering  <meyering@lucent.com>
112694         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
112695         gnu_nanosleep to rpl_nanosleep.
112697 2000-02-09  Jim Meyering  <meyering@lucent.com>
112699         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
112700         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
112702 2000-02-08  Akim Demaille  <akim@epita.fr>
112704         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
112705         `[' and `]' and remove uses of `changequote'.
112706         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
112707         (AC_SYS_LARGEFILE): Likewise.
112708         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
112709         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
112710         of changequote.
112711         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
112712         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
112713         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
112714         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
112716 2000-02-05  Jim Meyering  <meyering@lucent.com>
112718         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
112719         Remove explicit use of AC_HEADER_TIME.  It is required by
112720         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
112721         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
112722         in autoconf whereby the expansion of the latter ended up preceding
112723         the expansion of its prerequisite, AC_HEADER_TIME.
112724         Reported by Volker Borchert.
112726 2000-02-03  Jim Meyering  <meyering@lucent.com>
112728         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
112730 2000-02-03  Jim Meyering  <meyering@lucent.com>
112732         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
112733         rather than with `#if HAVE_UTMPNAME'.
112735 2000-02-02  Jim Meyering  <meyering@lucent.com>
112737         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
112738         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
112739         Reported by Eli Zaretskii.
112741 2000-02-01  Jim Meyering  <meyering@lucent.com>
112743         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
112745 2000-01-31  Jim Meyering  <meyering@lucent.com>
112747         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
112748         functions.  Add the time.h and sys/time.h headers along with the
112749         AC_REQUIRE'ment of AC_HEADER_TIME.
112751 2000-01-31  Jim Meyering  <meyering@lucent.com>
112753         * lib/nanosleep.h (nanosleep): Guard declaration with
112754         `#if ! HAVE_DECL_NANOSLEEP'.
112755         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
112756         the declaration in that vendor's sys/timers.h.
112757         Reported by Christian Krackowizer.
112759         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
112760         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
112761         (ISPRINT): Likewise.
112762         Reported by Tom Tromey.
112764 2000-01-30  Jim Meyering  <meyering@lucent.com>
112766         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
112768         * m4/prereq.m4 (utmp_includes): Define.
112769         Check for ut_user and ut_name members in both struct utmpx
112770         and struct utmp.
112772 2000-01-30  Jim Meyering  <meyering@lucent.com>
112774         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
112775         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
112776         header files where only utmpx.ut_user is declared.
112778         * lib/readutmp.h (UT_USER): Define.
112780 2000-01-29  Jim Meyering  <meyering@lucent.com>
112782         * m4/lib-check.m4: New file containing library-related checks from
112783         fileutils and sh-utils (textutils had none).
112785 2000-01-28  Jim Meyering  <meyering@lucent.com>
112787         * m4/perl.m4: Change format of warning message to look more like that
112788         from the missing script.  Suggestion from François Pinard.
112790 2000-01-25  Jim Meyering  <meyering@lucent.com>
112792         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
112793         well as time.h in the compile check.
112794         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
112795         Fix typo in cross-compiling case: s/yes/no/.
112797 2000-01-23  Jim Meyering  <meyering@lucent.com>
112799         * m4/jm-macros.m4: Move df-related tests here from
112800         fileutils/configure.in
112802         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
112803         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
112805         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
112806         s/space/ac_fsusage_space/.
112807         (jm_FILE_SYSTEM_USAGE): Take two parameters.
112809         * m4/ftruncate.m4: New file (derived from part of
112810         fileutils/configure.in).
112811         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
112812         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
112814         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
112815         AC_SUBST these here, rather than just in sh-util/configure.in, so
112816         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
112817         all the same.
112818         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
112819         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
112820         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
112821         (AC_SUBST(POW_LIBM)): Likewise.
112822         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
112824 2000-01-23  Jim Meyering  <meyering@lucent.com>
112826         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
112827         obstack.c.
112829 2000-01-22  Jim Meyering  <meyering@lucent.com>
112831         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
112833         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
112835         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
112836         configure.in
112837         (AC_CHECK_HEADERS): Likewise for sh-utils.
112838         (AC_CHECK_HEADERS): Likewise for textutils.
112839         Merge the three lists of headers.
112841         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
112842         from fileutils' configure.in.
112844         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
112845         code. Moved tests into their own function (_jm_DECL_HEADERS) in
112846         check-decl.m4.
112848         * m4/check-decl.m4: Use #if rather than #ifdef.
112849         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
112850         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
112851         (_jm_DECL_HEADERS): Define new function.
112852         (jm_CHECK_DECLARATIONS): Require it.
112854 2000-01-22  Jim Meyering  <meyering@lucent.com>
112856         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
112857         [! HAVE_DECL_STRTOULL]: Declare strtoull.
112858         Required for some AIX systems.  Reported by Christian Krackowizer.
112859         [TESTING] (main): New function.
112861         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
112862         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
112863         letters.
112865         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
112866         iswprint.
112868         * lib/strverscmp.c (ISDIGIT): Define.
112869         (strverscmp): Use ISDIGIT, not isdigit.
112871 2000-01-19  Jim Meyering  <meyering@lucent.com>
112873         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
112874         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
112875         defines `struct timespec' in <sys/time.h>
112877         * m4/c-bs-a.m4: Remove uses of changequote altogether.
112878         Thanks to Akim for explaining.
112880 2000-01-17  Paul Eggert  <eggert@twinsun.com>
112882         * lib/nanosleep.c (nanosleep):
112883         Don't use SA_INTERRUPT to decide whether to call sigaction, as
112884         POSIX.1 doesn't require SA_INTERRUPT and some systems
112885         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
112886         it's been part of POSIX.1 since day 1 (in 1988).
112888 2000-01-17  Jim Meyering  <meyering@lucent.com>
112890         * lib/interlock: Remove unused file.  Reported by François Pinard.
112892 2000-01-16  Paul Eggert  <eggert@twinsun.com>
112894         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
112895         alert, backslash, formfeed, and vertical tab unnecessarily in
112896         shell quoting style.
112898 2000-01-16  Jim Meyering  <meyering@lucent.com>
112900         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
112901         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
112902         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
112903         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
112905 2000-01-16  Jim Meyering  <meyering@lucent.com>
112907         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
112908         because the latter didn't work.
112910 2000-01-15  Jim Meyering  <meyering@lucent.com>
112912         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
112913         (AC_REPLACE_FUNCS): Add memcpy and memset.
112914         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
112915         Add strpbrk.
112916         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
112918 2000-01-12  Jim Meyering  <meyering@lucent.com>
112920         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
112921         (jm_PREREQ): Use it.
112922         (jm_PREREQ_READUTMP): New macro.
112923         (jm_PREREQ): Use it.
112925 2000-01-11  Paul Eggert  <eggert@twinsun.com>
112927         Quote multibyte characters correctly.
112928         * m4/c-bs-a.m4: New file.
112929         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
112930         (jm_PREREQ): Use it.
112932 2000-01-11  Paul Eggert  <eggert@twinsun.com>
112934         * m4/uintmax_t.m4: Port to autoconf 2.13.
112936 2000-01-08  Jim Meyering  <meyering@ascend.com>
112938         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
112939         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
112941 2000-01-04  Jim Meyering  <meyering@ascend.com>
112943         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
112944         jm_STRUCT_DIRENT_D_TYPE.
112945         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
112946         jm_STRUCT_DIRENT_D_INO.
112947         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
112948         jm_STRUCT_UTIMBUF.
112949         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
112950         renamings.
112951         * m4/utime.m4: Likewise.
112953         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
112954         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
112956 2000-01-03  Paul Eggert  <eggert@twinsun.com>
112958         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
112959         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
112961 2000-01-02  Jim Meyering  <meyering@ascend.com>
112963         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
112964         remember if this is necessary.
112966 1999-12-26  Jim Meyering  <meyering@ascend.com>
112968         * m4/jm-macros.m4: Use it here.
112969         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
112971 1999-12-23  Jim Meyering  <meyering@ascend.com>
112973         * m4/jm-macros.m4: Check for clock_gettime (moved from
112974         fileutils/configure.in)
112975         Check for gettimeofday.
112977 1999-12-20  Jim Meyering  <meyering@ascend.com>
112979         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
112980         autoconf-2.14a-1999-12-20.
112982 1999-12-19  Jim Meyering  <meyering@ascend.com>
112984         * m4/lstat-slash.m4: New file.
112985         * m4/jm-macros.m4: Use the new macro:
112986         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
112988 1999-12-07  Jim Meyering  <meyering@ascend.com>
112990         * m4/perl.m4: Require that File::Compare be available, too.
112991         Too many systems seem to lack it.
112993         * m4/strftime.m4: Add checks for most of the cpp macros tested in
112994         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
112996 1999-11-18  Paul Eggert  <eggert@twinsun.com>
112998         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
112999         problem with the QNX 4.25 shell, which doesn't propagate exit
113000         status of failed commands inside shell assignments.
113002 1999-11-17  Jim Meyering  <meyering@ascend.com>
113004         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
113006 1999-11-07  Jim Meyering  <meyering@ascend.com>
113008         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
113010 1999-11-06  Jim Meyering  <meyering@ascend.com>
113012         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
113013         * m4/jm-macros.m4 (jm_MACROS): Use it here.
113015 1999-11-05  Jim Meyering  <meyering@ascend.com>
113017         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
113018         configure.in of textutils, fileutils, and sh-utils into this one
113019         (shared between those packages) file.
113020         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
113021         AC_STRUCT_ST_BLKSIZE.
113023 1999-11-03  Jim Meyering  <meyering@ascend.com>
113025         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
113026         of AC_CHECK_TYPE checks includes unistd.h.
113027         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
113028         Suggestion from Akim Demaille.
113030 1999-10-30  Jim Meyering  <meyering@ascend.com>
113032         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
113033         m4-quoted string.
113034         * m4/ls-mntd-fs.m4: Likewise.
113035         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
113036         * m4/jm-winsz1.m4: Likewise.
113038         * m4/const.m4: Remove file, since the fix made it into the experimental
113039         version of autoconf.
113040         * m4/mktime.m4: Likewise.
113042         * m4/check-type.m4: Remove file, now that the latest version of
113043         AC_CHECK_TYPE takes a third arg to specify additional #includes.
113045         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
113046         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
113047         AC_CHECK_TYPE.
113049 1999-10-04  Jim Meyering  <meyering@ascend.com>
113051         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
113053 1999-09-22  Paul Eggert  <eggert@twinsun.com>
113055         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
113056         2.95.1 bug with HP-UX 10.20.
113058 1999-09-17  Jim Meyering  <meyering@ascend.com>
113060         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
113061         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
113062         due to missing strdup (against sh-utils-2.0).
113064 1999-08-29  Jim Meyering  <meyering@ascend.com>
113066         * m4/jm-macros.m4: Require jm_BISON.
113067         * m4/bison.m4: New file.
113069 1999-08-17  Paul Eggert  <eggert@twinsun.com>
113071         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
113072         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
113074 1999-08-05  Jim Meyering  <meyering@ascend.com>
113076         * m4/getline.m4: Rename test file from conftestdata to conftest.data
113077         to avoid conflicts with `conftest' on 8+3 filesystems.
113078         Suggestion from Eli Zaretskii.
113080 1999-08-04  Jim Meyering  <meyering@ascend.com>
113082         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
113083         fileutils and sh-utils (textutils's getline test was inadequate).
113084         (AM_FUNC_GETLINE): Run this test.
113085         (AC_CHECK_FUNCS): Check for getdelim.
113086         Reported by Bob Proulx.
113088 1999-08-02  Jim Meyering  <meyering@ascend.com>
113090         * m4/jm-macros.m4: Add a comment.
113092 1999-08-01  Paul Eggert  <eggert@twinsun.com>
113094         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
113095         <inttypes.h> defines strtoumax as a macro (and not as a
113096         function).
113098 1999-08-01  Paul Eggert  <eggert@twinsun.com>
113100         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
113101         that we can shift, multiply and divide unsigned long long
113102         values; Ultrix cc can't do it.
113104 1999-08-01  Paul Eggert  <eggert@twinsun.com>
113106         * m4/mktime.m4: New file, which is a preview of what should appear
113107         in the next public autoconf release.
113109 1999-08-01  Paul Eggert  <eggert@twinsun.com>
113111         * m4/lfs.m4: Remove this file.
113112         * m4/largefile.m4: New file.  It contains the old contents of
113113         lfs.m4, except that all names with prefix AC_LFS have been
113114         changed to use the prefix AC_SYS_LARGEFILE instead, to be
113115         compatible with future autoconf versions.  Also, some minor m4
113116         quoting problems have been fixed.
113118 1999-08-01  Paul Eggert  <eggert@twinsun.com>
113120         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
113121         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
113122         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
113123         and simplify the shell code.
113125 1999-08-01  Jim Meyering  <meyering@ascend.com>
113127         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
113128         m4.
113130 1999-07-20  Jim Meyering  <meyering@ascend.com>
113132         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
113134 1999-07-15  Jim Meyering  <meyering@ascend.com>
113136         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
113138 1999-05-22  Jim Meyering  <meyering@ascend.com>
113140         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
113142 1999-05-20  Jim Meyering  <meyering@ascend.com>
113144         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
113145         Add a colon after each `then' in case $4 is empty.
113147 1999-05-16  Jim Meyering  <meyering@ascend.com>
113149         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
113151 1999-05-10  Jim Meyering  <meyering@ascend.com>
113153         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
113155         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
113156         AC_FUNC_MKTIME.
113158 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
113160         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
113162 1999-05-04  Paul Eggert  <eggert@twinsun.com>
113164         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
113165         not CPPFLAGS, so that linking works correctly in IRIX.
113167 1999-04-30  Paul Eggert  <eggert@twinsun.com>
113169         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
113171 1999-04-20  Paul Eggert  <eggert@twinsun.com>
113173         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
113174         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
113175         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
113176         jm_AC_TYPE_UNSIGNED_LONG_LONG.
113177         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
113179         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
113181 1999-04-20  Jim Meyering  <meyering@ascend.com>
113183         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
113184         AC_REPLACE xstroull if necessary.  From Paul Eggert.
113185         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
113187 1999-04-18  Jim Meyering  <meyering@ascend.com>
113189         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
113190         * m4/jm-macros.m4: Use it.
113192 1999-04-06  Jim Meyering  <meyering@ascend.com>
113194         * m4/strftime.m4: Remove test for %f.
113196 1999-03-29  Jim Meyering  <meyering@ascend.com>
113198         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
113199         superset of the AC_TYPE_* checks in the textutils, fileutils,
113200         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
113201         AC_TYPE_PID_T.
113203 1999-03-28  Jim Meyering  <meyering@ascend.com>
113205         * m4/jm-macros.m4: Define GNU_PACKAGE here.
113206         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
113207         replaced e.g., in the *.sh files of the sh-utils.
113209 1999-03-20  Jim Meyering  <meyering@ascend.com>
113211         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
113212         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
113213         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
113215 1999-03-19  Jim Meyering  <meyering@ascend.com>
113217         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
113219 1999-03-12  Jim Meyering  <meyering@ascend.com>
113221         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
113223 1999-03-07  Jim Meyering  <meyering@ascend.com>
113225         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
113226         declared.
113228 1999-02-17  Jim Meyering  <meyering@ascend.com>
113230         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
113231         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
113233 1999-02-07  Jim Meyering  <meyering@ascend.com>
113235         * m4/group-member.m4: New file -- extracted from sh-utils'
113236         configure.in.
113238         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
113239         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
113241 1999-02-06  Jim Meyering  <meyering@ascend.com>
113243         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
113244         * m4/fnmatch.m4: Likewise.
113245         * m4/getgroups.m4: Likewise.
113246         * m4/lstat.m4: Likewise.
113247         * m4/malloc.m4: Likewise.
113248         * m4/putenv.m4: Likewise.
113249         * m4/realloc.m4: Likewise.
113250         * m4/regex.m4: Likewise.
113251         * m4/stat.m4: Likewise.
113252         * m4/strftime.m4: Likewise.
113253         Suggestion from Alain Magloire.
113255         * m4/chown.m4: Use `.$ac_objext', not `.o'.
113256         * m4/fnmatch.m4: Likewise.
113257         * m4/getgroups.m4: Likewise.
113258         * m4/getline.m4: Likewise.
113259         * m4/lstat.m4: Likewise.
113260         * m4/malloc.m4: Likewise.
113261         * m4/memcmp.m4: Likewise.
113262         * m4/putenv.m4: Likewise.
113263         * m4/realloc.m4: Likewise.
113264         * m4/regex.m4: Likewise.
113265         * m4/stat.m4: Likewise.
113266         * m4/strftime.m4: Likewise.
113267         Suggestion from Alain Magloire.
113269         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
113270         an argument.
113272         * m4/regex.m4: Add a run-time Test for proper operation of
113273         re_compile_pattern.
113275 1999-01-31  Jim Meyering  <meyering@ascend.com>
113277         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
113279 1999-01-30  Jim Meyering  <meyering@ascend.com>
113281         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
113283         * m4/jm-mktime.m4: Make this a wrapper around the official
113284         AM_FUNC_MKTIME rather than my private copy, now that the official one
113285         is up to date.
113286         * m4/mktime.m4: Remove file.
113288         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
113289         * m4/uptime.m4: Likewise.
113290         * m4/uintmax_t.m4: Likewise.
113292 1999-01-28  Jim Meyering  <meyering@ascend.com>
113294         * m4/jm-macros.m4: Use jm_AFS.
113295         * m4/afs.m4: New file (from fileutils' configure.in).
113297         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
113298         * m4/chown.m4: Likewise.
113299         * m4/d-ino.m4: Likewise.
113300         * m4/d-type.m4: Likewise.
113301         * m4/fnmatch.m4: Likewise.
113302         * m4/getgroups.m4: Likewise.
113303         * m4/gettext.m4: Likewise.
113304         * m4/jm-mktime.m4: Likewise.
113305         * m4/jm-winsz2.m4: Likewise.
113306         * m4/lcmessage.m4: Likewise.
113307         * m4/ls-mntd-fs.m4: Likewise.
113308         * m4/malloc.m4: Likewise.
113309         * m4/memcmp.m4: Likewise.
113310         * m4/putenv.m4: Likewise.
113311         * m4/realloc.m4: Likewise.
113312         * m4/st_mtim.m4: Likewise.
113313         * m4/strftime.m4: Likewise.
113315 1999-01-16  Jim Meyering  <meyering@ascend.com>
113317         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
113318         (ARGMATCH_DIE_DECL): Define.
113320 1999-01-12  Jim Meyering  <meyering@ascend.com>
113322         * m4/Makefile.am.in: Rewrite to avoid using fmt.
113323         Reported by Lars Hecking.
113325 1999-01-10  Jim Meyering  <meyering@ascend.com>
113327         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
113328         gross kludge.
113329         * m4/inttypes_h.m4: Likewise.
113330         * m4/lstat.m4: Likewise.
113331         * m4/malloc.m4: Likewise.
113332         * m4/readdir.m4: Likewise.
113333         * m4/realloc.m4: Likewise.
113334         * m4/st_dm_mode.m4: Likewise.
113335         * m4/stat.m4: Likewise.
113336         * m4/utimbuf.m4: Likewise.
113337         * m4/utimes.m4: Likewise.
113339         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
113340         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
113341         comments in config.h.in are meaningful.
113343         * m4/jm-macros.m4: Require autoconf-2.13 here.
113345         * m4/regex.m4: By default, don't use the included regex.c on systems
113346         with glibc 2.  Suggestion from Uli Drepper.
113348 1999-01-02  Jim Meyering  <meyering@ascend.com>
113350         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
113352 1998-12-18  Jim Meyering  <meyering@ascend.com>
113354         * m4/Makefile.am.in (Makefile.am): Simplify rule.
113355         Based on a suggestion from Lars Hecking.
113357 1998-11-16  Paul Eggert  <eggert@twinsun.com>
113359         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
113361 1998-11-16  Jim Meyering  <meyering@ascend.com>
113363         * m4/lfs.m4: Double-quote the `uname...` expression.
113365 1998-11-14  Jim Meyering  <meyering@ascend.com>
113367         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
113368         * m4/stat.m4: Likewise.
113370 1998-11-03  Jim Meyering  <meyering@ascend.com>
113372         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
113373         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
113375 1998-10-18  Jim Meyering  <meyering@ascend.com>
113377         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
113379 1998-10-17  Jim Meyering  <meyering@ascend.com>
113381         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
113382         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
113383         calls for those previously hard-coded headers.  Instead, take a new
113384         parameter.
113385         (jm_CHECK_DECLARATIONS): Reflect interface change.
113386         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
113387         (jm_CHECK_DECL_LOCALTIME_R): New macro.
113389         * m4/mktime.m4: Test for spring-forward gap before long-running test.
113391 1998-10-14  Jim Meyering  <meyering@ascend.com>
113393         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
113394         instead of "TZ=America/Vancouver".  From Paul Eggert.
113396 1998-10-11  Jim Meyering  <meyering@ascend.com>
113398         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
113399         This adds a test for a recently added compatibility fix for mktime.c.
113400         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
113402 1998-09-27  Jim Meyering  <meyering@ascend.com>
113404         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
113406         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
113407         ../configure.in, including a change from Gordon Matzigkeit to allow
113408         cross-compiling for the Hurd.
113410         * m4/glibc.m4: New file/macro to test for the GNU C Library
113411         versions 1 and 2.  From Gordon Matzigkeit.
113412         Indent.
113414 1998-09-21  Jim Meyering  <meyering@ascend.com>
113416         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
113418 1998-08-18  Paul Eggert  <eggert@twinsun.com>
113420         Port nanosecond-resolution times to UnixWare 2.1.2 and
113421         pedantic Solaris 2.6.
113423         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
113424         AC_STRUCT_ST_MTIM.
113425         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
113426         Generate name of ns member, instead of just 1 or undef.
113427         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
113429 1998-08-15  Jim Meyering  <meyering@ascend.com>
113431         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
113432         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
113433         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
113434         instead of jm_TYPE_SSIZE_T.
113436 1998-08-12  Jim Meyering  <meyering@ascend.com>
113438         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
113440 1998-08-02  Jim Meyering  <meyering@ascend.com>
113442         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
113443         in acconfig.h manually.
113445 1998-07-31  Paul Eggert  <eggert@twinsun.com>
113447         * m4/st_mtim.m4: New file.
113449 1998-07-28  Jim Meyering  <meyering@ascend.com>
113451         * m4/utimes.m4: Undef stat.
113453 1998-07-25  Jim Meyering  <meyering@ascend.com>
113455         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
113456         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
113458 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
113460         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
113461         uid and gid actually remain unchanged.
113463 1998-07-07  Jim Meyering  <meyering@ascend.com>
113465         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
113467 1998-07-04  Jim Meyering  <meyering@ascend.com>
113469         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
113470         to prove that this macro can be used in packages without regex.c.
113472 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
113474         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
113475         is to be used.
113477 1998-07-03  Jim Meyering  <meyering@ascend.com>
113479         * m4/gettext.m4: Add -lintl if it's found to be necessary.
113481         * m4/gettext.m4: New file -- from gettext-0.10.35.
113482         * m4/lcmessage.m4: Likewise.
113483         * m4/progtest.m4: Likewise.
113485         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
113486         * m4/jm-macros.m4: Require the new macro.
113488 1998-06-29  Jim Meyering  <meyering@ascend.com>
113490         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
113491         for the definition of NGROUPS (used in a system header included
113492         by sys/mount.h).
113494 1998-06-28  Jim Meyering  <meyering@ascend.com>
113496         * m4/ls-mntd-fs.m4: New file.
113497         * m4/fstypename.m4: New file.
113499         * m4/jm-macros.m4: Require the new macro.
113500         * m4/jm-glibc-io.m4: New file.
113502 1998-05-19  Jim Meyering  <meyering@ascend.com>
113504         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
113505         * m4/lchown.m4: New file.
113507         * m4/Makefile.am.in: New file.
113508         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
113510 1998-05-14  Jim Meyering  <meyering@ascend.com>
113512         * m4/Makefile.am (EXTRA_DIST): Add them.
113513         * m4/jm-macros.m4: New file.
113514         * m4/utimbuf.m4: New file.
113516 1998-05-12  Jim Meyering  <meyering@ascend.com>
113518         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
113520 1998-05-11  Jim Meyering  <meyering@ascend.com>
113522         * m4/isc-posix.m4: New file.
113524 1998-05-10  Jim Meyering  <meyering@ascend.com>
113526         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
113528 1998-05-09  Jim Meyering  <meyering@ascend.com>
113530         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
113531         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
113532         with automake.
113534         * m4/ssize_t.m4: New file.
113535         * m4/mktime.m4: Remove file -- the new automake has this now.
113537 1998-04-26  Jim Meyering  <meyering@ascend.com>
113539         * m4/assert.m4: New file.
113540         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
113542 1998-04-05  Jim Meyering  <meyering@ascend.com>
113544         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
113545         (jm_PREREQ): Use it here.
113547 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
113549         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
113550         in acconfig.h.
113552 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
113554         * m4/prereq.m4: New file.
113555         * m4/error.m4: New file.
113556         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
113558 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
113560         * m4/getline.m4: Don't set am_cv_func_working_getline before the
113561         cache-check for the same variable -- that defeated the purpose of
113562         the test; the test program was never run.  This was a problem only
113563         on systems with losing getline functions -- HP-UX 10.20 is one.
113564         Reported by Bjorn Helgaas.
113566 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
113568         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
113570 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
113572         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
113574         * m4/const.m4: New file.  Use an initializer in this declaration
113575         typedef int charset[2]; const charset x;
113576         Reported by Bob Glickstein.
113578 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
113580         * m4/chown.m4: Fix reversed types on -1 args to chown.
113581         From Kaveh Ghazi.
113583 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
113585         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
113586         Add lseek and memchr.
113588         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
113589         T.E.Dickey <dickey@clark.net> said that some older preprocessors
113590         have a 20-character limit on names.
113592 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
113594         * m4/inttypes_h.m4: New file.
113595         * m4/uintmax_t.m4: New file.
113596         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
113599         -----
113601         Local Variables:
113602         coding: utf-8
113603         End:
113605         Copyright (C) 1997-2017 Free Software Foundation, Inc.
113607         Copying and distribution of this file, with or without
113608         modification, are permitted provided the copyright notice
113609         and this notice are preserved.